- From: <bugzilla@wiggum.w3.org>
- Date: Fri, 09 Sep 2005 15:12:09 +0000
- To: www-xml-schema-comments@w3.org
- Cc:
http://www.w3.org/Bugs/Public/show_bug.cgi?id=2111
Summary: R-122: Issue re: restricting substitution groups
Product: XML Schema
Version: 1.0
Platform: All
OS/Version: All
Status: NEW
Severity: normal
Priority: P2
Component: XSD Part 1: Structures
AssignedTo: ht@w3.org
ReportedBy: sandygao@ca.ibm.com
QAContact: www-xml-schema-comments@w3.org
Can substitution groups be restricted? If for instance I have:
<xs:element name="head"/>
<xs:element name="a" substitutionGroup="head"/>
<xs:element name="b" substitutionGroup="head"/>
<xs:element name="c" substitutionGroup="head"/>
and:
<xs:complexType name="base">
<xs:sequence>
<xs:element ref="head"/>
<xs:sequence>
<xs:complexType>
is
<xs:complexType name="derived">
<xs:complexContent>
<xs:restriction base="base">
<xs:sequence>
<xs:choice>
<xs:element ref="a"/>
<xs:element ref="b"/>
<xs:choice>
<xs:sequence>
<xs:restriction>
<xs:complexContent>
<xs:complexType>
a valid restriction?
Since substitution groups are treated as choices for particle restriction
checking, the case that applies here is RecurseLax. However, the rules for
RecurseLax state:
"For a choice group particle to be a valid restriction of another choice group
particle all of the following must be true:
1 R's occurrence range is a valid restriction of B's occurrence range as
defined by Occurrence Range OK (3.9.6);
2 There is a complete order-preserving functional mapping from the particles in
the {particles} of R to the particles in the {particles} of B such that each
particle in the {particles} of R is a valid restriction of the particle in the
{particles} of B it maps to as defined by Particle Valid (Restriction) (3.9.6).
NOTE: Although the validation semantics of a choice group does not depend on
the order of its particles, derived choice groups are required to match the
order of their base in order to simplify checking that the derivation is OK."
The question should then probably be which is the order of the elements of a
substitution group when they are mapped to a xs:choice?
See: http://lists.w3.org/Archives/Public/xmlschema-dev/2001Dec/0080.html
Received on Friday, 9 September 2005 15:12:46 UTC