[358] | 1 | <?xml version="1.0" encoding="UTF-8"?>
|
---|
| 2 | <xs:schema xmlns:xs='http://www.w3.org/2001/XMLSchema'>
|
---|
| 3 |
|
---|
| 4 | <xs:import namespace="http://www.w3.org/XML/1998/namespace">
|
---|
| 5 | <xs:annotation>
|
---|
| 6 | <xs:documentation>
|
---|
| 7 | The schemaLocation of the relevant file is
|
---|
| 8 | "http://www.w3.org/2001/xml.xsd"; however,
|
---|
| 9 | we don't want to assume people are always
|
---|
| 10 | connected to the 'net when playing with this file.
|
---|
| 11 | </xs:documentation>
|
---|
| 12 | </xs:annotation>
|
---|
| 13 | </xs:import>
|
---|
| 14 |
|
---|
| 15 | <xs:element name="personnel">
|
---|
| 16 | <xs:complexType>
|
---|
| 17 | <xs:sequence>
|
---|
| 18 | <xs:element ref="person" minOccurs='1' maxOccurs='unbounded'/>
|
---|
| 19 | </xs:sequence>
|
---|
| 20 | </xs:complexType>
|
---|
| 21 |
|
---|
| 22 | <xs:unique name="unique1">
|
---|
| 23 | <xs:selector xpath="person"/>
|
---|
| 24 | <xs:field xpath="name/given"/>
|
---|
| 25 | <xs:field xpath="name/family"/>
|
---|
| 26 | </xs:unique>
|
---|
| 27 | <xs:key name='empid'>
|
---|
| 28 | <xs:selector xpath="person"/>
|
---|
| 29 | <xs:field xpath="@id"/>
|
---|
| 30 | </xs:key>
|
---|
| 31 | <xs:keyref name="keyref1" refer='empid'>
|
---|
| 32 | <xs:selector xpath="person"/>
|
---|
| 33 | <xs:field xpath="link/@manager"/>
|
---|
| 34 | </xs:keyref>
|
---|
| 35 |
|
---|
| 36 | </xs:element>
|
---|
| 37 |
|
---|
| 38 | <xs:element name="person">
|
---|
| 39 | <xs:complexType>
|
---|
| 40 | <xs:sequence>
|
---|
| 41 | <xs:element ref="name"/>
|
---|
| 42 | <xs:element ref="email" minOccurs='0' maxOccurs='unbounded'/>
|
---|
| 43 | <xs:element ref="url" minOccurs='0' maxOccurs='unbounded'/>
|
---|
| 44 | <xs:element ref="link" minOccurs='0' maxOccurs='1'/>
|
---|
| 45 | </xs:sequence>
|
---|
| 46 | <xs:attribute name="id" type="xs:ID" use='required'/>
|
---|
| 47 | <xs:attribute name="note" type="xs:string"/>
|
---|
| 48 | <xs:attribute name="contr" default="false">
|
---|
| 49 | <xs:simpleType>
|
---|
| 50 | <xs:restriction base = "xs:string">
|
---|
| 51 | <xs:enumeration value="true"/>
|
---|
| 52 | <xs:enumeration value="false"/>
|
---|
| 53 | </xs:restriction>
|
---|
| 54 | </xs:simpleType>
|
---|
| 55 | </xs:attribute>
|
---|
| 56 | <xs:attribute name="salary" type="xs:integer"/>
|
---|
| 57 | <xs:anyAttribute namespace="http://www.w3.org/XML/1998/namespace" processContents="skip"/>
|
---|
| 58 | </xs:complexType>
|
---|
| 59 | </xs:element>
|
---|
| 60 |
|
---|
| 61 | <xs:element name="name">
|
---|
| 62 | <xs:complexType>
|
---|
| 63 | <xs:all>
|
---|
| 64 | <xs:element ref="family"/>
|
---|
| 65 | <xs:element ref="given"/>
|
---|
| 66 | </xs:all>
|
---|
| 67 | <xs:anyAttribute namespace="http://www.w3.org/XML/1998/namespace" processContents="skip"/>
|
---|
| 68 | </xs:complexType>
|
---|
| 69 | </xs:element>
|
---|
| 70 |
|
---|
| 71 | <xs:element name="family">
|
---|
| 72 | <xs:complexType>
|
---|
| 73 | <xs:simpleContent>
|
---|
| 74 | <xs:extension base='xs:string'>
|
---|
| 75 | <xs:anyAttribute namespace="http://www.w3.org/XML/1998/namespace" processContents="skip"/>
|
---|
| 76 | </xs:extension>
|
---|
| 77 | </xs:simpleContent>
|
---|
| 78 | </xs:complexType>
|
---|
| 79 | </xs:element>
|
---|
| 80 |
|
---|
| 81 | <xs:element name="given" >
|
---|
| 82 | <xs:complexType>
|
---|
| 83 | <xs:simpleContent>
|
---|
| 84 | <xs:extension base='xs:string'>
|
---|
| 85 | <xs:anyAttribute namespace="http://www.w3.org/XML/1998/namespace" processContents="skip"/>
|
---|
| 86 | </xs:extension>
|
---|
| 87 | </xs:simpleContent>
|
---|
| 88 | </xs:complexType>
|
---|
| 89 | </xs:element>
|
---|
| 90 |
|
---|
| 91 | <xs:element name="email" type='xs:string'/>
|
---|
| 92 |
|
---|
| 93 | <xs:element name="url">
|
---|
| 94 | <xs:complexType>
|
---|
| 95 | <xs:attribute name="href" type="xs:string" default="http://"/>
|
---|
| 96 | </xs:complexType>
|
---|
| 97 | </xs:element>
|
---|
| 98 |
|
---|
| 99 | <xs:element name="link">
|
---|
| 100 | <xs:complexType>
|
---|
| 101 | <xs:attribute name="manager" type="xs:IDREF"/>
|
---|
| 102 | <xs:attribute name="subordinates" type="xs:IDREFS"/>
|
---|
| 103 | </xs:complexType>
|
---|
| 104 | </xs:element>
|
---|
| 105 |
|
---|
| 106 | <xs:notation name='gif' public='-//APP/Photoshop/4.0' system='photoshop.exe'/>
|
---|
| 107 |
|
---|
| 108 | </xs:schema>
|
---|