[
Lists Home |
Date Index |
Thread Index
]
Hi Len,
Normally, min/maxOccurs are allowed on the choice element. Those 2 choice
groups are invalid because they each appear as the child of a "group"
element. XML Schema does not allow min/maxOccurs on the children of
"group". Instead, you put min/maxOccurs on the _reference_ to the group, as
in:
<group ref="xxx" minOccurs="0" maxOccurs="6"/>
Hope that helps,
Priscilla
-----------------------------------------------------
Priscilla Walmsley priscilla@walmsley.com
Author, Definitive XML Schema (Prentice Hall PTR)
-----------------------------------------------------
> -----Original Message-----
> From: Bullard, Claude L (Len) [mailto:clbullar@ingr.com]
> Sent: Monday, November 24, 2003 3:23 PM
> To: xml-dev@lists.xml.org
> Subject: [xml-dev] XML Schema Question
>
> A work item. I am looking into some issues
> with the X3D draft XML Schema. I am using
> the W3C online validator. The definition of
> the choice element type in the official specification
> and the Wrox XML Schemas book appear to conflict.
> Please, would someone confirm or deny the following.
>
> We are assuming that the W3C validator at
> http://www.w3.org/2001/03/webdata/xsv
> is the gold standard (not quite but really the reference
> implementation):
>
> Using that implementation, I get the following:
>
> http://www.web3d.org/specifications/x3d-3.0.xsd:3200:3: Invalid per
> cvc-complex-type.1.3: undeclared attribute {None}:minOccurs
>
> http://www.web3d.org/specifications/x3d-3.0.xsd:3221:3: Invalid per
> cvc-complex-type.1.3: undeclared attribute {None}:minOccurs
>
> http://www.web3d.org/specifications/x3d-3.0.xsd:3221:3: Invalid per
> cvc-complex-type.1.3: undeclared attribute {None}:maxOccurs
>
> So, http://www.w3.org/TR/xmlschema-1/#normative-schemaSchema
>
> <xs:complexType name="simpleExplicitGroup">
> <xs:complexContent>
> <xs:restriction base="xs:explicitGroup">
> <xs:sequence>
> <xs:element ref="xs:annotation" minOccurs="0"/>
> <xs:group ref="xs:nestedParticle" minOccurs="0"
> maxOccurs="unbounded"/>
> </xs:sequence>
> <xs:attribute name="minOccurs" use="prohibited"/><!--
> Can't have one -->
> <xs:attribute name="maxOccurs" use="prohibited"/><!--
> Can't have one -->
> </xs:restriction>
> </xs:complexContent>
> </xs:complexType>
>
> so this
>
> <xsd:choice minOccurs="0">
> <xsd:element ref="AudioClip"/>
> <xsd:element ref="MovieTexture"/>
> <xsd:element ref="ProtoInstance"/>
> </xsd:choice>
>
> and this
>
> <xsd:choice minOccurs="0" maxOccurs="6">
> <xsd:element ref="ImageTexture"/>
> <xsd:element ref="MovieTexture"/>
> <xsd:element ref="MultiTexture"/>
> <xsd:element ref="PixelTexture"/>
> <xsd:element ref="ProtoInstance"/>
> </xsd:choice>
>
> are invalid, yes?
>
> len
>
> -----------------------------------------------------------------
> The xml-dev list is sponsored by XML.org <http://www.xml.org>, an
> initiative of OASIS <http://www.oasis-open.org>
>
> The list archives are at http://lists.xml.org/archives/xml-dev/
>
> To subscribe or unsubscribe from this list use the subscription
> manager: <http://lists.xml.org/ob/adm.pl>
>
>
|