XML/XML Schema/IDREF

Материал из Web эксперт
Перейти к: навигация, поиск

IDREF type attribute

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>