<?xml version="1.0" encoding="UTF-8"?>

<xs:schema xmlns:xs='http://www.w3.org/2001/XMLSchema'>



 <xs:element name="personnel">

  <xs:complexType>

   <xs:sequence>

     <xs:element ref="person" minOccurs='1' maxOccurs='unbounded'/>

   </xs:sequence>

  </xs:complexType>



  <xs:unique name="unique1">

   <xs:selector xpath="person"/>

   <xs:field xpath="name/given"/>

   <xs:field xpath="name/family"/>

  </xs:unique>

  <xs:key name='empid'>

   <xs:selector xpath="person"/>

   <xs:field xpath="@id"/>

  </xs:key>

  <xs:keyref name="keyref1" refer='empid'>

   <xs:selector xpath="person"/> 

   <xs:field xpath="link/@manager"/>  

  </xs:keyref>



 </xs:element>



 <xs:element name="person">

  <xs:complexType>

   <xs:sequence>

     <xs:element ref="name"/>

     <xs:element ref="email" minOccurs='0' maxOccurs='unbounded'/>

     <xs:element ref="url"   minOccurs='0' maxOccurs='unbounded'/>

     <xs:element ref="link"  minOccurs='0' maxOccurs='1'/>

   </xs:sequence>

   <xs:attribute name="id"  type="xs:ID" use='required'/>

   <xs:attribute name="note" type="xs:string"/>

   <xs:attribute name="contr" default="false">

    <xs:simpleType>

     <xs:restriction base = "xs:string">

       <xs:enumeration value="true"/>

       <xs:enumeration value="false"/>

     </xs:restriction>

    </xs:simpleType>

   </xs:attribute>

   <xs:attribute name="salary" type="xs:integer"/>

  </xs:complexType>

 </xs:element>



 <xs:element name="name">

  <xs:complexType>

   <xs:all>

    <xs:element ref="family"/>

    <xs:element ref="given"/>

   </xs:all>

  </xs:complexType>

 </xs:element>



 <xs:element name="family" type='xs:string'/>



 <xs:element name="given" type='xs:string'/>



 <xs:element name="email" type='xs:string'/>



 <xs:element name="url">

  <xs:complexType>

   <xs:attribute name="href" type="xs:string" default="http://"/>

  </xs:complexType>

 </xs:element>



 <xs:element name="link">

  <xs:complexType>

   <xs:attribute name="manager" type="xs:IDREF"/>

   <xs:attribute name="subordinates" type="xs:IDREFS"/>

  </xs:complexType>

 </xs:element>



 <xs:notation name='gif' public='-//APP/Photoshop/4.0' system='photoshop.exe'/>



</xs:schema>

