IDREF type attribute
File: Data.xml <?xml version="1.0" standalone="yes"?> <statement xmlns="http://www.java2s.com/statement" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.java2s.com/statement Schema.xsd"> <customer name="name 1" number="CUST123" type="VIP"/> <orders count="2"> <order number="ORD100" owner="CUST123" total="500.00"/> <order number="ORD101" owner="CUST123" total="150.00"/> </orders> </statement> File: Schema.xsd <?xml version="1.0" ?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.java2s.com/statement" xmlns="http://www.java2s.com/statement"> <xs:element name="statement"> <xs:complexType> <xs:sequence> <xs:element ref="customer" /> <xs:element ref="orders" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="customer"> <xs:complexType> <xs:sequence /> <xs:attribute name="number" type="xs:ID" /> <xs:attribute name="name" type="xs:string" /> <xs:attribute name="type" type="xs:string" use="optional" default="normal" /> </xs:complexType> </xs:element> <xs:element name="orders"> <xs:complexType> <xs:sequence> <xs:element ref="order" maxOccurs="unbounded" /> </xs:sequence> <xs:attribute name="count" type="xs:nonNegativeInteger" /> </xs:complexType> </xs:element> <xs:element name="order"> <xs:complexType> <xs:sequence> </xs:sequence> <xs:attribute name="number" type="xs:ID" /> <xs:attribute name="owner" type="xs:IDREF" /> <xs:attribute name="total" type="xs:decimal" /> </xs:complexType> </xs:element> </xs:schema>