blob: c61590b5e79726fd2961853f48c92f89a1c41c55 [file] [log] [blame]
<?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>