| <?xml version="1.0" encoding="LATIN1"?> |
| <xs:schema> |
| |
| <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:element> |
| </xs:sequence> |
| </xs:complexType> |
| |
| <xs:unique name="unique1"> |
| <xs:selector xpath="person"></xs:selector> |
| <xs:field xpath="name/given"></xs:field> |
| <xs:field xpath="name/family"></xs:field> |
| </xs:unique> |
| <xs:key name="empid"> |
| <xs:selector xpath="person"></xs:selector> |
| <xs:field xpath="@id"></xs:field> |
| </xs:key> |
| <xs:keyref name="keyref1" refer="empid"> |
| <xs:selector xpath="person"></xs:selector> |
| <xs:field xpath="link/@manager"></xs:field> |
| </xs:keyref> |
| |
| </xs:element> |
| |
| <xs:element name="person"> |
| <xs:complexType> |
| <xs:sequence> |
| <xs:element ref="name"></xs:element> |
| <xs:element ref="email" minOccurs="0" maxOccurs="unbounded"></xs:element> |
| <xs:element ref="url" minOccurs="0" maxOccurs="unbounded"></xs:element> |
| <xs:element ref="link" minOccurs="0" maxOccurs="1"></xs:element> |
| </xs:sequence> |
| <xs:attribute name="id" type="xs:ID" use="required"></xs:attribute> |
| <xs:attribute name="note" type="xs:string"></xs:attribute> |
| <xs:attribute name="contr" default="false"> |
| <xs:simpleType> |
| <xs:restriction base="xs:string"> |
| <xs:enumeration value="true"></xs:enumeration> |
| <xs:enumeration value="false"></xs:enumeration> |
| </xs:restriction> |
| </xs:simpleType> |
| </xs:attribute> |
| <xs:attribute name="salary" type="xs:integer"></xs:attribute> |
| <xs:anyAttribute namespace="http://www.w3.org/XML/1998/namespace" processContents="skip"></xs:anyAttribute> |
| </xs:complexType> |
| </xs:element> |
| |
| <xs:element name="name"> |
| <xs:complexType> |
| <xs:all> |
| <xs:element ref="family"></xs:element> |
| <xs:element ref="given"></xs:element> |
| </xs:all> |
| <xs:anyAttribute namespace="http://www.w3.org/XML/1998/namespace" processContents="skip"></xs:anyAttribute> |
| </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:anyAttribute> |
| </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:anyAttribute> |
| </xs:extension> |
| </xs:simpleContent> |
| </xs:complexType> |
| </xs:element> |
| |
| <xs:element name="email" type="xs:string"></xs:element> |
| |
| <xs:element name="url"> |
| <xs:complexType> |
| <xs:attribute name="href" type="xs:string" default="http://"></xs:attribute> |
| </xs:complexType> |
| </xs:element> |
| |
| <xs:element name="link"> |
| <xs:complexType> |
| <xs:attribute name="manager" type="xs:IDREF"></xs:attribute> |
| <xs:attribute name="subordinates" type="xs:IDREFS"></xs:attribute> |
| </xs:complexType> |
| </xs:element> |
| |
| <xs:notation name="gif" public="-//APP/Photoshop/4.0" system="photoshop.exe"></xs:notation> |
| |
| </xs:schema> |