<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <xsd:element name="itemList" type="itemListType"> <xsd:unique name="itemAttr"> <xsd:selector xpath="item"/> <xsd:field xpath="@uniqueAttr"/> </xsd:unique> <xsd:key name="itemValueKey"> <xsd:selector xpath="item"/> <xsd:field xpath="."/> </xsd:key> <xsd:keyref name="itemKeyRef" refer="itemValueKey"> <xsd:selector xpath="itemRef"/> <xsd:field xpath="."/> </xsd:keyref> </xsd:element> <xsd:element name="item" type="itemType"/> <xsd:attribute name="uniqueAttr" type="xsd:string"/> <xsd:attribute name="unparsedEntityAttr" type="xsd:ENTITIES"/> <xsd:complexType name="itemListType"> <xsd:sequence> <xsd:element ref="item" maxOccurs="unbounded"/> <xsd:element name="itemRef" type="xsd:string" maxOccurs="unbounded"/> </xsd:sequence> </xsd:complexType> <xsd:complexType name="itemType"> <xsd:simpleContent> <xsd:extension base="xsd:string"> <xsd:attribute ref="uniqueAttr" use="required"/> </xsd:extension> </xsd:simpleContent> </xsd:complexType> </xsd:schema>