lutaml-xsd 1.2.106 → 1.2.107

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: 642c768f801446e5fb51224ebf418eeaeef08f3e0dd8c4da89b378318eac0d98
4
- data.tar.gz: cfa8d5e55aec2be1f91e73745c22d7f7afe138471c895eadd8582457528eb79c
3
+ metadata.gz: b843055f187b9adc7ae34af1339b816cb4b12ed2344a8f382834e71ef35a5b10
4
+ data.tar.gz: 44f4c02f0f34551654141814cd66a6277f20798bde5ab41505af0d305b682e93
5
5
  SHA512:
6
- metadata.gz: 6f05f2bfa287e9df3c90e358945483daaaa560b3a2bcb65c415879d29f65de6064ef8ba1d0340040e0cdf83ea7020663cbd2591e598ee2f8be2212e31df6ff60
7
- data.tar.gz: fab7a21898846f6a0695506e26b1d980bf58b8348b1f758070e132c7591b5b2fa4ca3eba1ef3520576bfe3110e1fcd0f464abace93ed7d9255123fd1dc6d1bfe
6
+ metadata.gz: 01dbddc2fa3db632db3b459bc999405304d58e1fc9bce88b634dd072e7f2f04b902e4c20d2ba38669ba759b98d190f060522d44ce155424b5443d2616d8125c0
7
+ data.tar.gz: 64fbb3c90b06aa7cf43b921451377f8955c726f9c1ed600bfdf42cae73e994cfb1dd9c68dc279733be0e640d2dcc8f4d03386d457e4711ddcb84840b5adde6b1
data/TODO.conformance.md CHANGED
@@ -515,6 +515,26 @@ tuple keys, node-set field violations and absent-field rows handled, cross-eleme
515
515
  checks bind the no-ns int ct-A to the ns-b boolean children —
516
516
  'true' vs xsd:int — the per-child type plumbing under hint
517
517
  layering), full type-redefine body semantics.
518
+ - PARENT-CONTEXT ROUND F (2026-11-09): +1 Element (QFE1700c1;
519
+ suite 4638->4639 = 98.79%, pending measure confirm). THE
520
+ SKIP-SUPPRESSION FOLLOWS THE MATCHER'S DETERMINISTIC ASSIGNMENT:
521
+ the NFA records the leftmost assignment (earliest compiled
522
+ accepting transition per child, occurrence bounds included — the
523
+ graph structure encodes them, so a 1..1 skip stops claiming after
524
+ its single consumption and a later element particle claims the
525
+ next match). The content rule publishes the claims through the
526
+ shared collector (both the native-handled and the matcher paths),
527
+ keyed by the child's STABLE NATIVE node (moxml wrappers are not
528
+ identity-stable — and the claims walk itself must run on the SAME
529
+ wrapper objects the match memo keyed); the suppression consult
530
+ assesses claimed-by-declaration children. QFE1700c1: the ref
531
+ claims the second e2, whose nilled-with-content violation fires.
532
+ Debug trail (for the record): three identity mismatches stacked —
533
+ wrapper-vs-raw keys at publication, wrapper-vs-native at consult,
534
+ and the greedy walk receiving raw nodes while the memo keyed
535
+ wrappers. PARKED: addB188 (ComplexType-capability audit),
536
+ schD10 (chameleon form-default owner decision).
537
+
518
538
  - RIDE-407 PIN-BACK (2026-11-05): the leptris 1.9.407.0 + moxml
519
539
  - PARENT-CONTEXT ROUND E (2026-11-09): +2 (Schema schA1,
520
540
  Particles particlesA002; suite 4636->4638 = 98.76%, zero
@@ -588,15 +588,16 @@ module Lutaml
588
588
  end
589
589
 
590
590
  # The ordered same-named inline particles of the parent's
591
- # content model — the POSITIONAL binding for duplicate
592
- # declarations (isDefault079: two regvalueop locals with
593
- # different fixed values; the second child binds to the second
594
- # particle). Returns [] unless the name appears MORE THAN ONCE
595
- # and every particle is INDEXED (attempt-3's starvation: raw
596
- # particles carry none of the form/ns metadata the rules
597
- # assume). The walk keeps its own cycle guard — the resolver's
598
- # each_particle_element memoizes visited nodes on the instance
599
- # and would poison repeated walks.
591
+ # content model — the CHILD→PARTICLE binding. The parent model
592
+ # binds every named child (schA1/D10: same local names across
593
+ # namespaces resolve through the OWNING parent's type, not the
594
+ # name+namespace guess; isDefault079: duplicate regvalueop
595
+ # locals bind positionally). Returns [] unless EVERY particle
596
+ # is indexed (attempt-3's starvation: raw particles carry none
597
+ # of the form/ns metadata the rules assume). The walk keeps its
598
+ # own cycle guard — the resolver's each_particle_element
599
+ # memoizes visited nodes on the instance and would poison
600
+ # repeated walks.
600
601
  #
601
602
  # @param parent_declaration [Lutaml::Xml::Schema::Xsd::Element, nil]
602
603
  # @param local_name [String]
@@ -609,7 +610,6 @@ module Lutaml
609
610
  particles = []
610
611
  collect_named_particles(particle_for_type(type), local_name,
611
612
  particles, {}.compare_by_identity, 0)
612
- return [] if particles.length < 2
613
613
  return [] unless particles.all? { |p| @namespaces.key?(p) }
614
614
 
615
615
  particles
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Lutaml
4
4
  module Xsd
5
- VERSION = "1.2.106"
5
+ VERSION = "1.2.107"
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lutaml-xsd
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.106
4
+ version: 1.2.107
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ribose Inc.