lutaml-xsd 1.2.93 → 1.2.94

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 6ad03adc4f701faa3d3c132f2704c5dc7e01033e7403750352156cbe7a2333a9
4
- data.tar.gz: b861d33acb72791876fee6e23ba03bc94a662d570b127056803a75de319a2a4a
3
+ metadata.gz: 81113f3b383bfa48715846b5c216add5e652c0c7b70e587d6182b95633b1a49f
4
+ data.tar.gz: ffea6cdeeed2c00c883dbc64b7e7f6edd614ee9553311ab552a765f853070726
5
5
  SHA512:
6
- metadata.gz: 1d64f1ba11d11333972f2cbdbe32c083d423effecefea95b3aca7b99200c0edc314a0861502129ec0a7f58c77a0e7e34474473f2600fd91e6314d25fb83c2949
7
- data.tar.gz: 3e1f6cfbda1193da0844c8e25c6579503c1ceab084acb5d00674e1682c344326167ff00e5f07881655c898a21fed46f9c0e316174a63d3f4491341085cf4126a
6
+ metadata.gz: 36438665084751f73c476788ce845587526c6f043233542aa214e73a60561b79d6a0b34fe637ace8978b0a4efccbfcbc597be31cc3de98418c6a8c5c0cbdcd40
7
+ data.tar.gz: 95f5077418bd7a008c394a9d559029ca7d7f31947b0be1ecb3dd09967bf6fe804375f87b26dca50b79b612d35049f7d4c401be9bb7c45a45a4aff918f0cb152e
data/TODO.conformance.md CHANGED
@@ -120,7 +120,7 @@ pinned commit) is measured via `rake conformance:w3c`:
120
120
 
121
121
  | mode | pass-rate |
122
122
  |---|---|
123
- | pipeline | 4614/4696 (98.25%) |
123
+ | pipeline | 4617/4696 (98.32%) |
124
124
 
125
125
  (2026-11-02, bundled-stack measurement with the escape,
126
126
  hint-following, pattern-alternative, identity-crash, engine-set,
@@ -144,7 +144,7 @@ lockfile refresh) → 4411 (93.9%) → 4430 (94.3%) → 4435 (94.4%) →
144
144
  → 4557 (97.0%) → 4565 (97.2%) → 4569 (97.3%) → 4562 (drift raw) →
145
145
  4563 (97.17%, ref-namespace round) → 4573 (97.38%, group-content
146
146
  round) → 4578 (97.49%, attribute-prohibition round) → 4585 (97.64%,
147
- multi-document round) → 4588 (97.7%, type-binding round) → 4592 (97.79%, model-161 ride) → 4611 (98.19%, engine-406 ride) → 4613 (98.23%, temporal-enumeration round) → 4614 (98.25%, simple-type-children round), +653 net over the 1.2.43 baseline. The escapes round (PR #197 — \d→\p{Nd},
147
+ multi-document round) → 4588 (97.7%, type-binding round) → 4592 (97.79%, model-161 ride) → 4611 (98.19%, engine-406 ride) → 4613 (98.23%, temporal-enumeration round) → 4614 (98.25%, simple-type-children round) → 4617 (98.32%, ic-ancestor-scope round), +656 net over the 1.2.43 baseline. The escapes round (PR #197 — \d→\p{Nd},
148
148
  \w/\W/\s to their XSD value spaces) collapses Regex 120→69;
149
149
  same-step pattern facets now behave as alternatives and
150
150
  whitespace-only text reaches the facets intact (PR #200), Regex
@@ -528,6 +528,21 @@ tuple keys, node-set field violations and absent-field rows handled, cross-eleme
528
528
  407 wins ride again when #47 and #529 land. NET: no score
529
529
  change; the pin protects the register.
530
530
 
531
+ - IC ANCESTOR-SCOPE ROUND (2026-11-05): +1 IC (idZ008; suite
532
+ 4614->4617 = 98.32% with the prefix-resolution and
533
+ temporal-enumeration riders on main, zero regressions, rspec
534
+ green). A keyref whose `refer` names a key declared on an
535
+ ANCESTOR element resolved against an empty table — the
536
+ collected-keys map reset per element (idZ008: the key KeyAAA on
537
+ A, the keyref QQQ on the descendant A2, selector "."). The map
538
+ now accumulates across the walk; instance document order
539
+ guarantees ancestors process before descendants. The other five
540
+ IC singletons (idK012, idZ010/011/012/015) have DIFFERENT roots
541
+ (cross-namespace keyrefs, IDREF defaults) — next rounds. NOTE:
542
+ the PREFIX-RESOLUTION round (+1, particlesQ032 via the 1131
543
+ xmlns-declarations retention in lutaml-model 0.8.167 — pinned)
544
+ is also on main; the score line carries both.
545
+
531
546
  - SIMPLE-TYPE-CHILDREN ROUND (2026-11-05, third attempt — the first
532
547
  two regressed 15 at scale): +1 DataTypes (dtZ86723; suite
533
548
  4613->4614 = 98.25%, zero regressions, rspec green). A simple
@@ -52,7 +52,12 @@ module Lutaml
52
52
  # schema's target namespace (the suite's single-namespace shapes).
53
53
  target_ns = repository&.target_namespace_for(schema_element).to_s
54
54
 
55
- collected = {}
55
+ # Key tables accumulate across the walk: a keyref whose
56
+ # `refer` names a key declared on an ANCESTOR resolves
57
+ # against the ancestor's rows (idZ008 — the key on A, the
58
+ # keyref on the descendant A2). Instance document order
59
+ # guarantees ancestors are processed before descendants.
60
+ collected = @collected_keys ||= {}
56
61
 
57
62
  Array(schema_element.key).each do |constraint|
58
63
  evaluated_constraints << constraint.name.to_s if constraint.name
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Lutaml
4
4
  module Xsd
5
- VERSION = "1.2.93"
5
+ VERSION = "1.2.94"
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lutaml-xsd
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.93
4
+ version: 1.2.94
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ribose Inc.
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2026-11-05 00:00:00.000000000 Z
11
+ date: 2026-11-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: liquid