Mega Code Archive

 
Categories / XML / XML Schema
 

Global attibute definitions

File: Data.xml <?xml version="1.0" standalone="yes"?> <statement   xmlns="http://www.rntsoft.com/statement"  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  xsi:schemaLocation="http://www.rntsoft.com/statement Schema.xsd">                <customer name="name 1" number="CUST123" type="VIP"/>    <orders count="2">       <order number="ORD100" owner="CUST123" total="500.00">          <items>             <item quantity="5" price="100">               <description>item 1</description>             </item>             <item quantity="2" price="50">               <description>item 2</description>             </item>          </items>       </order>       <order number="ORD101" owner="CUST123" total="150.00">          <items>             <item quantity="6" price="25">               <description>item 3</description>             </item>          </items>       </order>    </orders> </statement> File: Schema.xsd <?xml version="1.0" ?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"   targetNamespace="http://www.rntsoft.com/statement"   xmlns="http://www.rntsoft.com/statement">     <xs:attributeGroup name="CustAttrs">       <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:attributeGroup >   <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:attributeGroup ref="CustAttrs" />           </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:element ref="items" />       </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:element name="items">     <xs:complexType>       <xs:sequence>         <xs:element ref="item"           maxOccurs="unbounded" />       </xs:sequence>     </xs:complexType>   </xs:element>   <xs:element name="item">     <xs:complexType>       <xs:sequence>         <xs:element ref="description" />       </xs:sequence>       <xs:attribute name="quantity" type="xs:nonNegativeInteger" />       <xs:attribute name="price"    type="xs:decimal" />     </xs:complexType>   </xs:element>   <xs:element name="description" type="xs:string" /> </xs:schema>