- <?xml version="1.0" encoding="UTF-8"?>
- <xs:schema xmlns:xs='http://www.w3.org/2001/XMLSchema'>
- <xs:import namespace="http://www.w3.org/XML/1998/namespace">
- <xs:annotation>
- <xs:documentation>
- The schemaLocation of the relevant file is
- "http://www.w3.org/2001/xml.xsd"; however,
- we don't want to assume people are always
- connected to the 'net when playing with this file.
- </xs:documentation>
- </xs:annotation>
- </xs:import>
- <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:anyAttribute namespace="http://www.w3.org/XML/1998/namespace" processContents="skip"/>
- </xs:complexType>
- </xs:element>
- <xs:element name="name">
- <xs:complexType>
- <xs:all>
- <xs:element ref="family"/>
- <xs:element ref="given"/>
- </xs:all>
- <xs:anyAttribute namespace="http://www.w3.org/XML/1998/namespace" processContents="skip"/>
- </xs:complexType>
- </xs:element>
- <xs:element name="family">
- <xs:complexType>
- <xs:simpleContent>
- <xs:extension base='xs:string'>
- <xs:anyAttribute namespace="http://www.w3.org/XML/1998/namespace" processContents="skip"/>
- </xs:extension>
- </xs:simpleContent>
- </xs:complexType>
- </xs:element>
- <xs:element name="given" >
- <xs:complexType>
- <xs:simpleContent>
- <xs:extension base='xs:string'>
- <xs:anyAttribute namespace="http://www.w3.org/XML/1998/namespace" processContents="skip"/>
- </xs:extension>
- </xs:simpleContent>
- </xs:complexType>
- </xs:element>
- <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>