File: Data.xml
<?xml version="1.0" standalone="yes"?>
<statement
xmlns="http://www.wbex.ru/statement"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.wbex.ru/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.wbex.ru/statement"
xmlns="http://www.wbex.ru/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>