Как в xsd сделать взаимно исключающие атрибуты?
В
http://www.w3.org/2000/10/XMLSchema работала конструкция такого вида:
<xs:element name="Id">
<xs:complexType>
<xs:choice>
<xs:complexType>
<xs:attribute name="Name" type="xs:string"/>
</xs:complexType>
<xs:element name="ISBN" type="ISBN-type" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="" type="xs:string" minOccurs="0"/>
<xs:element name="" type="xs:string" minOccurs="0"/>
<xs:element name="®¤" type="xs:string" minOccurs="0"/>
</xs:choice>
</xs:complexType>
</xs:element>
В
http://www.w3.org/2001/XMLSchema, оказывается, такое в принципе не работает и атрибут вообще нельзя сделать предметом выбора (xs:choice) — в элементе xs:choice теперь недопустимо использование элемента xs:complexType.
Возможно как нибудь сделать два взаимно исключающих атрибута?