
I'd appreciate help figuring out why the schema below validates the following xml file even though it the id='3' is not unique. Regards, - Olumide --------------------------------------------------------- <?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"> <xs:element name="Item"> <xs:complexType> <xs:sequence maxOccurs="unbounded"> <xs:choice> <xs:element name="a"> <xs:complexType> <xs:attribute name="id" use="required"/> </xs:complexType> <xs:unique name="uniqueId-a"> <xs:selector xpath="*"/> <xs:field xpath="@id"/> </xs:unique> </xs:element> <xs:element name="b"> <xs:complexType> <xs:attribute name="id" use="required"/> </xs:complexType> <xs:unique name="uniqueId-b"> <xs:selector xpath="*"/> <xs:field xpath="@id"/> </xs:unique> </xs:element> </xs:choice> </xs:sequence> </xs:complexType> </xs:element> </xs:schema> ---------------------------------------------------- <?xml version="1.0" encoding="UTF-8"?> <Item> <a id="3"/> <!-- shared id --> <a id="2"/> <b id="3"/> <!-- shared id --> <a id="4"/> <b id="0"/> <b id="3"/> <!-- shared id --> </Item>