Skip to content

Test: repeating group ref around a choice yields unbounded list members#60

Draft
veewee wants to merge 1 commit into
php-soap:mainfrom
veewee:tests/repeating-group-ref-choice-occurrences
Draft

Test: repeating group ref around a choice yields unbounded list members#60
veewee wants to merge 1 commit into
php-soap:mainfrom
veewee:tests/repeating-group-ref-choice-occurrences

Conversation

@veewee

@veewee veewee commented Jun 11, 2026

Copy link
Copy Markdown
Member

Adds an end-to-end regression test for a <group> referenced with maxOccurs="unbounded" around an <xs:choice> (the transfer.operation shape from real XZuFi/KRZN WSDLs). Both choice members must be read as optional, unbounded list elements on the referencing type:

> http://test-uri/:Message {
    ?string $transactionId
    array<int<0, max>, string> $delete
    array<int<0, max>, string> $write
  }

Blocked on

The fix lives in xsd-reader: goetas-webservices/xsd-reader#93 (Choice::getElements() propagates a repeating choice's occurrences onto its members). Until that is merged, released, and the goetas-webservices/xsd-reader constraint here is bumped, this test fails against the published dependency. Opened as a draft for that reason.

Covers transfer.operation-style schemas where a group referenced with
maxOccurs="unbounded" wraps a choice: both choice members must be read
as optional, unbounded list elements on the referencing type.

Depends on goetas-webservices/xsd-reader#93 (the Choice occurrence
propagation). Until that is released and the xsd-reader constraint is
bumped, this test fails against the published dependency.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant