Advertisement
Guest User

Untitled

a guest
May 5th, 2016
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
XML 8.34 KB | None | 0 0
  1. <?xml version="1.0" encoding="utf-8" ?>
  2. <xsd:schema
  3.        xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  4.     <xsd:element name="auctions">
  5.         <xsd:complexType>
  6.             <xsd:sequence>
  7.                 <xsd:element name="products">
  8.                     <xsd:complexType>
  9.                         <xsd:sequence>
  10.                             <xsd:element name="product" minOccurs="0" maxOccurs="unbounded">
  11.                                 <xsd:complexType>
  12.                                     <xsd:sequence>
  13.                                         <xsd:element name="name" type="xsd:string"/>
  14.  
  15.                                         <xsd:element name="description" minOccurs="0">
  16.                                             <xsd:complexType mixed="true">
  17.                                                 <xsd:choice maxOccurs="unbounded" minOccurs="0">
  18.                                                     <xsd:element name="it" type="xsd:string" minOccurs="0"
  19.                                                                 maxOccurs="unbounded"/>
  20.                                                     <xsd:element name="a" minOccurs="0" maxOccurs="unbounded">
  21.                                                         <xsd:complexType>
  22.                                                             <xsd:simpleContent>
  23.                                                                 <xsd:extension base="xsd:string">
  24.                                                                     <xsd:attribute name="href" use="required"/>
  25.                                                                 </xsd:extension>
  26.                                                             </xsd:simpleContent>
  27.  
  28.                                                         </xsd:complexType>
  29.                                                     </xsd:element>
  30.                                                 </xsd:choice>
  31.  
  32.                                             </xsd:complexType>
  33.                                         </xsd:element>
  34.  
  35.                                         <xsd:element name="expired" minOccurs="0">
  36.                                             <xsd:complexType>
  37.                                            <!-- leer Lassen um Tag ohne Content zu haben!-->
  38.                                             </xsd:complexType>
  39.                                         </xsd:element>
  40.  
  41.  
  42.                                         <xsd:element name="category" minOccurs="0"
  43.                                                     maxOccurs="unbounded">
  44.                                             <xsd:simpleType>
  45.                                                 <xsd:restriction base="xsd:string">
  46.                                                     <xsd:enumeration value="book"/>
  47.                                                     <xsd:enumeration value="movie"/>
  48.                                                     <xsd:enumeration value="music"/>
  49.                                                 </xsd:restriction>
  50.                                             </xsd:simpleType>
  51.                                         </xsd:element>
  52.                                     </xsd:sequence>
  53.  
  54.                                     <xsd:attribute name="id" use="required">
  55.                                         <xsd:simpleType>
  56.                                             <xsd:restriction base="xsd:integer">
  57.                                                 <xsd:minInclusive value="0"/>
  58.  
  59.                                             </xsd:restriction>
  60.                                         </xsd:simpleType>
  61.                                     </xsd:attribute>
  62.                                     <xsd:attribute name="auctionEnd" type="xsd:date"
  63.                                                   use="required"/>
  64.  
  65.  
  66.                                 </xsd:complexType>
  67.                                 <xsd:unique name="productId">
  68.                                     <xsd:selector xpath="products/product"></xsd:selector>
  69.                                     <xsd:field xpath="@id"></xsd:field>
  70.                                 </xsd:unique>
  71.                             </xsd:element>
  72.                         </xsd:sequence>
  73.                     </xsd:complexType>
  74.  
  75.                 </xsd:element>
  76.  
  77.  
  78.                 <xsd:element name="users">
  79.                     <xsd:complexType>
  80.                         <xsd:sequence>
  81.                             <xsd:element name="user" maxOccurs="unbounded" minOccurs="0">
  82.                                 <xsd:complexType>
  83.                                     <xsd:sequence>
  84.                                         <xsd:choice>
  85.                                             <xsd:element name="fullname" type="xsd:string"/>
  86.  
  87.                                             <xsd:element name="name">
  88.                                                 <xsd:complexType>
  89.                                                     <xsd:all>
  90.                                                         <xsd:element name="firstname" type="xsd:string"/>
  91.                                                         <xsd:element name="lastname" type="xsd:string"/>
  92.                                                     </xsd:all>
  93.                                                 </xsd:complexType>
  94.                                             </xsd:element>
  95.                                         </xsd:choice>
  96.  
  97.                                         <xsd:element name="email" minOccurs="0" maxOccurs="unbounded" type="xsd:string"/>
  98.  
  99.                                         <xsd:element name="balance" type="xsd:nonNegativeInteger"/>
  100.  
  101.                                     </xsd:sequence>
  102.                                     <xsd:attribute name="username" type="xsd:string" use="required"/>
  103.  
  104.                                     <xsd:attribute name="password" type="xsd:string" use="required"/>
  105.                                 </xsd:complexType>
  106.                             </xsd:element>
  107.                         </xsd:sequence>
  108.                     </xsd:complexType>
  109.                 </xsd:element>
  110.  
  111.  
  112.                 <xsd:element name="bids">
  113.                     <xsd:complexType>
  114.                         <xsd:sequence>
  115.                             <xsd:element name="product" minOccurs="0" maxOccurs="unbounded">
  116.                                 <xsd:complexType>
  117.                                     <xsd:sequence>
  118.                                         <xsd:element name="bid" maxOccurs="unbounded">
  119.                                             <xsd:complexType>
  120.                                                 <xsd:simpleContent>
  121.                                                     <xsd:extension base="bidInt">
  122.                                                         <xsd:attribute name="user" type="xsd:string"/>
  123.                                                     </xsd:extension>
  124.                                                 </xsd:simpleContent>
  125.                                             </xsd:complexType>
  126.                                         </xsd:element>
  127.                                     </xsd:sequence>
  128.                                     <xsd:attribute name="id" type="xsd:nonNegativeInteger"/>
  129.                                 </xsd:complexType>
  130.                             </xsd:element>
  131.                         </xsd:sequence>
  132.                     </xsd:complexType>
  133.                 </xsd:element>
  134.  
  135.             </xsd:sequence>
  136.         </xsd:complexType>
  137.  
  138.         <xsd:key name="userKeys">
  139.             <xsd:selector xpath=".//users/user"></xsd:selector>
  140.             <xsd:field xpath="@username"></xsd:field>
  141.         </xsd:key>
  142.         <xsd:keyref name="userRef" refer="userKeys">
  143.             <xsd:selector xpath=".//bids/bid"></xsd:selector>
  144.             <xsd:field xpath="@user"></xsd:field>
  145.         </xsd:keyref>
  146.  
  147.         <xsd:key name="productKeys">
  148.             <xsd:selector xpath=".//products/product"></xsd:selector>
  149.             <xsd:field xpath="@id"></xsd:field>
  150.         </xsd:key>
  151.         <xsd:keyref name="productRef" refer="productKeys">
  152.             <xsd:selector xpath=".//bids/product"></xsd:selector>
  153.             <xsd:field xpath="@id"></xsd:field>
  154.         </xsd:keyref>
  155.  
  156.     </xsd:element>
  157.  
  158.     <xsd:simpleType name="bidInt">
  159.         <xsd:restriction base="xsd:integer">
  160.             <xsd:minInclusive value="0"/>
  161.         </xsd:restriction>
  162.     </xsd:simpleType>
  163.  
  164.  
  165. </xsd:schema>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement