Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on May 7th, 2012  |  syntax: None  |  size: 6.94 KB  |  hits: 16  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
  3. targetNamespace="http://www.vdrb.ch/xml/customer"
  4. xmlns:customer="http://www.vdrb.ch/xml/customer"
  5. elementFormDefault="unqualified">
  6.  
  7. <!--  Define Customer -->
  8.  
  9. <xsd:complexType name="tCustomerBase">
  10.     <xsd:sequence>
  11.       <xsd:element  name="birthdate"
  12.                     type="xsd:date"/>
  13.       <xsd:element  name="comment"
  14.                     type="xsd:string"/>
  15.     </xsd:sequence>
  16. </xsd:complexType>
  17.  
  18. <xsd:complexType name="tCustomerReference">
  19.   <xsd:complexContent>
  20.     <xsd:extension base="customer:tCustomerBase">
  21.       <xsd:attribute name="customerID" type="xsd:integer" use="required"/>
  22.     </xsd:extension>
  23.   </xsd:complexContent>
  24. </xsd:complexType>
  25.  
  26. <xsd:element name="customer">
  27.   <xsd:complexType>
  28.     <xsd:complexContent>
  29.       <xsd:extension base="customer:tCustomerReference">        
  30.         <xsd:sequence>
  31.           <xsd:element ref="customer:addressLinks" minOccurs="1"/>
  32.         </xsd:sequence>
  33.       </xsd:extension>
  34.     </xsd:complexContent>
  35.   </xsd:complexType>
  36. </xsd:element>
  37.  
  38. <!--  Define AddressLink -->
  39.  
  40. <xsd:simpleType name="tAddressLinkType">
  41.   <xsd:restriction base="xsd:token">
  42.     <xsd:enumeration value="A"/>
  43.     <xsd:enumeration value="T"/>
  44.     <xsd:enumeration value="Z"/>
  45.     <xsd:enumeration value="R"/>
  46.     <xsd:enumeration value="P"/>
  47.     <xsd:enumeration value="N"/>
  48.     <xsd:enumeration value="H"/>
  49.     <xsd:enumeration value="F"/>
  50.   </xsd:restriction>
  51. </xsd:simpleType>
  52.  
  53. <xsd:complexType name="tAddressLinkBase">
  54.   <xsd:sequence>
  55.     <xsd:element name="customerID" type="xsd:integer"/>
  56.     <xsd:element name="addressID" type="xsd:integer"/>
  57.     <xsd:element name="type" type="customer:tAddressLinkType"/>
  58.     <xsd:element name="validFrom" type="xsd:date"/>
  59.     <xsd:element name="validUntil" type="xsd:date"/>
  60.   </xsd:sequence>
  61. </xsd:complexType>
  62.  
  63. <xsd:complexType name="tAddressLinkReference">
  64.   <xsd:complexContent>
  65.     <xsd:extension base="customer:tAddressLinkBase">
  66.       <xsd:attribute name="customerID" type="xsd:integer" use="required"/>        
  67.       <xsd:attribute name="addressID" type="xsd:integer" use="required"/>
  68.       <xsd:attribute name="addressType" type="customer:tAddressLinkType" use="required"/>        
  69.     </xsd:extension>
  70.   </xsd:complexContent>
  71. </xsd:complexType>
  72.  
  73.  
  74. <xsd:element name="addressLinks">
  75.   <xsd:complexType>
  76.     <xsd:sequence>
  77.       <xsd:element ref="customer:addressLink" minOccurs="0" maxOccurs="unbounded"/>
  78.     </xsd:sequence>
  79.   </xsd:complexType>
  80. </xsd:element>      
  81.  
  82.  
  83. <xsd:element name="addressLink" type="customer:tAddressLinkBase"/>
  84.  
  85. <!--  Define Address -->
  86.  
  87. <xsd:complexType name="tAddressBase">
  88.   <xsd:sequence>  
  89.     <xsd:element  name="language"
  90.                   type="xsd:string"/>
  91.                  
  92.     <xsd:element  name="salutation"
  93.                   type="xsd:string"/>
  94.                  
  95.     <xsd:element  name="title"
  96.                   type="xsd:string"/>
  97.                  
  98.     <xsd:element  name="firstname"
  99.                   type="xsd:string"/>
  100.                  
  101.     <xsd:element  name="lastname"
  102.                   type="xsd:string"/>
  103.                  
  104.                  
  105.     <xsd:element  name="street">
  106.       <xsd:complexType>
  107.         <xsd:simpleContent>
  108.           <xsd:extension base="xsd:string">
  109.             <xsd:attribute name="streetID" type="xsd:integer"/>
  110.           </xsd:extension>
  111.         </xsd:simpleContent>  
  112.       </xsd:complexType>                
  113.     </xsd:element>
  114.  
  115.     <xsd:element  name="plz"
  116.                   type="xsd:string"/>
  117.     <xsd:element  name="plzplus"
  118.                   type="xsd:string"/>
  119.                  
  120.                  
  121.     <xsd:element name="city">
  122.       <xsd:complexType>
  123.         <xsd:simpleContent>
  124.           <xsd:extension base="xsd:string">
  125.             <xsd:attribute name="cityID" type="xsd:integer"/>
  126.           </xsd:extension>
  127.         </xsd:simpleContent>      
  128.       </xsd:complexType>
  129.     </xsd:element>
  130.  
  131.     <xsd:element  name="region">
  132.       <xsd:complexType>
  133.         <xsd:simpleContent>
  134.           <xsd:extension base="xsd:string">
  135.             <xsd:attribute name="regionID" type="xsd:integer"/>
  136.           </xsd:extension>
  137.         </xsd:simpleContent>  
  138.      </xsd:complexType>    
  139.     </xsd:element>  
  140.    
  141.     <xsd:element  name="country">
  142.       <xsd:complexType>
  143.         <xsd:simpleContent>
  144.           <xsd:extension base="xsd:string">
  145.             <xsd:attribute name="countryID" type="xsd:integer"/>
  146.           </xsd:extension>
  147.         </xsd:simpleContent>      
  148.      </xsd:complexType>
  149.     </xsd:element>    
  150.  
  151.     <xsd:element  name="firstAddition"
  152.                   type="xsd:string"/>
  153.  
  154.     <xsd:element  name="secondAddition"
  155.                   type="xsd:string"/>  
  156.  
  157.     <xsd:element  name="thirdAddition"
  158.                   type="xsd:string"/>
  159.  
  160.     <xsd:element  name="firstHouseno"
  161.                   type="xsd:string"/>
  162.  
  163.     <xsd:element  name="secondHouseno"
  164.                   type="xsd:string"/>
  165.  
  166.     <xsd:element  name="thirdHouseno"
  167.                   type="xsd:string"/>
  168.  
  169.     <xsd:element  name="poboxName"
  170.                   type="xsd:string"/>
  171.  
  172.     <xsd:element  name="poboxPlz"
  173.                   type="xsd:string"/>  
  174.  
  175.     <xsd:element  name="poboxPlzplus"
  176.                   type="xsd:string"/>
  177.   </xsd:sequence>
  178. </xsd:complexType>
  179.  
  180.  
  181. <xsd:complexType name="tAddressReference">
  182.   <xsd:complexContent>
  183.     <xsd:extension base="customer:tAddressBase">
  184.       <xsd:attribute name="addressID" type="xsd:integer" use="required"/>
  185.     </xsd:extension>
  186.   </xsd:complexContent>
  187. </xsd:complexType>
  188.  
  189. <xsd:complexType name="tAddressStandalone">
  190.   <xsd:complexContent>
  191.     <xsd:extension base="customer:tAddressReference">
  192.       <xsd:sequence>
  193.         <xsd:element ref="customer:contacts" minOccurs="0"/>
  194.       </xsd:sequence>  
  195.     </xsd:extension>
  196.   </xsd:complexContent>
  197. </xsd:complexType>
  198.  
  199. <xsd:element name="address" type="customer:tAddressStandalone"/>
  200.  
  201.  
  202. <!--  Define Contact -->
  203.  
  204.  
  205. <xsd:complexType name="tContactBase">
  206.   <xsd:sequence>
  207.     <xsd:element  name="addressID"
  208.                   type="xsd:integer"/>
  209.     <xsd:element  name="type"
  210.                   type="xsd:string"/>
  211.     <xsd:element  name="value"
  212.                   type="xsd:string"/>
  213.     <xsd:element  name="description"
  214.                   type="xsd:string"/>
  215.   </xsd:sequence>
  216. </xsd:complexType>
  217.  
  218. <xsd:complexType name="tContactReference">
  219.   <xsd:complexContent>
  220.     <xsd:extension base="customer:tContactBase">
  221.       <xsd:attribute name="contactID" type="xsd:integer"/>
  222.     </xsd:extension>
  223.   </xsd:complexContent>
  224. </xsd:complexType>
  225.  
  226.  
  227. <xsd:element name="contacts">
  228.   <xsd:complexType>
  229.     <xsd:sequence>
  230.       <xsd:element ref="customer:contact" minOccurs="0" maxOccurs="unbounded"/>
  231.     </xsd:sequence>  
  232.   </xsd:complexType>
  233. </xsd:element>
  234.  
  235. <xsd:element name="contact" type="customer:tContactReference"/>
  236.  
  237.  
  238. </xsd:schema>