lutaml-xsd 1.2.76 → 1.2.77
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: 9348b8456689993378705b9289ce593db195f7440d77aeb6aaf5d5dda095cc68
|
|
4
|
+
data.tar.gz: 958720fe60cf140d78ebe3891069d4e0f64ffa37f37290c24f236499ae8dc187
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 9e883e13a5538b8d26493881aef3512513a12952fcc08f464f16ce77e2cde3142bfe082b85700a9b6545a6e2e4bf546d7449408a9d3e20af5175541622ab202b
|
|
7
|
+
data.tar.gz: 31990577df015678c7986199fda9ab5e751be44925b5bcf6a7eaa198e32eb884f6ad98920873070ed4f70d2b1f1a0d41084769911bc1f0f9c9e2450ce05e3e89
|
data/Gemfile.lock
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: .
|
|
3
3
|
specs:
|
|
4
|
-
lutaml-xsd (1.2.
|
|
4
|
+
lutaml-xsd (1.2.77)
|
|
5
5
|
liquid (>= 4.0, < 6.0)
|
|
6
6
|
lutaml-model (~> 0.8.123)
|
|
7
7
|
lutaml-store (~> 0.3)
|
|
@@ -264,7 +264,7 @@ CHECKSUMS
|
|
|
264
264
|
liquid (5.14.0) sha256=e1020c2b2ee58c7a4d3bfdc7a331537bd27a783353748bff0bf27c6ac0c17065
|
|
265
265
|
lutaml-model (0.8.155) sha256=3d90f2fb4fdf41a42d4a05b62b3f6644b433070b82291a9371deaa8e68a1e02d
|
|
266
266
|
lutaml-store (0.3.2) sha256=9c455dbab32b4c635c48a27213f6f56fda191731c4574eb6187184ba0588a672
|
|
267
|
-
lutaml-xsd (1.2.
|
|
267
|
+
lutaml-xsd (1.2.77)
|
|
268
268
|
memo_wise (1.13.0) sha256=30220c38c4cef410849bc73553c58664dc2c91c6379e4a1df22aea02358b716b
|
|
269
269
|
moxml (0.6.1) sha256=5b7677258bbad372f0725a421f8adeae37b65d6f7871da2747e2c1906cdac7ea
|
|
270
270
|
nokogiri (1.19.4-aarch64-linux-gnu) sha256=1269fb644a6de405057a53dd5c762b1209b43ca7424f839454d3dbc677c31a8f
|
data/TODO.conformance.md
CHANGED
|
@@ -120,21 +120,21 @@ pinned commit) is measured via `rake conformance:w3c`:
|
|
|
120
120
|
|
|
121
121
|
| mode | pass-rate |
|
|
122
122
|
|---|---|
|
|
123
|
-
| pipeline |
|
|
123
|
+
| pipeline | 4557/4696 (97.0%) |
|
|
124
124
|
|
|
125
125
|
(2026-11-02, bundled-stack measurement on main with the escape,
|
|
126
126
|
hint-following, pattern-alternative, identity-crash, engine-set,
|
|
127
127
|
engine-refresh, IC value-space, IC field-resolution, facade-silence,
|
|
128
|
-
regex-semantics, redefine-refresh, gmonth-refresh, digit-vintage
|
|
129
|
-
stgh-refresh rounds; moxml 0.6.1 (gemspec floor
|
|
130
|
-
owner — the 0.6 line drops the Opal surface;
|
|
131
|
-
conformance-neutral), lutaml-model 0.8.155, engine leptris
|
|
128
|
+
regex-semantics, redefine-refresh, gmonth-refresh, digit-vintage,
|
|
129
|
+
stgh-refresh and group-ref rounds; moxml 0.6.1 (gemspec floor
|
|
130
|
+
`~> 0.6.0` per the owner — the 0.6 line drops the Opal surface;
|
|
131
|
+
measured conformance-neutral), lutaml-model 0.8.155, engine leptris
|
|
132
132
|
1.9.401.0.) Same-stack comparison: 1.2.43 baseline 3961 (84.3%) →
|
|
133
133
|
4039 (86.0%) → 4090 (87.1%) → 4360 (92.8%, lockfile refresh) → 4411
|
|
134
134
|
(93.9%) → 4430 (94.3%) → 4435 (94.4%) → 4436 (94.5%) → 4439 (94.5%)
|
|
135
135
|
→ 4454 (94.9%) → 4495 (95.7%) → 4524 (96.3%) → 4534 (96.6%) → 4540
|
|
136
|
-
(96.7%) → 4542 (96.7%) → 4546 (96.8%), +
|
|
137
|
-
baseline. The escapes round (PR #197 — \d→\p{Nd},
|
|
136
|
+
(96.7%) → 4542 (96.7%) → 4546 (96.8%) → 4557 (97.0%), +596 net over
|
|
137
|
+
the 1.2.43 baseline. The escapes round (PR #197 — \d→\p{Nd},
|
|
138
138
|
\w/\W/\s to their XSD value spaces) collapses Regex 120→69;
|
|
139
139
|
same-step pattern facets now behave as alternatives and
|
|
140
140
|
whitespace-only text reaches the facets intact (PR #200), Regex
|
|
@@ -242,7 +242,8 @@ moxml 0.5.170 + lutaml-model 0.8.147) → 93.9% (escape + hint rounds)
|
|
|
242
242
|
4439) → 94.9% (IC field-resolution round PR #206, 4454) → 95.7%
|
|
243
243
|
(facade-silence dep refresh, moxml 0.5.177, 4495) → 96.3% (regex
|
|
244
244
|
semantics round PR #208, 4524) → 96.6% (redefine refresh, leptris
|
|
245
|
-
1.9.396/1.9.397, 4534).
|
|
245
|
+
1.9.396/1.9.397, 4534) → 96.8% (stG/stH refresh, leptris 1.9.401,
|
|
246
|
+
4546) → 97.0% (group-ref round PR #217, 4557). Failure
|
|
246
247
|
concentration (the work queue, largest first):
|
|
247
248
|
|
|
248
249
|
- `Regex_w3c` (131) — decomposed by error source (2026-10-25): the
|
|
@@ -344,6 +345,19 @@ tuple keys, node-set field violations and absent-field rows handled, cross-eleme
|
|
|
344
345
|
(stG010/012, stH005/007); SimpleType 10→6; suite 4546/4696
|
|
345
346
|
(96.8%), zero regressions. #1936 remainder: reZ char-reference
|
|
346
347
|
shapes, reT51 \D vintage; plus moxml#510 addB116 straggler.
|
|
348
|
+
- GROUP-REF ROUND (2026-11-02, PR #217): +11 Group cases (19→8,
|
|
349
|
+
suite 4557/4696 = 97.0%). TWO Ruby defects: (a) `particle_for_type`
|
|
350
|
+
read sequence/choice/all from extension and restriction bodies but
|
|
351
|
+
NOT `group` — a derivation body that is a bare group reference
|
|
352
|
+
compiled to NO content model and the walk enforced nothing
|
|
353
|
+
(groupG/groupH class); (b) `composite_capacity` decided sum-vs-max
|
|
354
|
+
from the PARTICLE's class — for a Group ref it always took the max
|
|
355
|
+
branch even when the group's declaration is a SEQUENCE whose
|
|
356
|
+
members' capacities must ADD (groupH002: one branch of x1+x2 was
|
|
357
|
+
counted as two choice occurrences). Neighbors verified identical;
|
|
358
|
+
zero regressions. Group remainder: groupB009/010 + groupO004
|
|
359
|
+
(false-reject class), groupH008/J003/006/008/L008 under-detections
|
|
360
|
+
(choice-of-group capacity depth).
|
|
347
361
|
- REGEX SEMANTICS ROUND (2026-10-31, PR #208): \w/\W now carry their
|
|
348
362
|
Appendix F complements (\w = [^\p{P}\p{Z}\p{C}], class interiors
|
|
349
363
|
via the exact positive partition L/M/N/S), \I/\C complements added
|
|
@@ -501,24 +501,36 @@ module Lutaml
|
|
|
501
501
|
end
|
|
502
502
|
|
|
503
503
|
def composite_capacity(particle, repository, depth)
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
504
|
+
# The CONTAINER's kind decides aggregation: a group whose
|
|
505
|
+
# declaration is a sequence ADDS its members' capacities, a
|
|
506
|
+
# choice takes the largest — deciding from the ref particle
|
|
507
|
+
# itself always maxed (groupH class).
|
|
508
|
+
children, aggregate =
|
|
509
|
+
if particle.is_a?(Lutaml::Xml::Schema::Xsd::Group)
|
|
510
|
+
container = expand_group_container(particle,
|
|
511
|
+
repository).first
|
|
512
|
+
if container
|
|
513
|
+
[choice_alternatives(container),
|
|
514
|
+
container_choice?(container) ? :max : :sum]
|
|
515
|
+
else
|
|
516
|
+
[[], :max]
|
|
517
|
+
end
|
|
518
|
+
else
|
|
519
|
+
[choice_alternatives(particle),
|
|
520
|
+
particle.is_a?(Lutaml::Xsd::Sequence) ? :sum : :max]
|
|
521
|
+
end
|
|
512
522
|
caps = children.map do |child|
|
|
513
523
|
branch_capacity(child, repository, depth + 1)
|
|
514
524
|
end
|
|
515
525
|
return :unbounded if caps.include?(:unbounded)
|
|
516
526
|
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
527
|
+
aggregate == :sum ? caps.sum : (caps.max || 0)
|
|
528
|
+
end
|
|
529
|
+
|
|
530
|
+
# @return [Boolean]
|
|
531
|
+
def container_choice?(container)
|
|
532
|
+
container.is_a?(Lutaml::Xsd::Choice) ||
|
|
533
|
+
container.is_a?(Lutaml::Xml::Schema::Xsd::Choice)
|
|
522
534
|
end
|
|
523
535
|
|
|
524
536
|
# Choice alternatives are particles of any kind.
|
|
@@ -428,8 +428,12 @@ module Lutaml
|
|
|
428
428
|
nil
|
|
429
429
|
when Lutaml::Xml::Schema::Xsd::ExtensionComplexContent,
|
|
430
430
|
Lutaml::Xml::Schema::Xsd::RestrictionComplexContent
|
|
431
|
+
# A derivation body may be a bare group reference — the
|
|
432
|
+
# ref's own minOccurs/maxOccurs govern the expanded model
|
|
433
|
+
# (groupG/groupH class).
|
|
431
434
|
Array(type.sequence).first ||
|
|
432
|
-
Array(type.choice).first || Array(type.all).first
|
|
435
|
+
Array(type.choice).first || Array(type.all).first ||
|
|
436
|
+
Array(type.group).first
|
|
433
437
|
end
|
|
434
438
|
end
|
|
435
439
|
|
data/lib/lutaml/xsd/version.rb
CHANGED
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.
|
|
4
|
+
version: 1.2.77
|
|
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-
|
|
11
|
+
date: 2026-11-02 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: liquid
|