home *** CD-ROM | disk | FTP | other *** search
/ Internet Magazine 2002 December / INTERNET97.ISO / pc / software / windows / building / xmlspy / setup44.exe / Data1.cab / F1589_AddressLast.xsd < prev    next >
Encoding:
Extensible Markup Language  |  2001-09-25  |  2.4 KB  |  73 lines

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!-- edited with XML Spy v4.0.1 U (http://www.xmlspy.com) by alex pilz (altova) -->
  3. <xs:schema targetNamespace="http://my-company.com/namespace" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://my-company.com/namespace" elementFormDefault="qualified" attributeFormDefault="unqualified">
  4.     <xs:element name="Company">
  5.         <xs:annotation>
  6.             <xs:documentation>Root element</xs:documentation>
  7.         </xs:annotation>
  8.         <xs:complexType>
  9.             <xs:sequence>
  10.                 <xs:element name="Address" type="AddressType"/>
  11.                 <xs:element ref="Person" maxOccurs="unbounded"/>
  12.             </xs:sequence>
  13.         </xs:complexType>
  14.     </xs:element>
  15.     <xs:complexType name="AddressType">
  16.         <xs:sequence>
  17.             <xs:element name="Name" type="xs:string"/>
  18.             <xs:element name="Street" type="xs:string"/>
  19.             <xs:element name="City" type="xs:string"/>
  20.         </xs:sequence>
  21.     </xs:complexType>
  22.     <xs:complexType name="US-Address">
  23.         <xs:complexContent>
  24.             <xs:extension base="AddressType">
  25.                 <xs:sequence>
  26.                     <xs:element name="Zip" type="xs:positiveInteger"/>
  27.                     <xs:element name="State" type="US-State"/>
  28.                 </xs:sequence>
  29.             </xs:extension>
  30.         </xs:complexContent>
  31.     </xs:complexType>
  32.     <xs:simpleType name="US-State">
  33.         <xs:restriction base="xs:string"/>
  34.     </xs:simpleType>
  35.     <xs:complexType name="UK-Address">
  36.         <xs:complexContent>
  37.             <xs:extension base="AddressType">
  38.                 <xs:sequence>
  39.                     <xs:element name="Postcode" type="xs:string"/>
  40.                 </xs:sequence>
  41.             </xs:extension>
  42.         </xs:complexContent>
  43.     </xs:complexType>
  44.     <xs:element name="Person">
  45.         <xs:complexType>
  46.             <xs:sequence>
  47.                 <xs:element name="First" type="xs:string"/>
  48.                 <xs:element name="Last" type="xs:string"/>
  49.                 <xs:element name="Title" type="xs:string" minOccurs="0"/>
  50.                 <xs:element name="PhoneExt">
  51.                     <xs:simpleType>
  52.                         <xs:restriction base="xs:integer">
  53.                             <xs:maxInclusive value="99"/>
  54.                         </xs:restriction>
  55.                     </xs:simpleType>
  56.                 </xs:element>
  57.                 <xs:element name="Email" type="xs:string"/>
  58.             </xs:sequence>
  59.             <xs:attribute name="Manager" type="xs:boolean" use="required"/>
  60.             <xs:attribute name="Programmer" type="xs:boolean" use="optional"/>
  61.             <xs:attribute name="Degree">
  62.                 <xs:simpleType>
  63.                     <xs:restriction base="xs:string">
  64.                         <xs:enumeration value="BA"/>
  65.                         <xs:enumeration value="MA"/>
  66.                         <xs:enumeration value="Ph.D"/>
  67.                     </xs:restriction>
  68.                 </xs:simpleType>
  69.             </xs:attribute>
  70.         </xs:complexType>
  71.     </xs:element>
  72. </xs:schema>
  73.