You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
108 lines
3.1 KiB
108 lines
3.1 KiB
<?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>
|