Different "default" values for different instances of same element

1 view
Skip to first unread message

Vikas

unread,
Mar 10, 2008, 7:14:55 PM3/10/08
to XML Schema
Can this be achieved using an XSD?

e.g.:

<collection>
<item></item> <!-- default to 10 -->
<item></item> <!-- default to 11 -->
<item></item> <!-- default to 12 -->
<collection>

should produce:
<collection>
<item>10</item>
<item>11</item>
<item>12</item>
<collection>

This is the solution I came up with:

<xsd:element minOccurs="0" maxOccurs="1" name="collection">
<xsd:complexType>
<xsd:sequence>
<xsd:element minOccurs="1" maxOccurs="1" default="10"
name="item" type="xsd:unsignedShort">
</xsd:element>
<xsd:element minOccurs="0" maxOccurs="1" default="11"
name="item" type="xsd:unsignedShort">
</xsd:element>
<xsd:element minOccurs="0" maxOccurs="1" default="12"
name="item" type="xsd:unsignedShort">
</xsd:element>
<xsd:element minOccurs="0" maxOccurs="1" default="13"
name="item" type="xsd:unsignedShort">
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>

This parses and validates fine with xerces but other validators (XML
notepad, Liquid XML) complain
upon validation of an XML document using this schema:
"Multiple definition of item causes the content model to become
ambiguous."

Any pointers/suggestions?

Thanks,
Vikas
Reply all
Reply to author
Forward
0 new messages