1 <?xml version='1.0'?> |
|
2 <!-- XML Schema schema for XML Schemas: Part 2: Datatypes --> |
|
3 <!DOCTYPE xs:schema PUBLIC "-//W3C//DTD XMLSCHEMA 200102//EN" |
|
4 "XMLSchema.dtd" [ |
|
5 |
|
6 <!-- |
|
7 keep this schema XML1.0 DTD valid |
|
8 --> |
|
9 <!ENTITY % schemaAttrs 'xmlns:hfp CDATA #IMPLIED'> |
|
10 |
|
11 <!ELEMENT hfp:hasFacet EMPTY> |
|
12 <!ATTLIST hfp:hasFacet |
|
13 name NMTOKEN #REQUIRED> |
|
14 |
|
15 <!ELEMENT hfp:hasProperty EMPTY> |
|
16 <!ATTLIST hfp:hasProperty |
|
17 name NMTOKEN #REQUIRED |
|
18 value CDATA #REQUIRED> |
|
19 <!-- |
|
20 Make sure that processors that do not read the external |
|
21 subset will know about the various IDs we declare |
|
22 --> |
|
23 <!ATTLIST xs:simpleType id ID #IMPLIED> |
|
24 <!ATTLIST xs:maxExclusive id ID #IMPLIED> |
|
25 <!ATTLIST xs:minExclusive id ID #IMPLIED> |
|
26 <!ATTLIST xs:maxInclusive id ID #IMPLIED> |
|
27 <!ATTLIST xs:minInclusive id ID #IMPLIED> |
|
28 <!ATTLIST xs:totalDigits id ID #IMPLIED> |
|
29 <!ATTLIST xs:fractionDigits id ID #IMPLIED> |
|
30 <!ATTLIST xs:length id ID #IMPLIED> |
|
31 <!ATTLIST xs:minLength id ID #IMPLIED> |
|
32 <!ATTLIST xs:maxLength id ID #IMPLIED> |
|
33 <!ATTLIST xs:enumeration id ID #IMPLIED> |
|
34 <!ATTLIST xs:pattern id ID #IMPLIED> |
|
35 <!ATTLIST xs:appinfo id ID #IMPLIED> |
|
36 <!ATTLIST xs:documentation id ID #IMPLIED> |
|
37 <!ATTLIST xs:list id ID #IMPLIED> |
|
38 <!ATTLIST xs:union id ID #IMPLIED> |
|
39 ]> |
|
40 |
|
41 |
|
42 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" |
|
43 targetNamespace="http://www.w3.org/2001/XMLSchema" |
|
44 version="Id: datatypes.xsd,v 1.52 2001/04/27 11:49:21 ht Exp " |
|
45 xmlns:hfp="http://www.w3.org/2001/XMLSchema-hasFacetAndProperty" |
|
46 elementFormDefault="qualified" |
|
47 blockDefault="#all" |
|
48 xml:lang="en"> |
|
49 |
|
50 <xs:annotation> |
|
51 <xs:documentation source="http://www.w3.org/TR/2001/REC-xmlschema-2-20010502/datatypes"> |
|
52 The schema corresponding to this document is normative, |
|
53 with respect to the syntactic constraints it expresses in the |
|
54 XML Schema language. The documentation (within <documentation> |
|
55 elements) below, is not normative, but rather highlights important |
|
56 aspects of the W3C Recommendation of which this is a part |
|
57 </xs:documentation> |
|
58 </xs:annotation> |
|
59 |
|
60 <xs:annotation> |
|
61 <xs:documentation> |
|
62 First the built-in primitive datatypes. These definitions are for |
|
63 information only, the real built-in definitions are magic. Note in |
|
64 particular that there is no type named 'anySimpleType'. The |
|
65 primitives should really be derived from no type at all, and |
|
66 anySimpleType should be derived as a union of all the primitives. |
|
67 </xs:documentation> |
|
68 |
|
69 <xs:documentation> |
|
70 For each built-in datatype in this schema (both primitive and |
|
71 derived) can be uniquely addressed via a URI constructed |
|
72 as follows: |
|
73 1) the base URI is the URI of the XML Schema namespace |
|
74 2) the fragment identifier is the name of the datatype |
|
75 |
|
76 For example, to address the int datatype, the URI is: |
|
77 |
|
78 http://www.w3.org/2001/XMLSchema#int |
|
79 |
|
80 Additionally, each facet definition element can be uniquely |
|
81 addressed via a URI constructed as follows: |
|
82 1) the base URI is the URI of the XML Schema namespace |
|
83 2) the fragment identifier is the name of the facet |
|
84 |
|
85 For example, to address the maxInclusive facet, the URI is: |
|
86 |
|
87 http://www.w3.org/2001/XMLSchema#maxInclusive |
|
88 |
|
89 Additionally, each facet usage in a built-in datatype definition |
|
90 can be uniquely addressed via a URI constructed as follows: |
|
91 1) the base URI is the URI of the XML Schema namespace |
|
92 2) the fragment identifier is the name of the datatype, followed |
|
93 by a period (".") followed by the name of the facet |
|
94 |
|
95 For example, to address the usage of the maxInclusive facet in |
|
96 the definition of int, the URI is: |
|
97 |
|
98 http://www.w3.org/2001/XMLSchema#int.maxInclusive |
|
99 |
|
100 </xs:documentation> |
|
101 </xs:annotation> |
|
102 |
|
103 <!-- |
|
104 <xs:simpleType name="string" id="string"> |
|
105 <xs:annotation> |
|
106 <xs:appinfo> |
|
107 <hfp:hasFacet name="length"/> |
|
108 <hfp:hasFacet name="minLength"/> |
|
109 <hfp:hasFacet name="maxLength"/> |
|
110 <hfp:hasFacet name="pattern"/> |
|
111 <hfp:hasFacet name="enumeration"/> |
|
112 <hfp:hasFacet name="whiteSpace"/> |
|
113 <hfp:hasProperty name="ordered" value="false"/> |
|
114 <hfp:hasProperty name="bounded" value="false"/> |
|
115 <hfp:hasProperty name="cardinality" value="countably infinite"/> |
|
116 <hfp:hasProperty name="numeric" value="false"/> |
|
117 </xs:appinfo> |
|
118 <xs:documentation |
|
119 source="http://www.w3.org/TR/xmlschema-2/#string"/> |
|
120 </xs:annotation> |
|
121 <xs:restriction base="xs:anySimpleType"> |
|
122 <xs:whiteSpace value="preserve" id="string.preserve"/> |
|
123 </xs:restriction> |
|
124 </xs:simpleType> |
|
125 |
|
126 <xs:simpleType name="boolean" id="boolean"> |
|
127 <xs:annotation> |
|
128 <xs:appinfo> |
|
129 <hfp:hasFacet name="pattern"/> |
|
130 <hfp:hasFacet name="whiteSpace"/> |
|
131 <hfp:hasProperty name="ordered" value="false"/> |
|
132 <hfp:hasProperty name="bounded" value="false"/> |
|
133 <hfp:hasProperty name="cardinality" value="finite"/> |
|
134 <hfp:hasProperty name="numeric" value="false"/> |
|
135 </xs:appinfo> |
|
136 <xs:documentation |
|
137 source="http://www.w3.org/TR/xmlschema-2/#boolean"/> |
|
138 </xs:annotation> |
|
139 <xs:restriction base="xs:anySimpleType"> |
|
140 <xs:whiteSpace value="collapse" fixed="true" |
|
141 id="boolean.whiteSpace"/> |
|
142 </xs:restriction> |
|
143 </xs:simpleType> |
|
144 |
|
145 <xs:simpleType name="float" id="float"> |
|
146 <xs:annotation> |
|
147 <xs:appinfo> |
|
148 <hfp:hasFacet name="pattern"/> |
|
149 <hfp:hasFacet name="enumeration"/> |
|
150 <hfp:hasFacet name="whiteSpace"/> |
|
151 <hfp:hasFacet name="maxInclusive"/> |
|
152 <hfp:hasFacet name="maxExclusive"/> |
|
153 <hfp:hasFacet name="minInclusive"/> |
|
154 <hfp:hasFacet name="minExclusive"/> |
|
155 <hfp:hasProperty name="ordered" value="total"/> |
|
156 <hfp:hasProperty name="bounded" value="true"/> |
|
157 <hfp:hasProperty name="cardinality" value="finite"/> |
|
158 <hfp:hasProperty name="numeric" value="true"/> |
|
159 </xs:appinfo> |
|
160 <xs:documentation |
|
161 source="http://www.w3.org/TR/xmlschema-2/#float"/> |
|
162 </xs:annotation> |
|
163 <xs:restriction base="xs:anySimpleType"> |
|
164 <xs:whiteSpace value="collapse" fixed="true" |
|
165 id="float.whiteSpace"/> |
|
166 </xs:restriction> |
|
167 </xs:simpleType> |
|
168 |
|
169 <xs:simpleType name="double" id="double"> |
|
170 <xs:annotation> |
|
171 <xs:appinfo> |
|
172 <hfp:hasFacet name="pattern"/> |
|
173 <hfp:hasFacet name="enumeration"/> |
|
174 <hfp:hasFacet name="whiteSpace"/> |
|
175 <hfp:hasFacet name="maxInclusive"/> |
|
176 <hfp:hasFacet name="maxExclusive"/> |
|
177 <hfp:hasFacet name="minInclusive"/> |
|
178 <hfp:hasFacet name="minExclusive"/> |
|
179 <hfp:hasProperty name="ordered" value="total"/> |
|
180 <hfp:hasProperty name="bounded" value="true"/> |
|
181 <hfp:hasProperty name="cardinality" value="finite"/> |
|
182 <hfp:hasProperty name="numeric" value="true"/> |
|
183 </xs:appinfo> |
|
184 <xs:documentation |
|
185 source="http://www.w3.org/TR/xmlschema-2/#double"/> |
|
186 </xs:annotation> |
|
187 <xs:restriction base="xs:anySimpleType"> |
|
188 <xs:whiteSpace value="collapse" fixed="true" |
|
189 id="double.whiteSpace"/> |
|
190 </xs:restriction> |
|
191 </xs:simpleType> |
|
192 |
|
193 <xs:simpleType name="decimal" id="decimal"> |
|
194 <xs:annotation> |
|
195 <xs:appinfo> |
|
196 <hfp:hasFacet name="totalDigits"/> |
|
197 <hfp:hasFacet name="fractionDigits"/> |
|
198 <hfp:hasFacet name="pattern"/> |
|
199 <hfp:hasFacet name="whiteSpace"/> |
|
200 <hfp:hasFacet name="enumeration"/> |
|
201 <hfp:hasFacet name="maxInclusive"/> |
|
202 <hfp:hasFacet name="maxExclusive"/> |
|
203 <hfp:hasFacet name="minInclusive"/> |
|
204 <hfp:hasFacet name="minExclusive"/> |
|
205 <hfp:hasProperty name="ordered" value="total"/> |
|
206 <hfp:hasProperty name="bounded" value="false"/> |
|
207 <hfp:hasProperty name="cardinality" |
|
208 value="countably infinite"/> |
|
209 <hfp:hasProperty name="numeric" value="true"/> |
|
210 </xs:appinfo> |
|
211 <xs:documentation |
|
212 source="http://www.w3.org/TR/xmlschema-2/#decimal"/> |
|
213 </xs:annotation> |
|
214 <xs:restriction base="xs:anySimpleType"> |
|
215 <xs:whiteSpace value="collapse" fixed="true" |
|
216 id="decimal.whiteSpace"/> |
|
217 </xs:restriction> |
|
218 </xs:simpleType> |
|
219 |
|
220 <xs:simpleType name="duration" id="duration"> |
|
221 <xs:annotation> |
|
222 <xs:appinfo> |
|
223 <hfp:hasFacet name="pattern"/> |
|
224 <hfp:hasFacet name="enumeration"/> |
|
225 <hfp:hasFacet name="whiteSpace"/> |
|
226 <hfp:hasFacet name="maxInclusive"/> |
|
227 <hfp:hasFacet name="maxExclusive"/> |
|
228 <hfp:hasFacet name="minInclusive"/> |
|
229 <hfp:hasFacet name="minExclusive"/> |
|
230 <hfp:hasProperty name="ordered" value="partial"/> |
|
231 <hfp:hasProperty name="bounded" value="false"/> |
|
232 <hfp:hasProperty name="cardinality" |
|
233 value="countably infinite"/> |
|
234 <hfp:hasProperty name="numeric" value="false"/> |
|
235 </xs:appinfo> |
|
236 <xs:documentation |
|
237 source="http://www.w3.org/TR/xmlschema-2/#duration"/> |
|
238 </xs:annotation> |
|
239 <xs:restriction base="xs:anySimpleType"> |
|
240 <xs:whiteSpace value="collapse" fixed="true" |
|
241 id="duration.whiteSpace"/> |
|
242 </xs:restriction> |
|
243 </xs:simpleType> |
|
244 |
|
245 <xs:simpleType name="dateTime" id="dateTime"> |
|
246 <xs:annotation> |
|
247 <xs:appinfo> |
|
248 <hfp:hasFacet name="pattern"/> |
|
249 <hfp:hasFacet name="enumeration"/> |
|
250 <hfp:hasFacet name="whiteSpace"/> |
|
251 <hfp:hasFacet name="maxInclusive"/> |
|
252 <hfp:hasFacet name="maxExclusive"/> |
|
253 <hfp:hasFacet name="minInclusive"/> |
|
254 <hfp:hasFacet name="minExclusive"/> |
|
255 <hfp:hasProperty name="ordered" value="partial"/> |
|
256 <hfp:hasProperty name="bounded" value="false"/> |
|
257 <hfp:hasProperty name="cardinality" |
|
258 value="countably infinite"/> |
|
259 <hfp:hasProperty name="numeric" value="false"/> |
|
260 </xs:appinfo> |
|
261 <xs:documentation |
|
262 source="http://www.w3.org/TR/xmlschema-2/#dateTime"/> |
|
263 </xs:annotation> |
|
264 <xs:restriction base="xs:anySimpleType"> |
|
265 <xs:whiteSpace value="collapse" fixed="true" |
|
266 id="dateTime.whiteSpace"/> |
|
267 </xs:restriction> |
|
268 </xs:simpleType> |
|
269 |
|
270 <xs:simpleType name="time" id="time"> |
|
271 <xs:annotation> |
|
272 <xs:appinfo> |
|
273 <hfp:hasFacet name="pattern"/> |
|
274 <hfp:hasFacet name="enumeration"/> |
|
275 <hfp:hasFacet name="whiteSpace"/> |
|
276 <hfp:hasFacet name="maxInclusive"/> |
|
277 <hfp:hasFacet name="maxExclusive"/> |
|
278 <hfp:hasFacet name="minInclusive"/> |
|
279 <hfp:hasFacet name="minExclusive"/> |
|
280 <hfp:hasProperty name="ordered" value="partial"/> |
|
281 <hfp:hasProperty name="bounded" value="false"/> |
|
282 <hfp:hasProperty name="cardinality" |
|
283 value="countably infinite"/> |
|
284 <hfp:hasProperty name="numeric" value="false"/> |
|
285 </xs:appinfo> |
|
286 <xs:documentation |
|
287 source="http://www.w3.org/TR/xmlschema-2/#time"/> |
|
288 </xs:annotation> |
|
289 <xs:restriction base="xs:anySimpleType"> |
|
290 <xs:whiteSpace value="collapse" fixed="true" |
|
291 id="time.whiteSpace"/> |
|
292 </xs:restriction> |
|
293 </xs:simpleType> |
|
294 |
|
295 <xs:simpleType name="date" id="date"> |
|
296 <xs:annotation> |
|
297 <xs:appinfo> |
|
298 <hfp:hasFacet name="pattern"/> |
|
299 <hfp:hasFacet name="enumeration"/> |
|
300 <hfp:hasFacet name="whiteSpace"/> |
|
301 <hfp:hasFacet name="maxInclusive"/> |
|
302 <hfp:hasFacet name="maxExclusive"/> |
|
303 <hfp:hasFacet name="minInclusive"/> |
|
304 <hfp:hasFacet name="minExclusive"/> |
|
305 <hfp:hasProperty name="ordered" value="partial"/> |
|
306 <hfp:hasProperty name="bounded" value="false"/> |
|
307 <hfp:hasProperty name="cardinality" |
|
308 value="countably infinite"/> |
|
309 <hfp:hasProperty name="numeric" value="false"/> |
|
310 </xs:appinfo> |
|
311 <xs:documentation |
|
312 source="http://www.w3.org/TR/xmlschema-2/#date"/> |
|
313 </xs:annotation> |
|
314 <xs:restriction base="xs:anySimpleType"> |
|
315 <xs:whiteSpace value="collapse" fixed="true" |
|
316 id="date.whiteSpace"/> |
|
317 </xs:restriction> |
|
318 </xs:simpleType> |
|
319 |
|
320 <xs:simpleType name="gYearMonth" id="gYearMonth"> |
|
321 <xs:annotation> |
|
322 <xs:appinfo> |
|
323 <hfp:hasFacet name="pattern"/> |
|
324 <hfp:hasFacet name="enumeration"/> |
|
325 <hfp:hasFacet name="whiteSpace"/> |
|
326 <hfp:hasFacet name="maxInclusive"/> |
|
327 <hfp:hasFacet name="maxExclusive"/> |
|
328 <hfp:hasFacet name="minInclusive"/> |
|
329 <hfp:hasFacet name="minExclusive"/> |
|
330 <hfp:hasProperty name="ordered" value="partial"/> |
|
331 <hfp:hasProperty name="bounded" value="false"/> |
|
332 <hfp:hasProperty name="cardinality" |
|
333 value="countably infinite"/> |
|
334 <hfp:hasProperty name="numeric" value="false"/> |
|
335 </xs:appinfo> |
|
336 <xs:documentation |
|
337 source="http://www.w3.org/TR/xmlschema-2/#gYearMonth"/> |
|
338 </xs:annotation> |
|
339 <xs:restriction base="xs:anySimpleType"> |
|
340 <xs:whiteSpace value="collapse" fixed="true" |
|
341 id="gYearMonth.whiteSpace"/> |
|
342 </xs:restriction> |
|
343 </xs:simpleType> |
|
344 |
|
345 <xs:simpleType name="gYear" id="gYear"> |
|
346 <xs:annotation> |
|
347 <xs:appinfo> |
|
348 <hfp:hasFacet name="pattern"/> |
|
349 <hfp:hasFacet name="enumeration"/> |
|
350 <hfp:hasFacet name="whiteSpace"/> |
|
351 <hfp:hasFacet name="maxInclusive"/> |
|
352 <hfp:hasFacet name="maxExclusive"/> |
|
353 <hfp:hasFacet name="minInclusive"/> |
|
354 <hfp:hasFacet name="minExclusive"/> |
|
355 <hfp:hasProperty name="ordered" value="partial"/> |
|
356 <hfp:hasProperty name="bounded" value="false"/> |
|
357 <hfp:hasProperty name="cardinality" |
|
358 value="countably infinite"/> |
|
359 <hfp:hasProperty name="numeric" value="false"/> |
|
360 </xs:appinfo> |
|
361 <xs:documentation |
|
362 source="http://www.w3.org/TR/xmlschema-2/#gYear"/> |
|
363 </xs:annotation> |
|
364 <xs:restriction base="xs:anySimpleType"> |
|
365 <xs:whiteSpace value="collapse" fixed="true" |
|
366 id="gYear.whiteSpace"/> |
|
367 </xs:restriction> |
|
368 </xs:simpleType> |
|
369 |
|
370 <xs:simpleType name="gMonthDay" id="gMonthDay"> |
|
371 <xs:annotation> |
|
372 <xs:appinfo> |
|
373 <hfp:hasFacet name="pattern"/> |
|
374 <hfp:hasFacet name="enumeration"/> |
|
375 <hfp:hasFacet name="whiteSpace"/> |
|
376 <hfp:hasFacet name="maxInclusive"/> |
|
377 <hfp:hasFacet name="maxExclusive"/> |
|
378 <hfp:hasFacet name="minInclusive"/> |
|
379 <hfp:hasFacet name="minExclusive"/> |
|
380 <hfp:hasProperty name="ordered" value="partial"/> |
|
381 <hfp:hasProperty name="bounded" value="false"/> |
|
382 <hfp:hasProperty name="cardinality" |
|
383 value="countably infinite"/> |
|
384 <hfp:hasProperty name="numeric" value="false"/> |
|
385 </xs:appinfo> |
|
386 <xs:documentation |
|
387 source="http://www.w3.org/TR/xmlschema-2/#gMonthDay"/> |
|
388 </xs:annotation> |
|
389 <xs:restriction base="xs:anySimpleType"> |
|
390 <xs:whiteSpace value="collapse" fixed="true" |
|
391 id="gMonthDay.whiteSpace"/> |
|
392 </xs:restriction> |
|
393 </xs:simpleType> |
|
394 |
|
395 <xs:simpleType name="gDay" id="gDay"> |
|
396 <xs:annotation> |
|
397 <xs:appinfo> |
|
398 <hfp:hasFacet name="pattern"/> |
|
399 <hfp:hasFacet name="enumeration"/> |
|
400 <hfp:hasFacet name="whiteSpace"/> |
|
401 <hfp:hasFacet name="maxInclusive"/> |
|
402 <hfp:hasFacet name="maxExclusive"/> |
|
403 <hfp:hasFacet name="minInclusive"/> |
|
404 <hfp:hasFacet name="minExclusive"/> |
|
405 <hfp:hasProperty name="ordered" value="partial"/> |
|
406 <hfp:hasProperty name="bounded" value="false"/> |
|
407 <hfp:hasProperty name="cardinality" |
|
408 value="countably infinite"/> |
|
409 <hfp:hasProperty name="numeric" value="false"/> |
|
410 </xs:appinfo> |
|
411 <xs:documentation |
|
412 source="http://www.w3.org/TR/xmlschema-2/#gDay"/> |
|
413 </xs:annotation> |
|
414 <xs:restriction base="xs:anySimpleType"> |
|
415 <xs:whiteSpace value="collapse" fixed="true" |
|
416 id="gDay.whiteSpace"/> |
|
417 </xs:restriction> |
|
418 </xs:simpleType> |
|
419 |
|
420 <xs:simpleType name="gMonth" id="gMonth"> |
|
421 <xs:annotation> |
|
422 <xs:appinfo> |
|
423 <hfp:hasFacet name="pattern"/> |
|
424 <hfp:hasFacet name="enumeration"/> |
|
425 <hfp:hasFacet name="whiteSpace"/> |
|
426 <hfp:hasFacet name="maxInclusive"/> |
|
427 <hfp:hasFacet name="maxExclusive"/> |
|
428 <hfp:hasFacet name="minInclusive"/> |
|
429 <hfp:hasFacet name="minExclusive"/> |
|
430 <hfp:hasProperty name="ordered" value="partial"/> |
|
431 <hfp:hasProperty name="bounded" value="false"/> |
|
432 <hfp:hasProperty name="cardinality" |
|
433 value="countably infinite"/> |
|
434 <hfp:hasProperty name="numeric" value="false"/> |
|
435 </xs:appinfo> |
|
436 <xs:documentation |
|
437 source="http://www.w3.org/TR/xmlschema-2/#gMonth"/> |
|
438 </xs:annotation> |
|
439 <xs:restriction base="xs:anySimpleType"> |
|
440 <xs:whiteSpace value="collapse" fixed="true" |
|
441 id="gMonth.whiteSpace"/> |
|
442 </xs:restriction> |
|
443 </xs:simpleType> |
|
444 |
|
445 <xs:simpleType name="hexBinary" id="hexBinary"> |
|
446 <xs:annotation> |
|
447 <xs:appinfo> |
|
448 <hfp:hasFacet name="length"/> |
|
449 <hfp:hasFacet name="minLength"/> |
|
450 <hfp:hasFacet name="maxLength"/> |
|
451 <hfp:hasFacet name="pattern"/> |
|
452 <hfp:hasFacet name="enumeration"/> |
|
453 <hfp:hasFacet name="whiteSpace"/> |
|
454 <hfp:hasProperty name="ordered" value="false"/> |
|
455 <hfp:hasProperty name="bounded" value="false"/> |
|
456 <hfp:hasProperty name="cardinality" |
|
457 value="countably infinite"/> |
|
458 <hfp:hasProperty name="numeric" value="false"/> |
|
459 </xs:appinfo> |
|
460 <xs:documentation |
|
461 source="http://www.w3.org/TR/xmlschema-2/#binary"/> |
|
462 </xs:annotation> |
|
463 <xs:restriction base="xs:anySimpleType"> |
|
464 <xs:whiteSpace value="collapse" fixed="true" |
|
465 id="hexBinary.whiteSpace"/> |
|
466 </xs:restriction> |
|
467 </xs:simpleType> |
|
468 |
|
469 <xs:simpleType name="base64Binary" id="base64Binary"> |
|
470 <xs:annotation> |
|
471 <xs:appinfo> |
|
472 <hfp:hasFacet name="length"/> |
|
473 <hfp:hasFacet name="minLength"/> |
|
474 <hfp:hasFacet name="maxLength"/> |
|
475 <hfp:hasFacet name="pattern"/> |
|
476 <hfp:hasFacet name="enumeration"/> |
|
477 <hfp:hasFacet name="whiteSpace"/> |
|
478 <hfp:hasProperty name="ordered" value="false"/> |
|
479 <hfp:hasProperty name="bounded" value="false"/> |
|
480 <hfp:hasProperty name="cardinality" |
|
481 value="countably infinite"/> |
|
482 <hfp:hasProperty name="numeric" value="false"/> |
|
483 </xs:appinfo> |
|
484 <xs:documentation |
|
485 source="http://www.w3.org/TR/xmlschema-2/#base64Binary"/> |
|
486 </xs:annotation> |
|
487 <xs:restriction base="xs:anySimpleType"> |
|
488 <xs:whiteSpace value="collapse" fixed="true" |
|
489 id="base64Binary.whiteSpace"/> |
|
490 </xs:restriction> |
|
491 </xs:simpleType> |
|
492 |
|
493 <xs:simpleType name="anyURI" id="anyURI"> |
|
494 <xs:annotation> |
|
495 <xs:appinfo> |
|
496 <hfp:hasFacet name="length"/> |
|
497 <hfp:hasFacet name="minLength"/> |
|
498 <hfp:hasFacet name="maxLength"/> |
|
499 <hfp:hasFacet name="pattern"/> |
|
500 <hfp:hasFacet name="enumeration"/> |
|
501 <hfp:hasFacet name="whiteSpace"/> |
|
502 <hfp:hasProperty name="ordered" value="false"/> |
|
503 <hfp:hasProperty name="bounded" value="false"/> |
|
504 <hfp:hasProperty name="cardinality" |
|
505 value="countably infinite"/> |
|
506 <hfp:hasProperty name="numeric" value="false"/> |
|
507 </xs:appinfo> |
|
508 <xs:documentation |
|
509 source="http://www.w3.org/TR/xmlschema-2/#anyURI"/> |
|
510 </xs:annotation> |
|
511 <xs:restriction base="xs:anySimpleType"> |
|
512 <xs:whiteSpace value="collapse" fixed="true" |
|
513 id="anyURI.whiteSpace"/> |
|
514 </xs:restriction> |
|
515 </xs:simpleType> |
|
516 |
|
517 <xs:simpleType name="QName" id="QName"> |
|
518 <xs:annotation> |
|
519 <xs:appinfo> |
|
520 <hfp:hasFacet name="length"/> |
|
521 <hfp:hasFacet name="minLength"/> |
|
522 <hfp:hasFacet name="maxLength"/> |
|
523 <hfp:hasFacet name="pattern"/> |
|
524 <hfp:hasFacet name="enumeration"/> |
|
525 <hfp:hasFacet name="whiteSpace"/> |
|
526 <hfp:hasProperty name="ordered" value="false"/> |
|
527 <hfp:hasProperty name="bounded" value="false"/> |
|
528 <hfp:hasProperty name="cardinality" |
|
529 value="countably infinite"/> |
|
530 <hfp:hasProperty name="numeric" value="false"/> |
|
531 </xs:appinfo> |
|
532 <xs:documentation |
|
533 source="http://www.w3.org/TR/xmlschema-2/#QName"/> |
|
534 </xs:annotation> |
|
535 <xs:restriction base="xs:anySimpleType"> |
|
536 <xs:whiteSpace value="collapse" fixed="true" |
|
537 id="QName.whiteSpace"/> |
|
538 </xs:restriction> |
|
539 </xs:simpleType> |
|
540 |
|
541 |
|
542 <xs:simpleType name="NOTATION" id="NOTATION"> |
|
543 <xs:annotation> |
|
544 <xs:appinfo> |
|
545 <hfp:hasFacet name="length"/> |
|
546 <hfp:hasFacet name="minLength"/> |
|
547 <hfp:hasFacet name="maxLength"/> |
|
548 <hfp:hasFacet name="pattern"/> |
|
549 <hfp:hasFacet name="enumeration"/> |
|
550 <hfp:hasFacet name="whiteSpace"/> |
|
551 <hfp:hasProperty name="ordered" value="false"/> |
|
552 <hfp:hasProperty name="bounded" value="false"/> |
|
553 <hfp:hasProperty name="cardinality" |
|
554 value="countably infinite"/> |
|
555 <hfp:hasProperty name="numeric" value="false"/> |
|
556 </xs:appinfo> |
|
557 <xs:documentation |
|
558 source="http://www.w3.org/TR/xmlschema-2/#NOTATION"/> |
|
559 <xs:documentation> |
|
560 NOTATION cannot be used directly in a schema; rather a type |
|
561 must be derived from it by specifying at least one enumeration |
|
562 facet whose value is the name of a NOTATION declared in the |
|
563 schema. |
|
564 </xs:documentation> |
|
565 </xs:annotation> |
|
566 <xs:restriction base="xs:anySimpleType"> |
|
567 <xs:whiteSpace value="collapse" fixed="true" |
|
568 id="NOTATION.whiteSpace"/> |
|
569 </xs:restriction> |
|
570 </xs:simpleType> |
|
571 --> |
|
572 |
|
573 <!-- PATCH, to be corrected --> |
|
574 <xs:simpleType name="QName" id="QName"> |
|
575 <xs:restriction base="xs:Name"/> |
|
576 </xs:simpleType> |
|
577 <!-- PATCH end --> |
|
578 |
|
579 <xs:annotation> |
|
580 <xs:documentation> |
|
581 Now the derived primitive types |
|
582 </xs:documentation> |
|
583 </xs:annotation> |
|
584 |
|
585 <xs:simpleType name="normalizedString" id="normalizedString"> |
|
586 <xs:annotation> |
|
587 <xs:documentation |
|
588 source="http://www.w3.org/TR/xmlschema-2/#normalizedString"/> |
|
589 </xs:annotation> |
|
590 <xs:restriction base="xs:string"> |
|
591 <xs:whiteSpace value="replace" |
|
592 id="normalizedString.whiteSpace"/> |
|
593 </xs:restriction> |
|
594 </xs:simpleType> |
|
595 |
|
596 <xs:simpleType name="token" id="token"> |
|
597 <xs:annotation> |
|
598 <xs:documentation |
|
599 source="http://www.w3.org/TR/xmlschema-2/#token"/> |
|
600 </xs:annotation> |
|
601 <xs:restriction base="xs:normalizedString"> |
|
602 <xs:whiteSpace value="collapse" id="token.whiteSpace"/> |
|
603 </xs:restriction> |
|
604 </xs:simpleType> |
|
605 |
|
606 <xs:simpleType name="language" id="language"> |
|
607 <xs:annotation> |
|
608 <xs:documentation |
|
609 source="http://www.w3.org/TR/xmlschema-2/#language"/> |
|
610 </xs:annotation> |
|
611 <xs:restriction base="xs:token"> |
|
612 <xs:pattern |
|
613 value="([a-zA-Z]{2}|[iI]-[a-zA-Z]+|[xX]-[a-zA-Z]{1,8})(-[a-zA-Z]{1,8})*" |
|
614 id="language.pattern"> |
|
615 <xs:annotation> |
|
616 <xs:documentation |
|
617 source="http://www.w3.org/TR/REC-xml#NT-LanguageID"> |
|
618 pattern specifies the content of section 2.12 of XML 1.0e2 |
|
619 and RFC 1766 |
|
620 </xs:documentation> |
|
621 </xs:annotation> |
|
622 </xs:pattern> |
|
623 </xs:restriction> |
|
624 </xs:simpleType> |
|
625 |
|
626 <xs:simpleType name="IDREFS" id="IDREFS"> |
|
627 <xs:annotation> |
|
628 <xs:appinfo> |
|
629 <hfp:hasFacet name="length"/> |
|
630 <hfp:hasFacet name="minLength"/> |
|
631 <hfp:hasFacet name="maxLength"/> |
|
632 <hfp:hasFacet name="enumeration"/> |
|
633 <hfp:hasFacet name="whiteSpace"/> |
|
634 <hfp:hasProperty name="ordered" value="false"/> |
|
635 <hfp:hasProperty name="bounded" value="false"/> |
|
636 <hfp:hasProperty name="cardinality" |
|
637 value="countably infinite"/> |
|
638 <hfp:hasProperty name="numeric" value="false"/> |
|
639 </xs:appinfo> |
|
640 <xs:documentation |
|
641 source="http://www.w3.org/TR/xmlschema-2/#IDREFS"/> |
|
642 </xs:annotation> |
|
643 <xs:restriction> |
|
644 <xs:simpleType> |
|
645 <xs:list itemType="xs:IDREF"/> |
|
646 </xs:simpleType> |
|
647 <xs:minLength value="1" id="IDREFS.minLength"/> |
|
648 </xs:restriction> |
|
649 </xs:simpleType> |
|
650 |
|
651 <xs:simpleType name="ENTITIES" id="ENTITIES"> |
|
652 <xs:annotation> |
|
653 <xs:appinfo> |
|
654 <hfp:hasFacet name="length"/> |
|
655 <hfp:hasFacet name="minLength"/> |
|
656 <hfp:hasFacet name="maxLength"/> |
|
657 <hfp:hasFacet name="enumeration"/> |
|
658 <hfp:hasFacet name="whiteSpace"/> |
|
659 <hfp:hasProperty name="ordered" value="false"/> |
|
660 <hfp:hasProperty name="bounded" value="false"/> |
|
661 <hfp:hasProperty name="cardinality" |
|
662 value="countably infinite"/> |
|
663 <hfp:hasProperty name="numeric" value="false"/> |
|
664 </xs:appinfo> |
|
665 <xs:documentation |
|
666 source="http://www.w3.org/TR/xmlschema-2/#ENTITIES"/> |
|
667 </xs:annotation> |
|
668 <xs:restriction> |
|
669 <xs:simpleType> |
|
670 <xs:list itemType="xs:ENTITY"/> |
|
671 </xs:simpleType> |
|
672 <xs:minLength value="1" id="ENTITIES.minLength"/> |
|
673 </xs:restriction> |
|
674 </xs:simpleType> |
|
675 |
|
676 <xs:simpleType name="NMTOKEN" id="NMTOKEN"> |
|
677 <xs:annotation> |
|
678 <xs:documentation |
|
679 source="http://www.w3.org/TR/xmlschema-2/#NMTOKEN"/> |
|
680 </xs:annotation> |
|
681 <xs:restriction base="xs:token"> |
|
682 <xs:pattern value="[\w.\-:]+" id="NMTOKEN.pattern"> |
|
683 <xs:annotation> |
|
684 <xs:documentation |
|
685 source="http://www.w3.org/TR/REC-xml#NT-Nmtoken"> |
|
686 pattern matches production 7 from the XML spec |
|
687 </xs:documentation> |
|
688 </xs:annotation> |
|
689 </xs:pattern> |
|
690 </xs:restriction> |
|
691 </xs:simpleType> |
|
692 |
|
693 <xs:simpleType name="NMTOKENS" id="NMTOKENS"> |
|
694 <xs:annotation> |
|
695 <xs:appinfo> |
|
696 <hfp:hasFacet name="length"/> |
|
697 <hfp:hasFacet name="minLength"/> |
|
698 <hfp:hasFacet name="maxLength"/> |
|
699 <hfp:hasFacet name="enumeration"/> |
|
700 <hfp:hasFacet name="whiteSpace"/> |
|
701 <hfp:hasProperty name="ordered" value="false"/> |
|
702 <hfp:hasProperty name="bounded" value="false"/> |
|
703 <hfp:hasProperty name="cardinality" |
|
704 value="countably infinite"/> |
|
705 <hfp:hasProperty name="numeric" value="false"/> |
|
706 </xs:appinfo> |
|
707 <xs:documentation |
|
708 source="http://www.w3.org/TR/xmlschema-2/#NMTOKENS"/> |
|
709 </xs:annotation> |
|
710 <xs:restriction> |
|
711 <xs:simpleType> |
|
712 <xs:list itemType="xs:NMTOKEN"/> |
|
713 </xs:simpleType> |
|
714 <xs:minLength value="1" id="NMTOKENS.minLength"/> |
|
715 </xs:restriction> |
|
716 </xs:simpleType> |
|
717 |
|
718 <xs:simpleType name="Name" id="Name"> |
|
719 <xs:annotation> |
|
720 <xs:documentation |
|
721 source="http://www.w3.org/TR/xmlschema-2/#Name"/> |
|
722 </xs:annotation> |
|
723 <xs:restriction base="xs:token"> |
|
724 <xs:pattern value="[a-zA-z_:][\w.\-:]*" id="Name.pattern"> |
|
725 <xs:annotation> |
|
726 <xs:documentation |
|
727 source="http://www.w3.org/TR/REC-xml#NT-Name"> |
|
728 pattern matches production 5 from the XML spec |
|
729 </xs:documentation> |
|
730 </xs:annotation> |
|
731 </xs:pattern> |
|
732 </xs:restriction> |
|
733 </xs:simpleType> |
|
734 |
|
735 <xs:simpleType name="NCName" id="NCName"> |
|
736 <xs:annotation> |
|
737 <xs:documentation |
|
738 source="http://www.w3.org/TR/xmlschema-2/#NCName"/> |
|
739 </xs:annotation> |
|
740 <xs:restriction base="xs:Name"> |
|
741 <xs:pattern value="[a-zA-z_][\w.\-]*" id="NCName.pattern"> |
|
742 <xs:annotation> |
|
743 <xs:documentation |
|
744 source="http://www.w3.org/TR/REC-xml-names/#NT-NCName"> |
|
745 pattern matches production 4 from the Namespaces in XML spec |
|
746 </xs:documentation> |
|
747 </xs:annotation> |
|
748 </xs:pattern> |
|
749 </xs:restriction> |
|
750 </xs:simpleType> |
|
751 |
|
752 <xs:simpleType name="ID" id="ID"> |
|
753 <xs:annotation> |
|
754 <xs:documentation |
|
755 source="http://www.w3.org/TR/xmlschema-2/#ID"/> |
|
756 </xs:annotation> |
|
757 <xs:restriction base="xs:NCName"/> |
|
758 </xs:simpleType> |
|
759 |
|
760 <xs:simpleType name="IDREF" id="IDREF"> |
|
761 <xs:annotation> |
|
762 <xs:documentation |
|
763 source="http://www.w3.org/TR/xmlschema-2/#IDREF"/> |
|
764 </xs:annotation> |
|
765 <xs:restriction base="xs:NCName"/> |
|
766 </xs:simpleType> |
|
767 |
|
768 <xs:simpleType name="ENTITY" id="ENTITY"> |
|
769 <xs:annotation> |
|
770 <xs:documentation |
|
771 source="http://www.w3.org/TR/xmlschema-2/#ENTITY"/> |
|
772 </xs:annotation> |
|
773 <xs:restriction base="xs:NCName"/> |
|
774 </xs:simpleType> |
|
775 |
|
776 <!-- |
|
777 <xs:simpleType name="integer" id="integer"> |
|
778 <xs:annotation> |
|
779 <xs:documentation |
|
780 source="http://www.w3.org/TR/xmlschema-2/#integer"/> |
|
781 </xs:annotation> |
|
782 <xs:restriction base="xs:decimal"> |
|
783 <xs:fractionDigits value="0" fixed="true" id="integer.fractionDigits"/> |
|
784 </xs:restriction> |
|
785 </xs:simpleType> |
|
786 --> |
|
787 |
|
788 <xs:simpleType name="nonPositiveInteger" id="nonPositiveInteger"> |
|
789 <xs:annotation> |
|
790 <xs:documentation |
|
791 source="http://www.w3.org/TR/xmlschema-2/#nonPositiveInteger"/> |
|
792 </xs:annotation> |
|
793 <xs:restriction base="xs:integer"> |
|
794 <xs:maxInclusive value="0" id="nonPositiveInteger.maxInclusive"/> |
|
795 </xs:restriction> |
|
796 </xs:simpleType> |
|
797 |
|
798 <xs:simpleType name="negativeInteger" id="negativeInteger"> |
|
799 <xs:annotation> |
|
800 <xs:documentation |
|
801 source="http://www.w3.org/TR/xmlschema-2/#negativeInteger"/> |
|
802 </xs:annotation> |
|
803 <xs:restriction base="xs:nonPositiveInteger"> |
|
804 <xs:maxInclusive value="-1" id="negativeInteger.maxInclusive"/> |
|
805 </xs:restriction> |
|
806 </xs:simpleType> |
|
807 |
|
808 <xs:simpleType name="long" id="long"> |
|
809 <xs:annotation> |
|
810 <xs:appinfo> |
|
811 <hfp:hasProperty name="bounded" value="true"/> |
|
812 <hfp:hasProperty name="cardinality" value="finite"/> |
|
813 </xs:appinfo> |
|
814 <xs:documentation |
|
815 source="http://www.w3.org/TR/xmlschema-2/#long"/> |
|
816 </xs:annotation> |
|
817 <xs:restriction base="xs:integer"> |
|
818 <xs:minInclusive value="-2147483648" id="long.minInclusive"/> |
|
819 <xs:maxInclusive value="2147483647" id="long.maxInclusive"/> |
|
820 </xs:restriction> |
|
821 </xs:simpleType> |
|
822 |
|
823 <xs:simpleType name="int" id="int"> |
|
824 <xs:annotation> |
|
825 <xs:documentation |
|
826 source="http://www.w3.org/TR/xmlschema-2/#int"/> |
|
827 </xs:annotation> |
|
828 <xs:restriction base="xs:long"> |
|
829 <xs:minInclusive value="-2147483648" id="int.minInclusive"/> |
|
830 <xs:maxInclusive value="2147483647" id="int.maxInclusive"/> |
|
831 </xs:restriction> |
|
832 </xs:simpleType> |
|
833 |
|
834 <xs:simpleType name="short" id="short"> |
|
835 <xs:annotation> |
|
836 <xs:documentation |
|
837 source="http://www.w3.org/TR/xmlschema-2/#short"/> |
|
838 </xs:annotation> |
|
839 <xs:restriction base="xs:int"> |
|
840 <xs:minInclusive value="-32768" id="short.minInclusive"/> |
|
841 <xs:maxInclusive value="32767" id="short.maxInclusive"/> |
|
842 </xs:restriction> |
|
843 </xs:simpleType> |
|
844 |
|
845 <xs:simpleType name="byte" id="byte"> |
|
846 <xs:annotation> |
|
847 <xs:documentation |
|
848 source="http://www.w3.org/TR/xmlschema-2/#byte"/> |
|
849 </xs:annotation> |
|
850 <xs:restriction base="xs:short"> |
|
851 <xs:minInclusive value="-128" id="byte.minInclusive"/> |
|
852 <xs:maxInclusive value="127" id="byte.maxInclusive"/> |
|
853 </xs:restriction> |
|
854 </xs:simpleType> |
|
855 |
|
856 <xs:simpleType name="nonNegativeInteger" id="nonNegativeInteger"> |
|
857 <xs:annotation> |
|
858 <xs:documentation |
|
859 source="http://www.w3.org/TR/xmlschema-2/#nonNegativeInteger"/> |
|
860 </xs:annotation> |
|
861 <xs:restriction base="xs:integer"> |
|
862 <xs:minInclusive value="0" id="nonNegativeInteger.minInclusive"/> |
|
863 </xs:restriction> |
|
864 </xs:simpleType> |
|
865 |
|
866 <xs:simpleType name="unsignedLong" id="unsignedLong"> |
|
867 <xs:annotation> |
|
868 <xs:appinfo> |
|
869 <hfp:hasProperty name="bounded" value="true"/> |
|
870 <hfp:hasProperty name="cardinality" value="finite"/> |
|
871 </xs:appinfo> |
|
872 <xs:documentation |
|
873 source="http://www.w3.org/TR/xmlschema-2/#unsignedLong"/> |
|
874 </xs:annotation> |
|
875 <xs:restriction base="xs:nonNegativeInteger"> |
|
876 <xs:maxInclusive value="2147483647" |
|
877 id="unsignedLong.maxInclusive"/> |
|
878 </xs:restriction> |
|
879 </xs:simpleType> |
|
880 |
|
881 <xs:simpleType name="unsignedInt" id="unsignedInt"> |
|
882 <xs:annotation> |
|
883 <xs:documentation |
|
884 source="http://www.w3.org/TR/xmlschema-2/#unsignedInt"/> |
|
885 </xs:annotation> |
|
886 <xs:restriction base="xs:unsignedLong"> |
|
887 <xs:maxInclusive value="2147483647" |
|
888 id="unsignedInt.maxInclusive"/> |
|
889 </xs:restriction> |
|
890 </xs:simpleType> |
|
891 |
|
892 <xs:simpleType name="unsignedShort" id="unsignedShort"> |
|
893 <xs:annotation> |
|
894 <xs:documentation |
|
895 source="http://www.w3.org/TR/xmlschema-2/#unsignedShort"/> |
|
896 </xs:annotation> |
|
897 <xs:restriction base="xs:unsignedInt"> |
|
898 <xs:maxInclusive value="65535" |
|
899 id="unsignedShort.maxInclusive"/> |
|
900 </xs:restriction> |
|
901 </xs:simpleType> |
|
902 |
|
903 <xs:simpleType name="unsignedByte" id="unsignedBtype"> |
|
904 <xs:annotation> |
|
905 <xs:documentation |
|
906 source="http://www.w3.org/TR/xmlschema-2/#unsignedByte"/> |
|
907 </xs:annotation> |
|
908 <xs:restriction base="xs:unsignedShort"> |
|
909 <xs:maxInclusive value="255" id="unsignedByte.maxInclusive"/> |
|
910 </xs:restriction> |
|
911 </xs:simpleType> |
|
912 |
|
913 <xs:simpleType name="positiveInteger" id="positiveInteger"> |
|
914 <xs:annotation> |
|
915 <xs:documentation |
|
916 source="http://www.w3.org/TR/xmlschema-2/#positiveInteger"/> |
|
917 </xs:annotation> |
|
918 <xs:restriction base="xs:nonNegativeInteger"> |
|
919 <xs:minInclusive value="1" id="positiveInteger.minInclusive"/> |
|
920 </xs:restriction> |
|
921 </xs:simpleType> |
|
922 |
|
923 <xs:simpleType name="derivationControl"> |
|
924 <xs:annotation> |
|
925 <xs:documentation> |
|
926 A utility type, not for public use</xs:documentation> |
|
927 </xs:annotation> |
|
928 <xs:restriction base="xs:NMTOKEN"> |
|
929 <xs:enumeration value="substitution"/> |
|
930 <xs:enumeration value="extension"/> |
|
931 <xs:enumeration value="restriction"/> |
|
932 <xs:enumeration value="list"/> |
|
933 <xs:enumeration value="union"/> |
|
934 </xs:restriction> |
|
935 </xs:simpleType> |
|
936 |
|
937 <xs:group name="simpleDerivation"> |
|
938 <xs:choice> |
|
939 <xs:element ref="xs:restriction"/> |
|
940 <xs:element ref="xs:list"/> |
|
941 <xs:element ref="xs:union"/> |
|
942 </xs:choice> |
|
943 </xs:group> |
|
944 |
|
945 <xs:simpleType name="simpleDerivationSet"> |
|
946 <xs:annotation> |
|
947 <xs:documentation> |
|
948 #all or (possibly empty) subset of {restriction, union, list} |
|
949 </xs:documentation> |
|
950 <xs:documentation> |
|
951 A utility type, not for public use</xs:documentation> |
|
952 </xs:annotation> |
|
953 <xs:union> |
|
954 <xs:simpleType> |
|
955 <xs:restriction base="xs:token"> |
|
956 <xs:enumeration value="#all"/> |
|
957 </xs:restriction> |
|
958 </xs:simpleType> |
|
959 <xs:simpleType> |
|
960 <xs:restriction base="xs:derivationControl"> |
|
961 <xs:enumeration value="list"/> |
|
962 <xs:enumeration value="union"/> |
|
963 <xs:enumeration value="restriction"/> |
|
964 </xs:restriction> |
|
965 </xs:simpleType> |
|
966 </xs:union> |
|
967 </xs:simpleType> |
|
968 |
|
969 <xs:complexType name="simpleType" abstract="true"> |
|
970 <xs:complexContent> |
|
971 <xs:extension base="xs:annotated"> |
|
972 <xs:group ref="xs:simpleDerivation"/> |
|
973 <xs:attribute name="final" type="xs:simpleDerivationSet"/> |
|
974 <xs:attribute name="name" type="xs:NCName"> |
|
975 <xs:annotation> |
|
976 <xs:documentation> |
|
977 Can be restricted to required or forbidden |
|
978 </xs:documentation> |
|
979 </xs:annotation> |
|
980 </xs:attribute> |
|
981 </xs:extension> |
|
982 </xs:complexContent> |
|
983 </xs:complexType> |
|
984 |
|
985 <xs:complexType name="topLevelSimpleType"> |
|
986 <xs:complexContent> |
|
987 <xs:restriction base="xs:simpleType"> |
|
988 <xs:sequence> |
|
989 <xs:element ref="xs:annotation" minOccurs="0"/> |
|
990 <xs:group ref="xs:simpleDerivation"/> |
|
991 </xs:sequence> |
|
992 <xs:attribute name="name" use="required" |
|
993 type="xs:NCName"> |
|
994 <xs:annotation> |
|
995 <xs:documentation> |
|
996 Required at the top level |
|
997 </xs:documentation> |
|
998 </xs:annotation> |
|
999 </xs:attribute> |
|
1000 </xs:restriction> |
|
1001 </xs:complexContent> |
|
1002 </xs:complexType> |
|
1003 |
|
1004 <xs:complexType name="localSimpleType"> |
|
1005 <xs:complexContent> |
|
1006 <xs:restriction base="xs:simpleType"> |
|
1007 <xs:sequence> |
|
1008 <xs:element ref="xs:annotation" minOccurs="0"/> |
|
1009 <xs:group ref="xs:simpleDerivation"/> |
|
1010 </xs:sequence> |
|
1011 <xs:attribute name="name" use="prohibited"> |
|
1012 <xs:annotation> |
|
1013 <xs:documentation> |
|
1014 Forbidden when nested |
|
1015 </xs:documentation> |
|
1016 </xs:annotation> |
|
1017 </xs:attribute> |
|
1018 <xs:attribute name="final" use="prohibited"/> |
|
1019 </xs:restriction> |
|
1020 </xs:complexContent> |
|
1021 </xs:complexType> |
|
1022 |
|
1023 <xs:element name="simpleType" type="xs:topLevelSimpleType" id="simpleType"> |
|
1024 <xs:annotation> |
|
1025 <xs:documentation |
|
1026 source="http://www.w3.org/TR/xmlschema-2/#element-simpleType"/> |
|
1027 </xs:annotation> |
|
1028 </xs:element> |
|
1029 |
|
1030 <xs:group name="facets"> |
|
1031 <xs:annotation> |
|
1032 <xs:documentation> |
|
1033 We should use a substitution group for facets, but |
|
1034 that's ruled out because it would allow users to |
|
1035 add their own, which we're not ready for yet. |
|
1036 </xs:documentation> |
|
1037 </xs:annotation> |
|
1038 <xs:choice> |
|
1039 <xs:element ref="xs:minExclusive"/> |
|
1040 <xs:element ref="xs:minInclusive"/> |
|
1041 <xs:element ref="xs:maxExclusive"/> |
|
1042 <xs:element ref="xs:maxInclusive"/> |
|
1043 <xs:element ref="xs:totalDigits"/> |
|
1044 <xs:element ref="xs:fractionDigits"/> |
|
1045 <xs:element ref="xs:length"/> |
|
1046 <xs:element ref="xs:minLength"/> |
|
1047 <xs:element ref="xs:maxLength"/> |
|
1048 <xs:element ref="xs:enumeration"/> |
|
1049 <xs:element ref="xs:whiteSpace"/> |
|
1050 <xs:element ref="xs:pattern"/> |
|
1051 </xs:choice> |
|
1052 </xs:group> |
|
1053 |
|
1054 <xs:group name="simpleRestrictionModel"> |
|
1055 <xs:sequence> |
|
1056 <xs:element name="simpleType" type="xs:localSimpleType" minOccurs="0"/> |
|
1057 <xs:group ref="xs:facets" minOccurs="0" maxOccurs="unbounded"/> |
|
1058 </xs:sequence> |
|
1059 </xs:group> |
|
1060 |
|
1061 <xs:element name="restriction" id="restriction"> |
|
1062 <xs:complexType> |
|
1063 <xs:annotation> |
|
1064 <xs:documentation |
|
1065 source="http://www.w3.org/TR/xmlschema-2/#element-restriction"> |
|
1066 base attribute and simpleType child are mutually |
|
1067 exclusive, but one or other is required |
|
1068 </xs:documentation> |
|
1069 </xs:annotation> |
|
1070 <xs:complexContent> |
|
1071 <xs:extension base="xs:annotated"> |
|
1072 <xs:group ref="xs:simpleRestrictionModel"/> |
|
1073 <xs:attribute name="base" type="xs:QName" use="optional"/> |
|
1074 </xs:extension> |
|
1075 </xs:complexContent> |
|
1076 </xs:complexType> |
|
1077 </xs:element> |
|
1078 |
|
1079 <xs:element name="list" id="list"> |
|
1080 <xs:complexType> |
|
1081 <xs:annotation> |
|
1082 <xs:documentation |
|
1083 source="http://www.w3.org/TR/xmlschema-2/#element-list"> |
|
1084 itemType attribute and simpleType child are mutually |
|
1085 exclusive, but one or other is required |
|
1086 </xs:documentation> |
|
1087 </xs:annotation> |
|
1088 <xs:complexContent> |
|
1089 <xs:extension base="xs:annotated"> |
|
1090 <xs:sequence> |
|
1091 <xs:element name="simpleType" type="xs:localSimpleType" |
|
1092 minOccurs="0"/> |
|
1093 </xs:sequence> |
|
1094 <xs:attribute name="itemType" type="xs:QName" use="optional"/> |
|
1095 </xs:extension> |
|
1096 </xs:complexContent> |
|
1097 </xs:complexType> |
|
1098 </xs:element> |
|
1099 |
|
1100 <xs:element name="union" id="union"> |
|
1101 <xs:complexType> |
|
1102 <xs:annotation> |
|
1103 <xs:documentation |
|
1104 source="http://www.w3.org/TR/xmlschema-2/#element-union"> |
|
1105 memberTypes attribute must be non-empty or there must be |
|
1106 at least one simpleType child |
|
1107 </xs:documentation> |
|
1108 </xs:annotation> |
|
1109 <xs:complexContent> |
|
1110 <xs:extension base="xs:annotated"> |
|
1111 <xs:sequence> |
|
1112 <xs:element name="simpleType" type="xs:localSimpleType" |
|
1113 minOccurs="0" maxOccurs="unbounded"/> |
|
1114 </xs:sequence> |
|
1115 <xs:attribute name="memberTypes" use="optional"> |
|
1116 <xs:simpleType> |
|
1117 <xs:list itemType="xs:QName"/> |
|
1118 </xs:simpleType> |
|
1119 </xs:attribute> |
|
1120 </xs:extension> |
|
1121 </xs:complexContent> |
|
1122 </xs:complexType> |
|
1123 </xs:element> |
|
1124 |
|
1125 <xs:complexType name="facet"> |
|
1126 <xs:complexContent> |
|
1127 <xs:extension base="xs:annotated"> |
|
1128 <xs:attribute name="value" use="required"/> |
|
1129 <xs:attribute name="fixed" type="xs:boolean" use="optional" |
|
1130 default="false"/> |
|
1131 </xs:extension> |
|
1132 </xs:complexContent> |
|
1133 </xs:complexType> |
|
1134 |
|
1135 <xs:complexType name="noFixedFacet"> |
|
1136 <xs:complexContent> |
|
1137 <xs:restriction base="xs:facet"> |
|
1138 <xs:sequence> |
|
1139 <xs:element ref="xs:annotation" minOccurs="0"/> |
|
1140 </xs:sequence> |
|
1141 <xs:attribute name="fixed" use="prohibited"/> |
|
1142 </xs:restriction> |
|
1143 </xs:complexContent> |
|
1144 </xs:complexType> |
|
1145 |
|
1146 <xs:element name="minExclusive" id="minExclusive" type="xs:facet"> |
|
1147 <xs:annotation> |
|
1148 <xs:documentation |
|
1149 source="http://www.w3.org/TR/xmlschema-2/#element-minExclusive"/> |
|
1150 </xs:annotation> |
|
1151 </xs:element> |
|
1152 <xs:element name="minInclusive" id="minInclusive" type="xs:facet"> |
|
1153 <xs:annotation> |
|
1154 <xs:documentation |
|
1155 source="http://www.w3.org/TR/xmlschema-2/#element-minInclusive"/> |
|
1156 </xs:annotation> |
|
1157 </xs:element> |
|
1158 |
|
1159 <xs:element name="maxExclusive" id="maxExclusive" type="xs:facet"> |
|
1160 <xs:annotation> |
|
1161 <xs:documentation |
|
1162 source="http://www.w3.org/TR/xmlschema-2/#element-maxExclusive"/> |
|
1163 </xs:annotation> |
|
1164 </xs:element> |
|
1165 <xs:element name="maxInclusive" id="maxInclusive" type="xs:facet"> |
|
1166 <xs:annotation> |
|
1167 <xs:documentation |
|
1168 source="http://www.w3.org/TR/xmlschema-2/#element-maxInclusive"/> |
|
1169 </xs:annotation> |
|
1170 </xs:element> |
|
1171 |
|
1172 <xs:complexType name="numFacet"> |
|
1173 <xs:complexContent> |
|
1174 <xs:restriction base="xs:facet"> |
|
1175 <xs:sequence> |
|
1176 <xs:element ref="xs:annotation" minOccurs="0"/> |
|
1177 </xs:sequence> |
|
1178 <xs:attribute name="value" type="xs:nonNegativeInteger" use="required"/> |
|
1179 </xs:restriction> |
|
1180 </xs:complexContent> |
|
1181 </xs:complexType> |
|
1182 |
|
1183 <xs:element name="totalDigits" id="totalDigits"> |
|
1184 <xs:annotation> |
|
1185 <xs:documentation |
|
1186 source="http://www.w3.org/TR/xmlschema-2/#element-totalDigits"/> |
|
1187 </xs:annotation> |
|
1188 <xs:complexType> |
|
1189 <xs:complexContent> |
|
1190 <xs:restriction base="xs:numFacet"> |
|
1191 <xs:sequence> |
|
1192 <xs:element ref="xs:annotation" minOccurs="0"/> |
|
1193 </xs:sequence> |
|
1194 <xs:attribute name="value" type="xs:positiveInteger" use="required"/> |
|
1195 </xs:restriction> |
|
1196 </xs:complexContent> |
|
1197 </xs:complexType> |
|
1198 </xs:element> |
|
1199 <xs:element name="fractionDigits" id="fractionDigits" type="xs:numFacet"> |
|
1200 <xs:annotation> |
|
1201 <xs:documentation |
|
1202 source="http://www.w3.org/TR/xmlschema-2/#element-fractionDigits"/> |
|
1203 </xs:annotation> |
|
1204 </xs:element> |
|
1205 |
|
1206 <xs:element name="length" id="length" type="xs:numFacet"> |
|
1207 <xs:annotation> |
|
1208 <xs:documentation |
|
1209 source="http://www.w3.org/TR/xmlschema-2/#element-length"/> |
|
1210 </xs:annotation> |
|
1211 </xs:element> |
|
1212 <xs:element name="minLength" id="minLength" type="xs:numFacet"> |
|
1213 <xs:annotation> |
|
1214 <xs:documentation |
|
1215 source="http://www.w3.org/TR/xmlschema-2/#element-minLength"/> |
|
1216 </xs:annotation> |
|
1217 </xs:element> |
|
1218 <xs:element name="maxLength" id="maxLength" type="xs:numFacet"> |
|
1219 <xs:annotation> |
|
1220 <xs:documentation |
|
1221 source="http://www.w3.org/TR/xmlschema-2/#element-maxLength"/> |
|
1222 </xs:annotation> |
|
1223 </xs:element> |
|
1224 |
|
1225 <xs:element name="enumeration" id="enumeration" type="xs:noFixedFacet"> |
|
1226 <xs:annotation> |
|
1227 <xs:documentation |
|
1228 source="http://www.w3.org/TR/xmlschema-2/#element-enumeration"/> |
|
1229 </xs:annotation> |
|
1230 </xs:element> |
|
1231 |
|
1232 <xs:element name="whiteSpace" id="whiteSpace"> |
|
1233 <xs:annotation> |
|
1234 <xs:documentation |
|
1235 source="http://www.w3.org/TR/xmlschema-2/#element-whiteSpace"/> |
|
1236 </xs:annotation> |
|
1237 <xs:complexType> |
|
1238 <xs:complexContent> |
|
1239 <xs:restriction base="xs:facet"> |
|
1240 <xs:sequence> |
|
1241 <xs:element ref="xs:annotation" minOccurs="0"/> |
|
1242 </xs:sequence> |
|
1243 <xs:attribute name="value" use="required"> |
|
1244 <xs:simpleType> |
|
1245 <xs:restriction base="xs:NMTOKEN"> |
|
1246 <xs:enumeration value="preserve"/> |
|
1247 <xs:enumeration value="replace"/> |
|
1248 <xs:enumeration value="collapse"/> |
|
1249 </xs:restriction> |
|
1250 </xs:simpleType> |
|
1251 </xs:attribute> |
|
1252 </xs:restriction> |
|
1253 </xs:complexContent> |
|
1254 </xs:complexType> |
|
1255 </xs:element> |
|
1256 |
|
1257 <xs:element name="pattern" id="pattern" type="xs:noFixedFacet"> |
|
1258 <xs:annotation> |
|
1259 <xs:documentation |
|
1260 source="http://www.w3.org/TR/xmlschema-2/#element-pattern"/> |
|
1261 </xs:annotation> |
|
1262 </xs:element> |
|
1263 |
|
1264 </xs:schema> |
|