home *** CD-ROM | disk | FTP | other *** search
/ Internet Magazine 2003 October / INTERNET108.ISO / pc / software / windows / building / xmlspy / xmlspyentcomplete5.exe / Data1.cab / _B5A0888D248E4D5C984B2E6F235FC31C < prev    next >
Encoding:
Extensible Markup Language  |  2003-04-02  |  6.2 KB  |  189 lines

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!-- edited with XMLSPY v5 rel. 4 U (http://www.xmlspy.com) by Vladislav Gavrielov (Altova) -->
  3. <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
  4.     <xs:element name="expense-report">
  5.         <xs:annotation>
  6.             <xs:documentation>expense-report is the root element.</xs:documentation>
  7.         </xs:annotation>
  8.         <xs:complexType>
  9.             <xs:sequence>
  10.                 <xs:element name="Person">
  11.                     <xs:complexType>
  12.                         <xs:sequence>
  13.                             <xs:element name="First">
  14.                                 <xs:simpleType>
  15.                                     <xs:restriction base="xs:string">
  16.                                         <xs:minLength value="1"/>
  17.                                     </xs:restriction>
  18.                                 </xs:simpleType>
  19.                             </xs:element>
  20.                             <xs:element name="Last">
  21.                                 <xs:simpleType>
  22.                                     <xs:restriction base="xs:string">
  23.                                         <xs:minLength value="1"/>
  24.                                     </xs:restriction>
  25.                                 </xs:simpleType>
  26.                             </xs:element>
  27.                             <xs:element name="Title" type="xs:string"/>
  28.                             <xs:element name="Phone">
  29.                                 <xs:simpleType>
  30.                                     <xs:restriction base="xs:string">
  31.                                         <xs:pattern value="[0-9 \-]*"/>
  32.                                     </xs:restriction>
  33.                                 </xs:simpleType>
  34.                             </xs:element>
  35.                             <xs:element name="Email" type="emailType"/>
  36.                         </xs:sequence>
  37.                     </xs:complexType>
  38.                 </xs:element>
  39.                 <xs:element ref="expense-item" maxOccurs="unbounded"/>
  40.             </xs:sequence>
  41.             <xs:attribute name="detailed" type="xs:boolean" use="required"/>
  42.             <xs:attribute name="currency" use="required">
  43.                 <xs:simpleType>
  44.                     <xs:restriction base="xs:string">
  45.                         <xs:enumeration value="USD"/>
  46.                         <xs:enumeration value="Euro"/>
  47.                         <xs:enumeration value="JPY"/>
  48.                     </xs:restriction>
  49.                 </xs:simpleType>
  50.             </xs:attribute>
  51.         </xs:complexType>
  52.     </xs:element>
  53.     <xs:element name="expense" type="xs:decimal"/>
  54.     <xs:complexType name="TextType" mixed="true">
  55.         <xs:choice minOccurs="0" maxOccurs="unbounded">
  56.             <xs:element ref="strong"/>
  57.             <xs:element ref="italic"/>
  58.         </xs:choice>
  59.     </xs:complexType>
  60.     <xs:element name="description" type="TextType"/>
  61.     <xs:element name="Travel">
  62.         <xs:complexType>
  63.             <xs:sequence>
  64.                 <xs:element name="Destination" type="xs:string"/>
  65.                 <xs:element name="Mileage" type="xs:decimal" minOccurs="0"/>
  66.             </xs:sequence>
  67.             <xs:attribute name="means">
  68.                 <xs:simpleType>
  69.                     <xs:restriction base="xs:string">
  70.                         <xs:enumeration value="Taxi"/>
  71.                         <xs:enumeration value="CharterAir"/>
  72.                         <xs:enumeration value="Airline"/>
  73.                         <xs:enumeration value="Limo"/>
  74.                         <xs:enumeration value="CharterSea"/>
  75.                         <xs:enumeration value="Rail"/>
  76.                         <xs:enumeration value="CharterLand"/>
  77.                         <xs:enumeration value="Bus"/>
  78.                     </xs:restriction>
  79.                 </xs:simpleType>
  80.             </xs:attribute>
  81.         </xs:complexType>
  82.     </xs:element>
  83.     <xs:element name="Meal">
  84.         <xs:complexType>
  85.             <xs:sequence>
  86.                 <xs:element name="Name" type="xs:string" minOccurs="0"/>
  87.                 <xs:element ref="Location"/>
  88.             </xs:sequence>
  89.             <xs:attribute name="mealtype">
  90.                 <xs:simpleType>
  91.                     <xs:restriction base="xs:string">
  92.                         <xs:enumeration value="dinner"/>
  93.                         <xs:enumeration value="breakfast"/>
  94.                         <xs:enumeration value="lunch"/>
  95.                         <xs:enumeration value="other"/>
  96.                     </xs:restriction>
  97.                 </xs:simpleType>
  98.             </xs:attribute>
  99.         </xs:complexType>
  100.     </xs:element>
  101.     <xs:element name="Parking">
  102.         <xs:complexType>
  103.             <xs:sequence>
  104.                 <xs:element ref="Location"/>
  105.             </xs:sequence>
  106.         </xs:complexType>
  107.     </xs:element>
  108.     <xs:element name="Date" type="xs:date"/>
  109.     <xs:simpleType name="emailType">
  110.         <xs:restriction base="xs:string">
  111.             <xs:pattern value="[\p{L}_-]+(\.[\p{L}_-]+)*@[\p{L}_]+(\.[\p{L}_]+)+"/>
  112.         </xs:restriction>
  113.     </xs:simpleType>
  114.     <xs:element name="expense-item">
  115.         <xs:complexType>
  116.             <xs:sequence>
  117.                 <xs:element ref="Date"/>
  118.                 <xs:element ref="expense"/>
  119.                 <xs:choice minOccurs="0" maxOccurs="unbounded">
  120.                     <xs:element ref="Meal"/>
  121.                     <xs:element name="Lodging">
  122.                         <xs:complexType>
  123.                             <xs:sequence>
  124.                                 <xs:element name="Name" type="xs:string" minOccurs="0"/>
  125.                                 <xs:element ref="Location"/>
  126.                             </xs:sequence>
  127.                         </xs:complexType>
  128.                     </xs:element>
  129.                     <xs:element ref="Travel"/>
  130.                     <xs:element ref="Parking"/>
  131.                     <xs:element name="Entertainment">
  132.                         <xs:complexType>
  133.                             <xs:sequence>
  134.                                 <xs:element name="Client-name" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
  135.                             </xs:sequence>
  136.                         </xs:complexType>
  137.                     </xs:element>
  138.                     <xs:element name="Misc">
  139.                         <xs:complexType>
  140.                             <xs:attribute name="misctype">
  141.                                 <xs:simpleType>
  142.                                     <xs:restriction base="xs:string">
  143.                                         <xs:enumeration value="TeamBuilding"/>
  144.                                         <xs:enumeration value="Tips"/>
  145.                                         <xs:enumeration value="Fines"/>
  146.                                         <xs:enumeration value="Rental"/>
  147.                                         <xs:enumeration value="EverythingElse"/>
  148.                                         <xs:enumeration value="Tolls"/>
  149.                                         <xs:enumeration value="Telephone"/>
  150.                                     </xs:restriction>
  151.                                 </xs:simpleType>
  152.                             </xs:attribute>
  153.                         </xs:complexType>
  154.                     </xs:element>
  155.                 </xs:choice>
  156.                 <xs:element ref="description" minOccurs="0"/>
  157.             </xs:sequence>
  158.             <xs:attribute name="type" use="required">
  159.                 <xs:simpleType>
  160.                     <xs:restriction base="xs:string">
  161.                         <xs:enumeration value="Meal"/>
  162.                         <xs:enumeration value="Lodging"/>
  163.                         <xs:enumeration value="Travel"/>
  164.                         <xs:enumeration value="Parking"/>
  165.                         <xs:enumeration value="Entertainment"/>
  166.                         <xs:enumeration value="Misc"/>
  167.                     </xs:restriction>
  168.                 </xs:simpleType>
  169.             </xs:attribute>
  170.             <xs:attribute name="expto" use="required">
  171.                 <xs:simpleType>
  172.                     <xs:restriction base="xs:string">
  173.                         <xs:enumeration value="Development"/>
  174.                         <xs:enumeration value="Marketing"/>
  175.                         <xs:enumeration value="Accounting"/>
  176.                         <xs:enumeration value="Sales"/>
  177.                         <xs:enumeration value="Operations"/>
  178.                         <xs:enumeration value="Support"/>
  179.                         <xs:enumeration value="IT"/>
  180.                     </xs:restriction>
  181.                 </xs:simpleType>
  182.             </xs:attribute>
  183.         </xs:complexType>
  184.     </xs:element>
  185.     <xs:element name="Location" type="xs:string"/>
  186.     <xs:element name="strong" type="TextType"/>
  187.     <xs:element name="italic" type="TextType"/>
  188. </xs:schema>
  189.