]> git.argeo.org Git - gpl/argeo-suite.git/blob - org.argeo.app.core/src/org/argeo/app/core/schemas/xlink.xsd
Add cn to person entity
[gpl/argeo-suite.git] / org.argeo.app.core / src / org / argeo / app / core / schemas / xlink.xsd
1 <?xml version='1.0' encoding='UTF-8'?>
2 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.w3.org/1999/xlink" xmlns:xlink="http://www.w3.org/1999/xlink">
3
4 <xs:annotation>
5 <xs:documentation>This schema is not normative, or even definitive. The
6 prose copy in the XLink 1.1 recommendation (http://www.w3.org/TR/xlink11/) is
7 definitive, although it should not differ from this file, except for the
8 absence of these two initial comments.</xs:documentation>
9 </xs:annotation>
10
11 <xs:annotation>
12 <xs:documentation>In keeping with the W3C's standard versioning
13 policy, this schema document will persist at
14 http://www.w3.org/XML/2008/06/xlink.xsd.
15 At the date of issue it can also be found at
16 http://www.w3.org/1999/xlink.xsd.
17 The schema document at that URI may however change in the future,
18 in order to remain compatible with the latest version of XML Schema
19 itself, or with the XLink namespace itself. In other words, if the XML
20 Schema or XLink namespaces change, the version of this document at
21 http://www.w3.org/1999/xlink.xsd will change
22 accordingly; the version at
23 http://www.w3.org/2008/06/xlink.xsd will not change.
24 </xs:documentation>
25 </xs:annotation>
26
27 <xs:annotation>
28 <xs:documentation>This schema document provides attribute declarations and
29 attribute group, complex type and simple type definitions which can be used in
30 the construction of user schemas to define the structure of particular linking
31 constructs, e.g.
32 <![CDATA[
33 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
34 xmlns:xl="http://www.w3.org/1999/xlink">
35
36 <xs:import namespace="http://www.w3.org/1999/xlink"
37 location="http://www.w3.org/1999/xlink.xsd">
38
39 <xs:element name="mySimple">
40 <xs:complexType>
41 ...
42 <xs:attributeGroup ref="xl:simpleAttrs"/>
43 ...
44 </xs:complexType>
45 </xs:element>
46 ...
47 </xs:schema>]]></xs:documentation>
48 </xs:annotation>
49
50 <xs:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="xml.xsd"/>
51
52 <xs:attribute name="type" type="xlink:typeType"/>
53
54 <xs:simpleType name="typeType">
55 <xs:restriction base="xs:token">
56 <xs:enumeration value="simple"/>
57 <xs:enumeration value="extended"/>
58 <xs:enumeration value="title"/>
59 <xs:enumeration value="resource"/>
60 <xs:enumeration value="locator"/>
61 <xs:enumeration value="arc"/>
62 </xs:restriction>
63 </xs:simpleType>
64
65 <xs:attribute name="href" type="xlink:hrefType"/>
66
67 <xs:simpleType name="hrefType">
68 <xs:restriction base="xs:anyURI"/>
69 </xs:simpleType>
70
71 <xs:attribute name="role" type="xlink:roleType"/>
72
73 <xs:simpleType name="roleType">
74 <xs:restriction base="xs:anyURI">
75 <xs:minLength value="1"/>
76 </xs:restriction>
77 </xs:simpleType>
78
79 <xs:attribute name="arcrole" type="xlink:arcroleType"/>
80
81 <xs:simpleType name="arcroleType">
82 <xs:restriction base="xs:anyURI">
83 <xs:minLength value="1"/>
84 </xs:restriction>
85 </xs:simpleType>
86
87 <xs:attribute name="title" type="xlink:titleAttrType"/>
88
89 <xs:simpleType name="titleAttrType">
90 <xs:restriction base="xs:string"/>
91 </xs:simpleType>
92
93 <xs:attribute name="show" type="xlink:showType"/>
94
95 <xs:simpleType name="showType">
96 <xs:restriction base="xs:token">
97 <xs:enumeration value="new"/>
98 <xs:enumeration value="replace"/>
99 <xs:enumeration value="embed"/>
100 <xs:enumeration value="other"/>
101 <xs:enumeration value="none"/>
102 </xs:restriction>
103 </xs:simpleType>
104
105 <xs:attribute name="actuate" type="xlink:actuateType"/>
106
107 <xs:simpleType name="actuateType">
108 <xs:restriction base="xs:token">
109 <xs:enumeration value="onLoad"/>
110 <xs:enumeration value="onRequest"/>
111 <xs:enumeration value="other"/>
112 <xs:enumeration value="none"/>
113 </xs:restriction>
114 </xs:simpleType>
115
116 <xs:attribute name="label" type="xlink:labelType"/>
117
118 <xs:simpleType name="labelType">
119 <xs:restriction base="xs:NCName"/>
120 </xs:simpleType>
121
122 <xs:attribute name="from" type="xlink:fromType"/>
123
124 <xs:simpleType name="fromType">
125 <xs:restriction base="xs:NCName"/>
126 </xs:simpleType>
127
128 <xs:attribute name="to" type="xlink:toType"/>
129
130 <xs:simpleType name="toType">
131 <xs:restriction base="xs:NCName"/>
132 </xs:simpleType>
133
134 <xs:attributeGroup name="simpleAttrs">
135 <xs:attribute ref="xlink:type" fixed="simple"/>
136 <xs:attribute ref="xlink:href"/>
137 <xs:attribute ref="xlink:role"/>
138 <xs:attribute ref="xlink:arcrole"/>
139 <xs:attribute ref="xlink:title"/>
140 <xs:attribute ref="xlink:show"/>
141 <xs:attribute ref="xlink:actuate"/>
142 </xs:attributeGroup>
143
144 <xs:group name="simpleModel">
145 <xs:sequence>
146 <xs:any processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
147 </xs:sequence>
148 </xs:group>
149
150 <xs:complexType mixed="true" name="simple">
151 <xs:annotation>
152 <xs:documentation>
153 Intended for use as the type of user-declared elements to make them
154 simple links.
155 </xs:documentation>
156 </xs:annotation>
157 <xs:group ref="xlink:simpleModel"/>
158 <xs:attributeGroup ref="xlink:simpleAttrs"/>
159 </xs:complexType>
160
161 <xs:attributeGroup name="extendedAttrs">
162 <xs:attribute ref="xlink:type" fixed="extended" use="required"/>
163 <xs:attribute ref="xlink:role"/>
164 <xs:attribute ref="xlink:title"/>
165 </xs:attributeGroup>
166
167 <xs:group name="extendedModel">
168 <xs:choice>
169 <xs:element ref="xlink:title"/>
170 <xs:element ref="xlink:resource"/>
171 <xs:element ref="xlink:locator"/>
172 <xs:element ref="xlink:arc"/>
173 </xs:choice>
174 </xs:group>
175
176 <xs:complexType name="extended">
177 <xs:annotation>
178 <xs:documentation>
179 Intended for use as the type of user-declared elements to make them
180 extended links.
181 Note that the elements referenced in the content model are all abstract.
182 The intention is that by simply declaring elements with these as their
183 substitutionGroup, all the right things will happen.
184 </xs:documentation>
185 </xs:annotation>
186 <xs:group ref="xlink:extendedModel" minOccurs="0" maxOccurs="unbounded"/>
187 <xs:attributeGroup ref="xlink:extendedAttrs"/>
188 </xs:complexType>
189
190 <xs:element name="title" type="xlink:titleEltType" abstract="true"/>
191
192 <xs:attributeGroup name="titleAttrs">
193 <xs:attribute ref="xlink:type" fixed="title" use="required"/>
194 <xs:attribute ref="xml:lang">
195 <xs:annotation>
196 <xs:documentation>
197 xml:lang is not required, but provides much of the
198 motivation for title elements in addition to attributes, and so
199 is provided here for convenience.
200 </xs:documentation>
201 </xs:annotation>
202 </xs:attribute>
203 </xs:attributeGroup>
204
205 <xs:group name="titleModel">
206 <xs:sequence>
207 <xs:any processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
208 </xs:sequence>
209 </xs:group>
210
211 <xs:complexType mixed="true" name="titleEltType">
212 <xs:group ref="xlink:titleModel"/>
213 <xs:attributeGroup ref="xlink:titleAttrs"/>
214 </xs:complexType>
215
216 <xs:element name="resource" type="xlink:resourceType" abstract="true"/>
217
218 <xs:attributeGroup name="resourceAttrs">
219 <xs:attribute ref="xlink:type" fixed="resource" use="required"/>
220 <xs:attribute ref="xlink:role"/>
221 <xs:attribute ref="xlink:title"/>
222 <xs:attribute ref="xlink:label"/>
223 </xs:attributeGroup>
224
225 <xs:group name="resourceModel">
226 <xs:sequence>
227 <xs:any processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
228 </xs:sequence>
229 </xs:group>
230
231 <xs:complexType mixed="true" name="resourceType">
232 <xs:group ref="xlink:resourceModel"/>
233 <xs:attributeGroup ref="xlink:resourceAttrs"/>
234 </xs:complexType>
235
236 <xs:element name="locator" type="xlink:locatorType" abstract="true"/>
237
238 <xs:attributeGroup name="locatorAttrs">
239 <xs:attribute ref="xlink:type" fixed="locator" use="required"/>
240 <xs:attribute ref="xlink:href" use="required"/>
241 <xs:attribute ref="xlink:role"/>
242 <xs:attribute ref="xlink:title"/>
243 <xs:attribute ref="xlink:label">
244 <xs:annotation>
245 <xs:documentation>
246 label is not required, but locators have no particular
247 XLink function if they are not labeled.
248 </xs:documentation>
249 </xs:annotation>
250 </xs:attribute>
251 </xs:attributeGroup>
252
253 <xs:group name="locatorModel">
254 <xs:sequence>
255 <xs:element ref="xlink:title" minOccurs="0" maxOccurs="unbounded"/>
256 </xs:sequence>
257 </xs:group>
258
259 <xs:complexType name="locatorType">
260 <xs:group ref="xlink:locatorModel"/>
261 <xs:attributeGroup ref="xlink:locatorAttrs"/>
262 </xs:complexType>
263
264 <xs:element name="arc" type="xlink:arcType" abstract="true"/>
265
266 <xs:attributeGroup name="arcAttrs">
267 <xs:attribute ref="xlink:type" fixed="arc" use="required"/>
268 <xs:attribute ref="xlink:arcrole"/>
269 <xs:attribute ref="xlink:title"/>
270 <xs:attribute ref="xlink:show"/>
271 <xs:attribute ref="xlink:actuate"/>
272 <xs:attribute ref="xlink:from"/>
273 <xs:attribute ref="xlink:to">
274 <xs:annotation>
275 <xs:documentation>
276 from and to have default behavior when values are missing
277 </xs:documentation>
278 </xs:annotation>
279 </xs:attribute>
280 </xs:attributeGroup>
281
282 <xs:group name="arcModel">
283 <xs:sequence>
284 <xs:element ref="xlink:title" minOccurs="0" maxOccurs="unbounded"/>
285 </xs:sequence>
286 </xs:group>
287
288 <xs:complexType name="arcType">
289 <xs:group ref="xlink:arcModel"/>
290 <xs:attributeGroup ref="xlink:arcAttrs"/>
291 </xs:complexType>
292
293 </xs:schema>