home *** CD-ROM | disk | FTP | other *** search
/ Practical Internet Web Designer 88 / PIWD88.iso / pc / CONTENTS / BONUS / FULL / OXYGEN / KITS / ALLPLATFORMS / OXYGEN.ZIP / samples / personal.xsd < prev    next >
Extensible Markup Language  |  2002-08-30  |  2KB  |  79 lines

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <xs:schema xmlns:xs='http://www.w3.org/2001/XMLSchema'>
  3.  <xs:element name="personnel">
  4.   <xs:complexType>
  5.    <xs:sequence>
  6.      <xs:element ref="person" minOccurs='1' maxOccurs='unbounded'/>
  7.    </xs:sequence>
  8.   </xs:complexType>
  9.   
  10.   <xs:unique name="unique1">
  11.    <xs:selector xpath="person"/>
  12.    <xs:field xpath="name/given"/>
  13.    <xs:field xpath="name/family"/>
  14.   </xs:unique>
  15.   <xs:key name='empid'>
  16.    <xs:selector xpath="person"/>
  17.    <xs:field xpath="@id"/>
  18.   </xs:key>
  19.   <xs:keyref name="keyref1" refer='empid'>
  20.    <xs:selector xpath="person"/> 
  21.    <xs:field xpath="link/@manager"/>  
  22.   </xs:keyref>
  23.  
  24.  </xs:element>
  25.  
  26.  <xs:element name="person">
  27.   <xs:complexType>
  28.    <xs:sequence>
  29.      <xs:element ref="name"/>
  30.      <xs:element ref="email" minOccurs='0' maxOccurs='unbounded'/>
  31.      <xs:element ref="url"   minOccurs='0' maxOccurs='unbounded'/>
  32.      <xs:element ref="link"  minOccurs='0' maxOccurs='1'/>
  33.    </xs:sequence>
  34.    <xs:attribute name="id"  type="xs:ID" use='required'/>
  35.    <xs:attribute name="note" type="xs:string"/>
  36.    <xs:attribute name="contr" default="false">
  37.     <xs:simpleType>
  38.      <xs:restriction base = "xs:string">
  39.        <xs:enumeration value="true"/>
  40.        <xs:enumeration value="false"/>
  41.      </xs:restriction>
  42.     </xs:simpleType>
  43.    </xs:attribute>
  44.    <xs:attribute name="salary" type="xs:integer"/>
  45.   </xs:complexType>
  46.  </xs:element>
  47.  
  48.  <xs:element name="name">
  49.   <xs:complexType>
  50.    <xs:all>
  51.     <xs:element ref="family"/>
  52.     <xs:element ref="given"/>
  53.    </xs:all>
  54.   </xs:complexType>
  55.  </xs:element>
  56.  
  57.  <xs:element name="family" type='xs:string'/>
  58.  
  59.  <xs:element name="given" type='xs:string'/>
  60.  
  61.  <xs:element name="email" type='xs:string'/>
  62.  
  63.  <xs:element name="url">
  64.   <xs:complexType>
  65.    <xs:attribute name="href" type="xs:string" default="http://"/>
  66.   </xs:complexType>
  67.  </xs:element>
  68.  
  69.  <xs:element name="link">
  70.   <xs:complexType>
  71.    <xs:attribute name="manager" type="xs:IDREF"/>
  72.    <xs:attribute name="subordinates" type="xs:IDREFS"/>
  73.   </xs:complexType>
  74.  </xs:element>
  75.  
  76.  <xs:notation name='gif' public='-//APP/Photoshop/4.0' system='photoshop.exe'/>
  77.  
  78. </xs:schema>
  79.