lutaml-xsd 1.2.90 → 1.2.92
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:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 19a629abe9ac053899019037981e12e3c502bbbd17c0f6456787190dd52b7713
|
|
4
|
+
data.tar.gz: a403d2c8184c297216afffa96ff9f236e656f6027d1e8595f9afa794cb5362a6
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 76a79f3d5e6ff50291fe0d8e9f29cd53325ae38b7a8eb679ef758829cac8069bb6f3911f4cf2c7739522db3cfe80f6514107c88813316f849ab2cd4e49e5ab74
|
|
7
|
+
data.tar.gz: 4f44e60f03e3145daee06ec180e6a4fdbbd0d03618104641c19991989a8d028f23d5a2f4209adbfb05fa80cfb10dc0a6e10450e8debade2208debdb35e93dd49
|
data/TODO.conformance.md
CHANGED
|
@@ -238,6 +238,9 @@ corners.
|
|
|
238
238
|
| mixed="true" on a particle-less complexType rejects text (ctA033/ctA035) | 2 | leptris-rs#35 (sub 2) |
|
|
239
239
|
| xs:redefine composition compiles to an EMPTY content model (idF025/033/034, idG018/019/027/028) | 7 | leptris-rs#35 (sub 3) |
|
|
240
240
|
| Default-supplied content on an empty list-typed element (stZ072) | 1 | leptris-rs#35 (sub 4) |
|
|
241
|
+
| Fixed+empty ROOT-content legs (stE050, stE055) — survivors of the #25/#35 wave | 2 | leptris-rs#45 |
|
|
242
|
+
| Substitution member bound to a same-name local of another type (elemZ020) — survivor of #29 | 1 | leptris-rs#46 |
|
|
243
|
+
| Parsed schemas discard xmlns prefix maps — qualified QName resolution impossible (particlesQ032 class) | 1+ | lutaml-model#1131 |
|
|
241
244
|
| Fixed + empty ATTRIBUTE values still rejected — the #25 attribute leg (addB104, attO006) | 2 | leptris-rs#36 |
|
|
242
245
|
| Content model enforced on NILLED elements (QFE1700g2, particlesIa002) | 2 | leptris-rs#26 |
|
|
243
246
|
| dateTime enumeration rejects timezone-equal forms (dateTime_enumeration005a/b) | 2 | leptris-rs#27 |
|
|
@@ -512,6 +515,19 @@ tuple keys, node-set field violations and absent-field rows handled, cross-eleme
|
|
|
512
515
|
checks bind the no-ns int ct-A to the ns-b boolean children —
|
|
513
516
|
'true' vs xsd:int — the per-child type plumbing under hint
|
|
514
517
|
layering), full type-redefine body semantics.
|
|
518
|
+
- RIDE-407 PIN-BACK (2026-11-05): the leptris 1.9.407.0 + moxml
|
|
519
|
+
0.6.3 + lutaml-model 0.8.166 train carried fixes (the FULL #45
|
|
520
|
+
stE legs, the #522 attgC four + attgD mostly + attJ018 +
|
|
521
|
+
schF1/P2, stE065/066/096) AND a WHOLESALE 407 regex regression:
|
|
522
|
+
~177 cases — the ENTIRE Unicode-block escape family (~80
|
|
523
|
+
\p{Is...} per-block tests) plus the reL/reP/reQ/reR/reS/reT
|
|
524
|
+
series — filed leptris-rs#47; moxml 0.6.3 regressed 5 attribute
|
|
525
|
+
cases (addB059/196c/197c, attO009/011) — filed moxml#529. THE
|
|
526
|
+
STACK IS PINNED BACK to the known-good 1.9.406.0/0.6.2/0.8.161
|
|
527
|
+
(98.28% restored, zero regressions vs the 406 baseline). The
|
|
528
|
+
407 wins ride again when #47 and #529 land. NET: no score
|
|
529
|
+
change; the pin protects the register.
|
|
530
|
+
|
|
515
531
|
- SIMPLE-TYPE-CHILDREN ROUND (2026-11-05, third attempt — the first
|
|
516
532
|
two regressed 15 at scale): +1 DataTypes (dtZ86723; suite
|
|
517
533
|
4613->4614 = 98.25%, zero regressions, rspec green). A simple
|
|
@@ -170,7 +170,18 @@ module Lutaml
|
|
|
170
170
|
schema = Lutaml::Xml::Schema::Xsd.parse(
|
|
171
171
|
File.read(kase.schema_path), location: kase.schema_path
|
|
172
172
|
)
|
|
173
|
-
|
|
173
|
+
# Location registration (moxml#522): the engine lane's
|
|
174
|
+
# compile consults the schema's file path — without it
|
|
175
|
+
# the facade cannot resolve the instance's
|
|
176
|
+
# xsi:schemaLocation hint documents, and strict admission
|
|
177
|
+
# answers against the head unit alone. The path goes in
|
|
178
|
+
# the LOCATIONS table (second argument), never the
|
|
179
|
+
# namespace table: a path key in all_schemas re-indexes
|
|
180
|
+
# the schema and flips substitution-group verdicts.
|
|
181
|
+
Repository.new(
|
|
182
|
+
{ schema.target_namespace.to_s => schema },
|
|
183
|
+
{ kase.schema_path => schema },
|
|
184
|
+
)
|
|
174
185
|
end
|
|
175
186
|
end
|
|
176
187
|
end
|
|
@@ -58,6 +58,13 @@ module Lutaml
|
|
|
58
58
|
# the lenient unresolvable path (idF/idG/idH class).
|
|
59
59
|
@redefined_targets = []
|
|
60
60
|
@redefined_body_names = []
|
|
61
|
+
# Redefine SIMPLE-type bodies: the body is the effective type
|
|
62
|
+
# for every reference to the name (§4.2.2 — redefine modifies
|
|
63
|
+
# the schema as a whole, including target-document
|
|
64
|
+
# components; stZ033: the target doc's own b2 carries the
|
|
65
|
+
# redefined enumeration). The facet walk never recurses into
|
|
66
|
+
# named bases, so the body's base reference terminates here.
|
|
67
|
+
@redefined_simple_bodies = {}
|
|
61
68
|
@elements = index_elements
|
|
62
69
|
end
|
|
63
70
|
|
|
@@ -212,6 +219,11 @@ module Lutaml
|
|
|
212
219
|
def resolve_named_type(local_name, owner_ns = nil)
|
|
213
220
|
return nil if local_name.nil? || local_name.empty?
|
|
214
221
|
|
|
222
|
+
# A redefine SIMPLE-type body is the effective type for every
|
|
223
|
+
# reference to the name.
|
|
224
|
+
body = @redefined_simple_bodies[local_name]
|
|
225
|
+
return body if body
|
|
226
|
+
|
|
215
227
|
list = named_type_candidates(local_name)
|
|
216
228
|
return nil if list.empty?
|
|
217
229
|
# A nil owner means the referencing declaration lives in NO
|
|
@@ -696,7 +708,13 @@ module Lutaml
|
|
|
696
708
|
end
|
|
697
709
|
Array(red.simple_type).each do |body|
|
|
698
710
|
name = body.name.to_s
|
|
699
|
-
|
|
711
|
+
next if name.empty?
|
|
712
|
+
|
|
713
|
+
@redefined_body_names << name
|
|
714
|
+
# The body IS the effective type (§4.2.2): every reference
|
|
715
|
+
# to the name — including the target document's own — sees
|
|
716
|
+
# the redefined facets.
|
|
717
|
+
@redefined_simple_bodies[name] = body
|
|
700
718
|
end
|
|
701
719
|
Array(red.attribute_group).each do |group|
|
|
702
720
|
name = group.name.to_s
|
data/lib/lutaml/xsd/version.rb
CHANGED