Synchronize with trunk revision 59636 (just before Alex's CreateProcess revamp).
[reactos.git] / dll / win32 / msxml3 / datatypes.xsd
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!--
3 XDR (XML-Data Reduced) datatypes implementation
4
5 Copyright 2010 Adam Martinson for CodeWeavers
6
7 This library is free software; you can redistribute it and/or
8 modify it under the terms of the GNU Lesser General Public
9 License as published by the Free Software Foundation; either
10 version 2.1 of the License, or (at your option) any later version.
11
12 This library is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 Lesser General Public License for more details.
16
17 You should have received a copy of the GNU Lesser General Public
18 License along with this library; if not, write to the Free Software
19 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
20 -->
21 <xsd:schema xmlns="urn:schemas-microsoft-com:datatypes"
22 xmlns:dt="urn:schemas-microsoft-com:datatypes"
23 xmlns:xsd="http://www.w3.org/2001/XMLSchema"
24 targetNamespace="urn:schemas-microsoft-com:datatypes"
25 elementFormDefault="qualified"
26 attributeFormDefault="unqualified">
27
28 <xsd:simpleType name="bin.base64">
29 <xsd:annotation>
30 <xsd:documentation>
31
32 Equivalent to xsd:base64Binary
33
34 </xsd:documentation>
35 </xsd:annotation>
36
37 <xsd:restriction base="xsd:base64Binary"/>
38 </xsd:simpleType>
39
40 <xsd:element name="bin.base64" type="dt:bin.base64"/>
41
42 <xsd:simpleType name="bin.hex">
43 <xsd:annotation>
44 <xsd:documentation>
45
46 Equivalent to xsd:hexBinary
47
48 </xsd:documentation>
49 </xsd:annotation>
50
51 <xsd:restriction base="xsd:hexBinary"/>
52 </xsd:simpleType>
53
54 <xsd:element name="bin.hex" type="dt:bin.hex"/>
55
56 <xsd:simpleType name="boolean">
57 <xsd:annotation>
58 <xsd:documentation>
59
60 Equivalent to xsd:boolean
61
62 </xsd:documentation>
63 </xsd:annotation>
64
65 <xsd:restriction base="xsd:boolean"/>
66 </xsd:simpleType>
67
68 <xsd:element name="boolean" type="dt:boolean"/>
69
70 <xsd:simpleType name="char">
71 <xsd:annotation>
72 <xsd:documentation>
73
74 Single unicode char
75
76 </xsd:documentation>
77 </xsd:annotation>
78
79 <xsd:restriction base="xsd:string">
80 <xsd:length value="1"/>
81 </xsd:restriction>
82 </xsd:simpleType>
83
84 <xsd:element name="char" type="dt:char"/>
85
86 <xsd:simpleType name="date">
87 <xsd:annotation>
88 <xsd:documentation>
89
90 Equivalent to xsd:date with no timezone
91
92 TODO: restrict -> force no timezone
93
94 </xsd:documentation>
95 </xsd:annotation>
96
97 <xsd:restriction base="xsd:date"/>
98 </xsd:simpleType>
99
100 <xsd:element name="date" type="dt:date"/>
101
102 <xsd:simpleType name="date.tz">
103 <xsd:annotation>
104 <xsd:documentation>
105
106 Equivalent to xsd:date with timezone
107
108 TODO: restrict -> force timezone
109
110 </xsd:documentation>
111 </xsd:annotation>
112
113 <xsd:restriction base="xsd:date"/>
114 </xsd:simpleType>
115
116 <xsd:element name="date.tz" type="dt:date.tz"/>
117
118 <xsd:simpleType name="dateTime">
119 <xsd:annotation>
120 <xsd:documentation>
121
122 Equivalent to xsd:dateTime with no timezone
123
124 TODO: restrict -> force no timezone
125
126 </xsd:documentation>
127 </xsd:annotation>
128
129 <xsd:restriction base="xsd:dateTime"/>
130 </xsd:simpleType>
131
132 <xsd:element name="dateTime" type="dt:dateTime"/>
133
134 <xsd:simpleType name="dateTime.tz">
135 <xsd:annotation>
136 <xsd:documentation>
137
138 Equivalent to xsd:dateTime with timezone
139
140 TODO: restrict -> force timezone
141
142 </xsd:documentation>
143 </xsd:annotation>
144
145 <xsd:restriction base="xsd:dateTime"/>
146 </xsd:simpleType>
147
148 <xsd:element name="dateTime.tz" type="dt:dateTime.tz"/>
149
150 <xsd:simpleType name="entity">
151 <xsd:annotation>
152 <xsd:documentation>
153
154 Equivalent to xsd:ENTITY
155
156 </xsd:documentation>
157 </xsd:annotation>
158
159 <xsd:restriction base="xsd:ENTITY"/>
160 </xsd:simpleType>
161
162 <xsd:element name="entity" type="dt:entity"/>
163
164 <xsd:simpleType name="entities">
165 <xsd:annotation>
166 <xsd:documentation>
167
168 Equivalent to xsd:ENTITIES
169
170 </xsd:documentation>
171 </xsd:annotation>
172
173 <xsd:restriction base="xsd:ENTITIES"/>
174 </xsd:simpleType>
175
176 <xsd:element name="entities" type="dt:entities"/>
177
178 <xsd:simpleType name="enumeration">
179 <xsd:annotation>
180 <xsd:documentation>
181
182 Valid for attributes only
183 dt:values is equivalent to xsd:list
184
185 </xsd:documentation>
186 </xsd:annotation>
187
188 <xsd:restriction base="xsd:string"/>
189 </xsd:simpleType>
190
191 <xsd:simpleType name="fixed.14.4">
192 <xsd:annotation>
193 <xsd:documentation>
194
195 Fixed-length decimal floating-point value
196 Up to 14 digits before the decimal point
197 Up to 4 digits after the decimal point
198
199 </xsd:documentation>
200 </xsd:annotation>
201
202 <xsd:restriction base="xsd:decimal">
203 <xsd:pattern value="([0-9]{,14})([.][0-9]{,4})?"/>
204 </xsd:restriction>
205 </xsd:simpleType>
206
207 <xsd:element name="fixed.14.4" type="dt:fixed.14.4"/>
208
209 <xsd:simpleType name="float">
210 <xsd:annotation>
211 <xsd:documentation>
212
213 Equivalent to xsd:decimal
214
215 </xsd:documentation>
216 </xsd:annotation>
217
218 <xsd:restriction base="xsd:decimal"/>
219 </xsd:simpleType>
220
221 <xsd:element name="float" type="dt:float"/>
222
223 <xsd:simpleType name="i1">
224 <xsd:annotation>
225 <xsd:documentation>
226
227 Equivalent to xsd:byte
228
229 </xsd:documentation>
230 </xsd:annotation>
231
232 <xsd:restriction base="xsd:byte"/>
233 </xsd:simpleType>
234
235 <xsd:element name="i1" type="dt:i1"/>
236
237 <xsd:simpleType name="i2">
238 <xsd:annotation>
239 <xsd:documentation>
240
241 Equivalent to xsd:short
242
243 </xsd:documentation>
244 </xsd:annotation>
245
246 <xsd:restriction base="xsd:short"/>
247 </xsd:simpleType>
248
249 <xsd:element name="i2" type="dt:i2"/>
250
251 <xsd:simpleType name="i4">
252 <xsd:annotation>
253 <xsd:documentation>
254
255 Equivalent to xsd:int
256
257 </xsd:documentation>
258 </xsd:annotation>
259
260 <xsd:restriction base="xsd:int"/>
261 </xsd:simpleType>
262
263 <xsd:element name="i4" type="dt:i4"/>
264
265 <xsd:simpleType name="i8">
266 <xsd:annotation>
267 <xsd:documentation>
268
269 Equivalent to xsd:long
270
271 </xsd:documentation>
272 </xsd:annotation>
273
274 <xsd:restriction base="xsd:long"/>
275 </xsd:simpleType>
276
277 <xsd:element name="i8" type="dt:i8"/>
278
279 <xsd:simpleType name="id">
280 <xsd:annotation>
281 <xsd:documentation>
282
283 Valid for attributes only
284 Equivalent to xsd:ID
285
286 </xsd:documentation>
287 </xsd:annotation>
288
289 <xsd:restriction base="xsd:ID"/>
290 </xsd:simpleType>
291
292 <xsd:simpleType name="idref">
293 <xsd:annotation>
294 <xsd:documentation>
295
296 Valid for attributes only
297 Equivalent to xsd:IDREF
298
299 </xsd:documentation>
300 </xsd:annotation>
301
302 <xsd:restriction base="xsd:IDREF"/>
303 </xsd:simpleType>
304
305 <xsd:simpleType name="idrefs">
306 <xsd:annotation>
307 <xsd:documentation>
308
309 Valid for attributes only
310 Equivalent to xsd:IDREFS
311
312 </xsd:documentation>
313 </xsd:annotation>
314
315 <xsd:restriction base="xsd:IDREFS"/>
316 </xsd:simpleType>
317
318 <xsd:simpleType name="int">
319 <xsd:annotation>
320 <xsd:documentation>
321
322 Equivalent to xsd:integer
323
324 </xsd:documentation>
325 </xsd:annotation>
326
327 <xsd:restriction base="xsd:integer"/>
328 </xsd:simpleType>
329
330 <xsd:element name="int" type="dt:int"/>
331
332 <xsd:simpleType name="nmtoken">
333 <xsd:annotation>
334 <xsd:documentation>
335
336 Equivalent to xsd:NMTOKEN
337
338 </xsd:documentation>
339 </xsd:annotation>
340
341 <xsd:restriction base="xsd:NMTOKEN"/>
342 </xsd:simpleType>
343
344 <xsd:element name="nmtoken" type="dt:nmtoken"/>
345
346 <xsd:simpleType name="nmtokens">
347 <xsd:annotation>
348 <xsd:documentation>
349
350 Equivalent to xsd:NMTOKENS
351
352 </xsd:documentation>
353 </xsd:annotation>
354
355 <xsd:restriction base="xsd:NMTOKENS"/>
356 </xsd:simpleType>
357
358 <xsd:element name="nmtokens" type="dt:nmtokens"/>
359
360 <xsd:simpleType name="notation">
361 <xsd:annotation>
362 <xsd:documentation>
363
364 Equivalent to xsd:NOTATION
365
366 </xsd:documentation>
367 </xsd:annotation>
368
369 <xsd:restriction base="xsd:NOTATION"/>
370 </xsd:simpleType>
371
372 <xsd:element name="notation" type="dt:notation"/>
373
374 <xsd:simpleType name="number">
375 <xsd:annotation>
376 <xsd:documentation>
377
378 Equivalent to xsd:decimal
379
380 </xsd:documentation>
381 </xsd:annotation>
382
383 <xsd:restriction base="xsd:decimal"/>
384 </xsd:simpleType>
385
386 <xsd:element name="number" type="dt:number"/>
387
388 <xsd:simpleType name="r4">
389 <xsd:annotation>
390 <xsd:documentation>
391
392 Equivalent to xsd:float
393
394 </xsd:documentation>
395 </xsd:annotation>
396
397 <xsd:restriction base="xsd:float"/>
398 </xsd:simpleType>
399
400 <xsd:element name="r4" type="dt:r4"/>
401
402 <xsd:simpleType name="r8">
403 <xsd:annotation>
404 <xsd:documentation>
405
406 Equivalent to xsd:double
407
408 </xsd:documentation>
409 </xsd:annotation>
410
411 <xsd:restriction base="xsd:double"/>
412 </xsd:simpleType>
413
414 <xsd:element name="r8" type="dt:r8"/>
415
416 <xsd:simpleType name="string">
417 <xsd:annotation>
418 <xsd:documentation>
419
420 Equivalent to xsd:string
421
422 </xsd:documentation>
423 </xsd:annotation>
424
425 <xsd:restriction base="xsd:string"/>
426 </xsd:simpleType>
427
428 <xsd:element name="string" type="dt:string"/>
429
430 <xsd:simpleType name="time">
431 <xsd:annotation>
432 <xsd:documentation>
433
434 Equivalent to xsd:time with no timezone
435
436 TODO: restrict -> force no timezone
437
438 </xsd:documentation>
439 </xsd:annotation>
440
441 <xsd:restriction base="xsd:time"/>
442 </xsd:simpleType>
443
444 <xsd:element name="time" type="dt:time"/>
445
446 <xsd:simpleType name="time.tz">
447 <xsd:annotation>
448 <xsd:documentation>
449
450 Equivalent to xsd:time with timezone
451
452 TODO: restrict -> force timezone
453
454 </xsd:documentation>
455 </xsd:annotation>
456
457 <xsd:restriction base="xsd:time"/>
458 </xsd:simpleType>
459
460 <xsd:element name="time.tz" type="dt:time.tz"/>
461
462 <xsd:simpleType name="ui1">
463 <xsd:annotation>
464 <xsd:documentation>
465
466 Equivalent to xsd:unsignedByte
467
468 </xsd:documentation>
469 </xsd:annotation>
470
471 <xsd:restriction base="xsd:unsignedByte"/>
472 </xsd:simpleType>
473
474 <xsd:element name="ui1" type="dt:ui1"/>
475
476 <xsd:simpleType name="ui2">
477 <xsd:annotation>
478 <xsd:documentation>
479
480 Equivalent to xsd:unsignedShort
481
482 </xsd:documentation>
483 </xsd:annotation>
484
485 <xsd:restriction base="xsd:unsignedShort"/>
486 </xsd:simpleType>
487
488 <xsd:element name="ui2" type="dt:ui2"/>
489
490 <xsd:simpleType name="ui4">
491 <xsd:annotation>
492 <xsd:documentation>
493
494 Equivalent to xsd:unsignedInt
495
496 </xsd:documentation>
497 </xsd:annotation>
498
499 <xsd:restriction base="xsd:unsignedInt"/>
500 </xsd:simpleType>
501
502 <xsd:element name="ui4" type="dt:ui4"/>
503
504 <xsd:simpleType name="ui8">
505 <xsd:annotation>
506 <xsd:documentation>
507
508 Equivalent to xsd:unsignedLong
509
510 </xsd:documentation>
511 </xsd:annotation>
512
513 <xsd:restriction base="xsd:unsignedLong"/>
514 </xsd:simpleType>
515
516 <xsd:element name="ui8" type="dt:ui8"/>
517
518 <xsd:simpleType name="uri">
519 <xsd:annotation>
520 <xsd:documentation>
521
522 Equivalent to xsd:anyURI
523
524 </xsd:documentation>
525 </xsd:annotation>
526
527 <xsd:restriction base="xsd:anyURI"/>
528 </xsd:simpleType>
529
530 <xsd:element name="uri" type="dt:uri"/>
531
532 <xsd:simpleType name="uuid">
533 <xsd:annotation>
534 <xsd:documentation>
535
536 Hex octet string with optional hyphens
537
538 </xsd:documentation>
539 </xsd:annotation>
540
541 <xsd:restriction base="xsd:string">
542 <xsd:pattern value="([0-9A-Fa-f]{4})([-]{,1}[0-9A-Fa-f]{4})*"/>
543 </xsd:restriction>
544 </xsd:simpleType>
545
546 <xsd:element name="uuid" type="dt:uuid"/>
547
548 <xsd:attribute name="dt" default="string">
549 <xsd:simpleType>
550 <xsd:restriction base="string">
551 <xsd:enumeration value="bin.base64"/>
552 <xsd:enumeration value="bin.hex"/>
553 <xsd:enumeration value="boolean"/>
554 <xsd:enumeration value="char"/>
555 <xsd:enumeration value="date"/>
556 <xsd:enumeration value="date.tz"/>
557 <xsd:enumeration value="dateTime"/>
558 <xsd:enumeration value="dateTime.tz"/>
559 <xsd:enumeration value="entity"/>
560 <xsd:enumeration value="entities"/>
561 <xsd:enumeration value="enumeration"/>
562 <xsd:enumeration value="fixed.14.4"/>
563 <xsd:enumeration value="float"/>
564 <xsd:enumeration value="i1"/>
565 <xsd:enumeration value="i2"/>
566 <xsd:enumeration value="i4"/>
567 <xsd:enumeration value="i8"/>
568 <xsd:enumeration value="id"/>
569 <xsd:enumeration value="idref"/>
570 <xsd:enumeration value="idrefs"/>
571 <xsd:enumeration value="int"/>
572 <xsd:enumeration value="nmtoken"/>
573 <xsd:enumeration value="nmtokens"/>
574 <xsd:enumeration value="notation"/>
575 <xsd:enumeration value="number"/>
576 <xsd:enumeration value="r4"/>
577 <xsd:enumeration value="r8"/>
578 <xsd:enumeration value="string"/>
579 <xsd:enumeration value="time"/>
580 <xsd:enumeration value="time.tz"/>
581 <xsd:enumeration value="ui1"/>
582 <xsd:enumeration value="ui2"/>
583 <xsd:enumeration value="ui4"/>
584 <xsd:enumeration value="ui8"/>
585 <xsd:enumeration value="uri"/>
586 <xsd:enumeration value="uuid"/>
587 </xsd:restriction>
588 </xsd:simpleType>
589 </xsd:attribute>
590
591 </xsd:schema>