Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[repository schema] Group reference overriding upper limit #203

Open
mkudukin opened this issue Jun 5, 2024 · 2 comments · May be fixed by #230
Open

[repository schema] Group reference overriding upper limit #203

mkudukin opened this issue Jun 5, 2024 · 2 comments · May be fixed by #230
Assignees
Labels
ERRATA Errors and omissions, inconsistencies

Comments

@mkudukin
Copy link

mkudukin commented Jun 5, 2024

In Orchestra XSD version 1.1-RC2, we identified a problem with how repeating group references behave. According to the specification, a group reference should inherit the minimum (implMinOccurs) and maximum (implMaxOccurs) occurrences specified in the group definition:

Limits of the size of a particular instance of a repeating group may be overridden by setting implMinOccurs and implMaxOccurs attributes on the <groupRef> element.

However, the current version seems to always override the upper limit with the value set in the reference itself, contradicting the specification. The problem appears to be the default value defined in the implMaxOccurs attribute of groupRefType:

<xs:attribute name="implMaxOccurs" type="fixr:unboundedIntType" default="unbounded"/>

This behavior prevents users from defining the maximum occurrences (implMaxOccurs) only in the group definition. They must specify it in all references as well.

@kleihan kleihan added the bug label Aug 9, 2024
@kleihan kleihan added ERRATA Errors and omissions, inconsistencies bug and removed bug labels Aug 21, 2024
@patricklucas
Copy link
Contributor

It seems to me that the documented behavior, allowing the default to flow from the group definition rather than the ref, exists at a higher level than the XSD, in which case the default value should simply be removed from the implMaxOccurs attribute. @mkudukin do you concur?

@kleihan
Copy link
Member

kleihan commented Sep 9, 2024

@patricklucas I agree that there should be no default on the group reference level. The absence of information about the cardinality on the group reference level should cause the information from the group definition level to become valid. The attribute implMaxOccursis defined with the same default on the group definition level. It seems that it was forgotten to remove the default on the group reference level.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ERRATA Errors and omissions, inconsistencies
Projects
Status: In progress
3 participants