un.real <battal84@gmail.com>:
[reactos.git] / reactos / lib / libxml2 / test / xsdtest / xsdtest.xml
1 <xsdtest>
2 <datatype name="dateTime">
3 <valid>2001-12-01T19:45:00</valid>
4 <valid>2001-12-01T19:45:00Z</valid>
5 <valid>2001-12-01T19:45:00-11:59</valid>
6 <valid>0001-01-12T00:00:00+12:00</valid>
7 <invalid>2001-12-1T19:45:00+24:00</invalid>
8 <invalid>2001-12-1T19:45:00</invalid>
9 <equiv>
10 <class>
11 <value>2001-12-01T19:45:00</value>
12 <value>2001-12-01T19:45:00.00</value>
13 </class>
14 <class>
15 <value>2001-12-01T19:45:00Z</value>
16 <value>2001-12-01T19:45:00.00Z</value>
17 <value>2001-12-01T20:45:00+01:00</value>
18 </class>
19 </equiv>
20 </datatype>
21 <datatype name="anyURI">
22 <valid>foobar</valid>
23 <valid>http://www.example.com</valid>
24 <valid>http://ji%6d@www.example.com</valid>
25 <valid>http://www.example.co%6d</valid>
26 <valid>nosuchscheme:stuff</valid>
27 <invalid>foo$bar:stuff</invalid>
28 <invalid>f%oobar</invalid>
29 </datatype>
30 <datatype name="integer">
31 <valid>10</valid>
32 <valid>01</valid>
33 <valid>0123456789</valid>
34 <valid>+10</valid>
35 <valid>-10</valid>
36 <invalid>1.0</invalid>
37 <invalid>.1</invalid>
38 <valid>9999999999999999999999999999999</valid>
39 <invalid>1.</invalid>
40 <invalid>0.</invalid>
41 <equiv>
42 <class>
43 <value>0</value>
44 <value>+0</value>
45 <value>-0</value>
46 <value>00</value>
47 </class>
48 <class>
49 <value>10</value>
50 <value>+10</value>
51 <value>+0010</value>
52 <value>010</value>
53 </class>
54 <class>
55 <value>-10</value>
56 <value>-0010</value>
57 <value>-010</value>
58 </class>
59 </equiv>
60 </datatype>
61 <datatype name="duration">
62 <valid>P1Y</valid>
63 <valid>P1Y0M2DT17H5M12S</valid>
64 <valid>-P1Y</valid>
65 <valid>P60D</valid>
66 <valid>PT24H</valid>
67 <valid>PT1.2S</valid>
68 <invalid>P24h</invalid>
69 <invalid>P24H</invalid>
70 <invalid>P1YT</invalid>
71 <invalid>P</invalid>
72 <invalid>-P</invalid>
73 <equiv>
74 <class>
75 <value>-P6M</value>
76 </class>
77 <class>
78 <value>P0Y</value>
79 <value>-P0Y</value>
80 </class>
81 <class>
82 <value>P1Y</value>
83 <value>P001Y</value>
84 <value>P001Y0M</value>
85 <value>P1Y0M0DT0H0M0.0S</value>
86 </class>
87 <class>
88 <value>P6M</value>
89 </class>
90 <class>
91 <value>PT6M</value>
92 </class>
93 <class>
94 <value>PT1S</value>
95 <value>PT1.0S</value>
96 </class>
97 </equiv>
98 <lessThan>
99 <value>PT1M</value>
100 <value>PT61S</value>
101 </lessThan>
102 <lessThan>
103 <value>PT59S</value>
104 <value>PT1M</value>
105 </lessThan>
106 <incomparable>
107 <value>PT60S</value>
108 <value>PT1M</value>
109 </incomparable>
110 <lessThan>
111 <value>PT1H</value>
112 <value>PT61M</value>
113 </lessThan>
114 <lessThan>
115 <value>PT59M</value>
116 <value>PT1H</value>
117 </lessThan>
118 <incomparable>
119 <value>PT60M</value>
120 <value>PT1H</value>
121 </incomparable>
122 <lessThan>
123 <value>P1D</value>
124 <value>PT25H</value>
125 </lessThan>
126 <lessThan>
127 <value>PT23H</value>
128 <value>P1D</value>
129 </lessThan>
130 <incomparable>
131 <value>P1D</value>
132 <value>PT24H</value>
133 </incomparable>
134 <lessThan>
135 <value>P1Y</value>
136 <value>P13M</value>
137 </lessThan>
138 <lessThan>
139 <value>P11M</value>
140 <value>P1Y</value>
141 </lessThan>
142 <incomparable>
143 <value>P12M</value>
144 <value>P1Y</value>
145 </incomparable>
146 <lessThan>
147 <value>P364D</value>
148 <value>P1Y</value>
149 </lessThan>
150 <incomparable>
151 <value>P1Y</value>
152 <value>P365D</value>
153 </incomparable>
154 <incomparable>
155 <value>P1Y</value>
156 <value>P366D</value>
157 </incomparable>
158 <lessThan>
159 <value>P1Y</value>
160 <value>P367D</value>
161 </lessThan>
162 <lessThan>
163 <value>P149D</value>
164 <value>P5M</value>
165 </lessThan>
166 <incomparable>
167 <value>P150D</value>
168 <value>P5M</value>
169 </incomparable>
170 <incomparable>
171 <value>P151D</value>
172 <value>P5M</value>
173 </incomparable>
174 <incomparable>
175 <value>P152D</value>
176 <value>P5M</value>
177 </incomparable>
178 <incomparable>
179 <value>P153D</value>
180 <value>P5M</value>
181 </incomparable>
182 <lessThan>
183 <value>P5M</value>
184 <value>P154D</value>
185 </lessThan>
186 <lessThan>
187 <value>P27D</value>
188 <value>P1M</value>
189 </lessThan>
190 <incomparable>
191 <value>P28D</value>
192 <value>P1M</value>
193 </incomparable>
194 <incomparable>
195 <value>P29D</value>
196 <value>P1M</value>
197 </incomparable>
198 <incomparable>
199 <value>P30D</value>
200 <value>P1M</value>
201 </incomparable>
202 <incomparable>
203 <value>P31D</value>
204 <value>P1M</value>
205 </incomparable>
206 <lessThan>
207 <value>P1M</value>
208 <value>P32D</value>
209 </lessThan>
210 </datatype>
211 <datatype name="time">
212 <valid>12:45:00</valid>
213 <valid>12:45:00Z</valid>
214 </datatype>
215 <datatype name="date">
216 <valid>1886-12-01</valid>
217 <valid>1886-12-01Z</valid>
218 <lessThan>
219 <value>1066-12-31</value>
220 <value>1900-01-01</value>
221 </lessThan>
222 <lessThan>
223 <value>1900-01-01</value>
224 <value>1900-01-02</value>
225 </lessThan>
226 </datatype>
227 <datatype name="gYearMonth">
228 <valid>1996-12</valid>
229 <valid>1996-01</valid>
230 <valid>1996-01Z</valid>
231 <invalid>1996-00</invalid>
232 <equiv>
233 <class><value>1996-01</value></class>
234 <class>
235 <value>1996-01Z</value>
236 <value>1996-01+00:00</value>
237 <value>1996-01-00:00</value>
238 </class>
239 <class><value>1996-01+01:00</value></class>
240 <class><value>1996-01-01:00</value></class>
241 </equiv>
242 </datatype>
243 <datatype name="gYear">
244 <valid>2001</valid>
245 <valid>2001Z</valid>
246 <lessThan>
247 <value>1999</value>
248 <value>2000</value>
249 </lessThan>
250 <lessThan>
251 <value>1999+07:00</value>
252 <value>2000+07:00</value>
253 </lessThan>
254 </datatype>
255 <datatype name="gMonthDay">
256 <valid>--12-01</valid>
257 <valid>--12-01Z</valid>
258 <lessThan>
259 <value>--12-01</value>
260 <value>--12-04</value>
261 </lessThan>
262 <lessThan>
263 <value>--11-17</value>
264 <value>--12-04</value>
265 </lessThan>
266 </datatype>
267 <datatype name="gDay">
268 <valid>---20</valid>
269 <valid>---20Z</valid>
270 <lessThan>
271 <value>---01</value>
272 <value>---31</value>
273 </lessThan>
274 </datatype>
275 <datatype name="gMonth">
276 <valid>--12</valid>
277 <valid>--01</valid>
278 <valid>--01Z</valid>
279 <valid> --12 </valid>
280 <invalid>---01</invalid>
281 <invalid>--00</invalid>
282 <invalid>--13</invalid>
283 <invalid>- -13</invalid>
284 <lessThan>
285 <value>--01</value>
286 <value>--12</value>
287 </lessThan>
288 <lessThan>
289 <value>--01</value>
290 <value>--02</value>
291 </lessThan>
292 </datatype>
293 <datatype name="boolean">
294 <valid>true</valid>
295 <valid>false</valid>
296 <valid>0</valid>
297 <valid>1</valid>
298 <invalid>00</invalid>
299 <invalid>00</invalid>
300 <invalid>01</invalid>
301 <equiv>
302 <class><value>true</value><value>1</value></class>
303 <class><value>false</value><value>0</value></class>
304 </equiv>
305 </datatype>
306 <datatype name="base64Binary">
307 <valid>AAAA</valid>
308 <valid>abcd efgh ijkl mnop qrst uvwx yzAB CDEF GHIJ KLMN OPQR
309 STUV WXYZ 0123 4567 89+/</valid>
310 <valid>BA==</valid>
311 <valid></valid>
312 <valid>BA==</valid>
313 <valid>BQ==</valid>
314 <valid>Bg==</valid>
315 <valid>Bw==</valid>
316 <valid>BBA=</valid>
317 <valid>BBA=</valid>
318 <valid>BBE=</valid>
319 <valid>BBI=</valid>
320 <valid>BBM=</valid>
321 <valid>BBQ=</valid>
322 <valid>BBU=</valid>
323 <valid>BBY=</valid>
324 <valid>BBc=</valid>
325 <valid>BBg=</valid>
326 <valid>BBk=</valid>
327 <valid>BBo=</valid>
328 <valid>BBs=</valid>
329 <valid>BBw=</valid>
330 <valid>BB0=</valid>
331 <valid>BB4=</valid>
332 <valid>BB8=</valid>
333 <invalid>====</invalid>
334 <invalid>BB==</invalid>
335 <invalid>BBB=</invalid>
336 <invalid>B===</invalid>
337 <invalid>B</invalid>
338 <equiv>
339 <class>
340 <value>deadbeef</value>
341 <value>d&#xA;&#xD;&#x9;e a d
342 b eef </value>
343 </class>
344 <class>
345 <value>DEADBEEF</value>
346 <value>D&#xA;&#xD;&#x9;E A D
347 B EEF </value>
348 </class>
349 </equiv>
350 <length value="0"></length>
351 <length value="6">deadbeef</length>
352 <length value="1">BA==</length>
353 <length value="2">BBA=</length>
354 <length value="3">dead</length>
355 <length value="4">deadBA==</length>
356 </datatype>
357 <datatype name="hexBinary">
358 <valid>deadbeef</valid>
359 <valid></valid>
360 <valid>0123456789ABCDEFabcdef</valid>
361 <invalid>00 00</invalid>
362 <invalid>00.00</invalid>
363 <invalid>0G</invalid>
364 <equiv>
365 <class>
366 <value>00</value>
367 <value>
368 00
369 </value>
370 </class>
371 <class>
372 <value>01</value>
373 </class>
374 <class>
375 <value>10</value>
376 </class>
377 <class>
378 <value>0a</value>
379 <value>0A</value>
380 </class>
381 </equiv>
382 <length value="0"></length>
383 <length value="1">00</length>
384 <length value="2">0000</length>
385 <length value="2"> 0000 </length>
386 <length value="2">AAAA</length>
387 </datatype>
388 <datatype name="float">
389 <valid>1.0</valid>
390 <valid>1.</valid>
391 <valid>.1</valid>
392 <invalid>- 1</invalid>
393 <invalid>1 .0</invalid>
394 <invalid>+INF</invalid>
395 <invalid>+NaN</invalid>
396 <invalid>-NaN</invalid>
397 <equiv>
398 <class>
399 <value>0</value>
400 <value>-0</value>
401 <value>+0</value>
402 <value> 0 </value>
403 <value> 0. </value>
404 <value> .0 </value>
405 <value> 0.0 </value>
406 <value> 0e0 </value>
407 <value> 0E0 </value>
408 <value> 0E+0 </value>
409 <value> 0E-0 </value>
410 </class>
411 <class>
412 <value>1E0</value>
413 <value>0.1E1</value>
414 <value>10E-1</value>
415 <value>+1</value>
416 </class>
417 <class>
418 <value>-1</value>
419 </class>
420 <class>
421 <value>INF</value>
422 <value>INF </value>
423 </class>
424 <class>
425 <value>-INF</value>
426 <value>-INF </value>
427 </class>
428 <class>
429 <value>NaN</value>
430 <value> NaN </value>
431 </class>
432 </equiv>
433 <lessThan>
434 <value>-INF</value>
435 <value>-1000</value>
436 </lessThan>
437 <lessThan>
438 <value>1000</value>
439 <value>INF</value>
440 </lessThan>
441 <lessThan>
442 <value>-1</value>
443 <value>1</value>
444 </lessThan>
445 <lessThan>
446 <value>0</value>
447 <value>1</value>
448 </lessThan>
449 <lessThan>
450 <value>-1</value>
451 <value>0</value>
452 </lessThan>
453 </datatype>
454 <datatype name="double">
455 <valid>1.0</valid>
456 <valid>1.</valid>
457 <valid>.1</valid>
458 <invalid>- 1</invalid>
459 <invalid>1 .0</invalid>
460 <invalid>+INF</invalid>
461 <invalid>+NaN</invalid>
462 <invalid>-NaN</invalid>
463 <equiv>
464 <class>
465 <value>0</value>
466 <value>-0</value>
467 <value>+0</value>
468 <value> 0 </value>
469 <value> 0. </value>
470 <value> .0 </value>
471 <value> 0.0 </value>
472 <value> 0e0 </value>
473 <value> 0E0 </value>
474 <value> 0E+0 </value>
475 <value> 0E-0 </value>
476 </class>
477 <class>
478 <value>1E0</value>
479 <value>0.1E1</value>
480 <value>10E-1</value>
481 <value>+1</value>
482 </class>
483 <class>
484 <value>-1</value>
485 </class>
486 <class>
487 <value>INF</value>
488 <value>INF </value>
489 </class>
490 <class>
491 <value>-INF</value>
492 <value>-INF </value>
493 </class>
494 <class>
495 <value>NaN</value>
496 <value> NaN </value>
497 </class>
498 </equiv>
499 <lessThan>
500 <value>-INF</value>
501 <value>-1000</value>
502 </lessThan>
503 <lessThan>
504 <value>1000</value>
505 <value>INF</value>
506 </lessThan>
507 <lessThan>
508 <value>-1</value>
509 <value>1</value>
510 </lessThan>
511 <lessThan>
512 <value>0</value>
513 <value>1</value>
514 </lessThan>
515 <lessThan>
516 <value>-1</value>
517 <value>0</value>
518 </lessThan>
519 </datatype>
520 <datatype name="QName">
521 <valid>foo</valid>
522 <valid xmlns:x="http://www.example.com">x:foo</valid>
523 <invalid>y:foo</invalid>
524 <equiv xmlns:x="http://www.example.com"
525 xmlns:y="http://www.example.com/"
526 xmlns:z="http://www.example.com">
527 <class>
528 <value>foo</value>
529 <value> foo</value>
530 </class>
531 <class>
532 <value>x:foo</value>
533 <value> x:foo </value>
534 <value>z:foo</value>
535 </class>
536 <class>
537 <value>x:bar</value>
538 <value>z:bar</value>
539 </class>
540 <class>
541 <value>y:foo</value>
542 </class>
543 <class>
544 <value>y:bar</value>
545 </class>
546 </equiv>
547 </datatype>
548 <datatype name="NOTATION">
549 <valid>foo</valid>
550 <valid xmlns:x="http://www.example.com">x:foo</valid>
551 <invalid>y:foo</invalid>
552 </datatype>
553 <datatype name="decimal">
554 <valid>1.0</valid>
555 <valid>1.</valid>
556 <valid>.1</valid>
557 <valid>+1.0</valid>
558 <valid>-1.0</valid>
559 <valid> 1 </valid>
560 <valid>99999999999999999999999999999999999999999999999999999999999999999</valid>
561 <valid>-99999999999999999999999999999999999999999999999999999999999999999</valid>
562 <invalid>junk</invalid>
563 <invalid>--1</invalid>
564 <invalid>++1</invalid>
565 <invalid>+-1</invalid>
566 <invalid>1.2.</invalid>
567 <invalid>..1</invalid>
568 <invalid>1..</invalid>
569 <invalid>1 .2</invalid>
570 <invalid>1+</invalid>
571 <invalid>+ 1</invalid>
572 <lessThan>
573 <value>0</value>
574 <value>1</value>
575 </lessThan>
576 </datatype>
577 <datatype name="nonPositiveInteger">
578 <valid>-1</valid>
579 <valid>0</valid>
580 <valid>-0</valid>
581 <invalid>1</invalid>
582 </datatype>
583 <datatype name="nonNegativeInteger">
584 <valid>1</valid>
585 <valid>0</valid>
586 <valid>+1</valid>
587 <valid>+0</valid>
588 <invalid>-1</invalid>
589 </datatype>
590 <datatype name="positiveInteger">
591 <valid>+1</valid>
592 <valid>1</valid>
593 <invalid>0</invalid>
594 <invalid>-1</invalid>
595 </datatype>
596 <datatype name="negativeInteger">
597 <valid>-1</valid>
598 <invalid>+1</invalid>
599 <invalid>0</invalid>
600 </datatype>
601 <datatype name="long">
602 <valid>1</valid>
603 <valid>+1</valid>
604 <valid>0</valid>
605 <valid> 0 </valid>
606 <invalid>1 2</invalid>
607 <invalid>9999999999999999999999999999999999999999999999999999999999999999999999999</invalid>
608 <valid>9223372036854775807</valid>
609 <valid>-9223372036854775808</valid>
610 <invalid>9223372036854775808</invalid>
611 <invalid>-9223372036854775809</invalid>
612 <invalid/>
613 </datatype>
614 <datatype name="int">
615 <valid>1</valid>
616 <valid>01</valid>
617 <valid> 1 </valid>
618 <valid>2147483647</valid>
619 <valid>-2147483648</valid>
620 <invalid>2147483648</invalid>
621 <invalid>-2147483649</invalid>
622 <invalid>9999999999999999999999999999999999999999999999999999999999999999999999999</invalid>
623 <equiv>
624 <class>
625 <value>1</value>
626 <value>+1</value>
627 <value> 1 </value>
628 <value>001</value>
629 </class>
630 <class>
631 <value>-1</value>
632 <value> -1 </value>
633 <value>-001</value>
634 </class>
635 </equiv>
636 </datatype>
637 <datatype name="short">
638 <valid>1</valid>
639 <valid>32767</valid>
640 <valid>-32768</valid>
641 <invalid>32768</invalid>
642 <invalid>-32769</invalid>
643 <invalid>9999999999999999999999999999999999999999999999999999999999999999999999999</invalid>
644 <equiv>
645 <class>
646 <value>1</value>
647 <value>+1</value>
648 <value> 1 </value>
649 <value>001</value>
650 </class>
651 <class>
652 <value>-1</value>
653 <value> -1 </value>
654 <value>-001</value>
655 </class>
656 </equiv>
657 </datatype>
658 <datatype name="byte">
659 <valid>1</valid>
660 <valid>127</valid>
661 <valid>-128</valid>
662 <invalid>128</invalid>
663 <invalid>-129</invalid>
664 </datatype>
665 <datatype name="unsignedLong">
666 <valid>1</valid>
667 <valid>+1</valid>
668 <invalid>-1</invalid>
669 <valid>0</valid>
670 <valid>18446744073709551615</valid>
671 <invalid>18446744073709551616</invalid>
672 <invalid>-1</invalid>
673 </datatype>
674 <datatype name="unsignedInt">
675 <valid>1</valid>
676 <valid>+1</valid>
677 <valid>0</valid>
678 <valid>4294967295</valid>
679 <invalid>4294967296</invalid>
680 <invalid>-1</invalid>
681 </datatype>
682 <datatype name="unsignedShort">
683 <valid>1</valid>
684 <valid>+1</valid>
685 <valid>0</valid>
686 <valid>65535</valid>
687 <invalid>65536</invalid>
688 <invalid>-1</invalid>
689 </datatype>
690 <datatype name="unsignedByte">
691 <valid>1</valid>
692 <valid>+1</valid>
693 <valid>0</valid>
694 <valid>255</valid>
695 <invalid>256</invalid>
696 <invalid>-1</invalid>
697 </datatype>
698 <datatype name="string">
699 <valid>any thing at all!</valid>
700 </datatype>
701 <datatype name="normalizedString">
702 <valid>any thing at all!</valid>
703 </datatype>
704 <datatype name="token">
705 <valid>any thing at all!</valid>
706 <equiv>
707 <class>
708 <value/>
709 <value> </value>
710 <value>&#x9;&#xA;&#xD;&#x20;</value>
711 </class>
712 <class>
713 <value>x&#x20;</value>
714 <value>x&#xA;</value>
715 <value>x&#xD;</value>
716 <value>x&#x9;</value>
717 <value>&#x20;x</value>
718 <value>&#xA;x</value>
719 <value>&#xD;x</value>
720 <value>&#x9;x</value>
721 <value>&#x9;&#xA;&#xD;&#x20;x&#x9;&#xA;&#xD;&#x20;</value>
722 </class>
723 <class>
724 <value>x y&#x20;</value>
725 <value>x y&#xA;</value>
726 <value>x y&#xD;</value>
727 <value>x y&#x9;</value>
728 <value>x&#x20;y</value>
729 <value>x&#xA;y</value>
730 <value>x&#xD;y</value>
731 <value>x&#x9;y</value>
732 <value>&#x20;x y</value>
733 <value>&#xA;x y</value>
734 <value>&#xD;x y</value>
735 <value>&#x9;x y</value>
736 <value>&#x9;&#xA;&#xD;&#x20;x&#x9;&#xA;&#xD;&#x20;y&#x9;&#xA;&#xD;&#x20;</value>
737 </class>
738 </equiv>
739 <length value="0"></length>
740 <length value="1">x</length>
741 <length value="1"> x </length>
742 <length value="1">&#x10800;</length>
743 </datatype>
744 <datatype name="language">
745 <valid>en</valid>
746 <valid>en-UK</valid>
747 <valid>i-cherokee</valid>
748 <valid>x-klingon</valid>
749 <valid>en-uk-scotland</valid>
750 <invalid>en.UK</invalid>
751 </datatype>
752 <datatype name="Name">
753 <valid>foo</valid>
754 <valid>_0123456789</valid>
755 <invalid>.</invalid>
756 <valid>:</valid>
757 <invalid>-</invalid>
758 <invalid>1234</invalid>
759 <valid> foo </valid>
760 </datatype>
761 <datatype name="NCName">
762 <valid>foo</valid>
763 <invalid>foo:bar</invalid>
764 <invalid>0foo</invalid>
765 <equiv>
766 <class><value>foo</value><value> foo </value></class>
767 <class><value>FOO</value><value> FOO </value></class>
768 </equiv>
769 </datatype>
770 <datatype name="NMTOKEN">
771 <valid>foo</valid>
772 <valid>_</valid>
773 <valid>.</valid>
774 <valid>:</valid>
775 <valid>-</valid>
776 <valid>1234</valid>
777 <valid> foo </valid>
778 <length value="3"> foo </length>
779 <length value="2">fo</length>
780 <length value="1">f</length>
781 </datatype>
782 <datatype name="NMTOKENS">
783 <valid>foo bar</valid>
784 <invalid/>
785 <valid>1 2 3 4</valid>
786 </datatype>
787 <datatype name="ID">
788 <valid>foobar</valid>
789 <invalid>foo:bar</invalid>
790 <invalid>foo bar</invalid>
791 </datatype>
792 <datatype name="ENTITY">
793 <invalid/>
794 <invalid>foo</invalid>
795 <valid internalSubset="&lt;!ENTITY foo SYSTEM 'whatever' NDATA jpeg>"
796 >foo</valid>
797 </datatype>
798 <datatype name="ENTITIES">
799 <invalid></invalid>
800 <invalid>foo</invalid>
801 <valid internalSubset="&lt;!ENTITY foo SYSTEM 'whatever' NDATA jpeg>
802 &#xA;&lt;!ENTITY bar SYSTEM 'whatever' NDATA jpeg>
803 "
804 > foo bar </valid>
805 </datatype>
806 </xsdtest>