[
Lists Home |
Date Index |
Thread Index
]
> My question is this, in a Schema is it possible to have an element be
> required only if its parent element exists.
>
> For example in the code below if timeframetype exists then either
> earliestdate or latestdate would be required, 1 or the other but both are
> not required.
>
> <xs:complexType name="timeframeType">
> <xs:sequence>
> <xs:element ref="description"/>
> <xs:element ref="earliestdate" minOccurs="0"/>
> <xs:element ref="latestdate" minOccurs="0"/>
> </xs:sequence>
> </xs:complexType>
>
There are a lot of different ways you could do this, but here's a go:
<xs:complexType name="timeframeType">
<xs:sequence>
<xs:element ref="description"/>
<xs:choice>
<xs:element ref="earliestdate" minOccurs="0"/>
<xs:element ref="latestdate" minOccurs="0"/>
</xs:choice>
<xs:choice>
<xs:element ref="earliestdate" minOccurs="0"/>
</xs:choice>
<xs:choice>
<xs:element ref="latestdate" minOccurs="0"/>
</xs:choice>
</xs:sequence>
</xs:complexType>
you could refactor this into groups for easier reading...
-BKN
|