<xs:element name="Directory"> <xs:complexType> <xs:sequence> <xs:element name="Person" maxOccurs="unbounded"> <xs:complexType> <xs:attribute name="Username" type="xs:string" use="required" /> <xs:attribute name="Age" type="xs:int" use="required" /> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> Then you could enforce a rule that forces usernames to be unique. You can do this using the Unique element:
<xs:element name="Directory"> <xs:complexType> <xs:sequence> <xs:element name="Person" maxOccurs="unbounded"> <xs:complexType> <xs:attribute name="Username" type="xs:string" use="required" /> <xs:attribute name="Age" type="xs:int" use="required" /> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> <xs:unique name="MyUserNameUniqueKey"> <xs:selector xpath="Person" /> <xs:field xpath="@Username" /> </xs:unique> </xs:element>
The selector and field pair specify the data that must be unique, the XPath expressions are relative to the parent element (Directory). Common Mistakes: If the schema declares a targetnamespace then the XPath expressions must be fully qualified: <xs:schema xmlns:mstns="http://tempuri.org/XMLSchema1.xsd" elementFormDefault="qualified" targetNamespace="http://tempuri.org/XMLSchema1.xsd" xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="Directory"> <xs:complexType> <xs:sequence> <xs:element name="Person" maxOccurs="unbounded"> <xs:complexType> <xs:attribute name="Username" type="xs:string" use="required" /> <xs:attribute name="Age" type="xs:int" use="required" /> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> <xs:unique name="MyUserNameUniqueKey"> <xs:selector xpath="mstns:Person" /> <xs:field xpath="@Username" /> </xs:unique> </xs:element> </xs:schema>
Trouble logging in? Simply enter your email address OR username in order to reset your password.
For faster and more reliable delivery, add support@liquid-technologies.com to your trusted senders list in your email software.