blob: 1c91cb9d3d1165d8f9386617a3c52c2a2b5cb47f [file] [log] [blame]
William M. Brackf5806742004-03-31 02:01:32 +00001<?xml version="1.0" encoding="utf-8"?>
2<testSuite>
3 <testSuite>
4 <documentation>Datatype dateTime</documentation>
5 <testCase>
6 <requires datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/>
7 <correct>
8 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
9 <data type="dateTime"/>
10 </element>
11 </correct>
12 <valid>
13 <doc>2001-12-01T19:45:00</doc>
14 </valid>
15 <valid>
16 <doc>2001-12-01T19:45:00Z</doc>
17 </valid>
18 <valid>
19 <doc>2001-12-01T19:45:00-11:59</doc>
20 </valid>
21 <valid>
22 <doc>0001-01-12T00:00:00+12:00</doc>
23 </valid>
24 <invalid>
25 <doc>2001-12-1T19:45:00+24:00</doc>
26 </invalid>
27 <invalid>
28 <doc>2001-12-1T19:45:00</doc>
29 </invalid>
30 </testCase>
31 <testCase>
32 <correct>
33 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
34 <value type="dateTime">2001-12-01T19:45:00</value>
35 </element>
36 </correct>
37 <valid>
38 <doc>2001-12-01T19:45:00.00</doc>
39 </valid>
40 <invalid>
41 <doc>2001-12-01T19:45:00Z</doc>
42 </invalid>
43 <invalid>
44 <doc>2001-12-01T19:45:00.00Z</doc>
45 </invalid>
46 <invalid>
47 <doc>2001-12-01T20:45:00+01:00</doc>
48 </invalid>
49 </testCase>
50 <testCase>
51 <correct>
52 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
53 <value type="dateTime">2001-12-01T19:45:00Z</value>
54 </element>
55 </correct>
56 <valid>
57 <doc>2001-12-01T19:45:00.00Z</doc>
58 </valid>
59 <valid>
60 <doc>2001-12-01T20:45:00+01:00</doc>
61 </valid>
62 <invalid>
63 <doc>2001-12-01T19:45:00</doc>
64 </invalid>
65 <invalid>
66 <doc>2001-12-01T19:45:00.00</doc>
67 </invalid>
68 </testCase>
69 </testSuite>
70 <testSuite>
71 <documentation>Datatype anyURI</documentation>
72 <testCase>
73 <requires datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/>
74 <correct>
75 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
76 <data type="anyURI"/>
77 </element>
78 </correct>
79 <valid>
80 <doc>foobar</doc>
81 </valid>
82 <valid>
83 <doc>http://www.example.com</doc>
84 </valid>
85 <valid>
86 <doc>http://ji%6d@www.example.com</doc>
87 </valid>
88 <valid>
89 <doc>http://www.example.co%6d</doc>
90 </valid>
91 <valid>
92 <doc>nosuchscheme:stuff</doc>
93 </valid>
94 <invalid>
95 <doc>foo$bar:stuff</doc>
96 </invalid>
97 <invalid>
98 <doc>f%oobar</doc>
99 </invalid>
100 </testCase>
101 </testSuite>
102 <testSuite>
103 <documentation>Datatype integer</documentation>
104 <testCase>
105 <requires datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/>
106 <correct>
107 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
108 <data type="integer"/>
109 </element>
110 </correct>
111 <valid>
112 <doc>10</doc>
113 </valid>
114 <valid>
115 <doc>01</doc>
116 </valid>
117 <valid>
118 <doc>0123456789</doc>
119 </valid>
120 <valid>
121 <doc>+10</doc>
122 </valid>
123 <valid>
124 <doc>-10</doc>
125 </valid>
126 <invalid>
127 <doc>1.0</doc>
128 </invalid>
129 <invalid>
130 <doc>.1</doc>
131 </invalid>
132 <valid>
133 <doc>9999999999999999999999999999999</doc>
134 </valid>
135 <invalid>
136 <doc>1.</doc>
137 </invalid>
138 <invalid>
139 <doc>0.</doc>
140 </invalid>
141 </testCase>
142 <testCase>
143 <correct>
144 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
145 <value type="integer">0</value>
146 </element>
147 </correct>
148 <valid>
149 <doc>+0</doc>
150 </valid>
151 <valid>
152 <doc>-0</doc>
153 </valid>
154 <valid>
155 <doc>00</doc>
156 </valid>
157 <invalid>
158 <doc>10</doc>
159 </invalid>
160 <invalid>
161 <doc>+10</doc>
162 </invalid>
163 <invalid>
164 <doc>+0010</doc>
165 </invalid>
166 <invalid>
167 <doc>010</doc>
168 </invalid>
169 <invalid>
170 <doc>-10</doc>
171 </invalid>
172 <invalid>
173 <doc>-0010</doc>
174 </invalid>
175 <invalid>
176 <doc>-010</doc>
177 </invalid>
178 </testCase>
179 <testCase>
180 <correct>
181 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
182 <value type="integer">10</value>
183 </element>
184 </correct>
185 <valid>
186 <doc>+10</doc>
187 </valid>
188 <valid>
189 <doc>+0010</doc>
190 </valid>
191 <valid>
192 <doc>010</doc>
193 </valid>
194 <invalid>
195 <doc>0</doc>
196 </invalid>
197 <invalid>
198 <doc>+0</doc>
199 </invalid>
200 <invalid>
201 <doc>-0</doc>
202 </invalid>
203 <invalid>
204 <doc>00</doc>
205 </invalid>
206 <invalid>
207 <doc>-10</doc>
208 </invalid>
209 <invalid>
210 <doc>-0010</doc>
211 </invalid>
212 <invalid>
213 <doc>-010</doc>
214 </invalid>
215 </testCase>
216 <testCase>
217 <correct>
218 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
219 <value type="integer">-10</value>
220 </element>
221 </correct>
222 <valid>
223 <doc>-0010</doc>
224 </valid>
225 <valid>
226 <doc>-010</doc>
227 </valid>
228 <invalid>
229 <doc>0</doc>
230 </invalid>
231 <invalid>
232 <doc>+0</doc>
233 </invalid>
234 <invalid>
235 <doc>-0</doc>
236 </invalid>
237 <invalid>
238 <doc>00</doc>
239 </invalid>
240 <invalid>
241 <doc>10</doc>
242 </invalid>
243 <invalid>
244 <doc>+10</doc>
245 </invalid>
246 <invalid>
247 <doc>+0010</doc>
248 </invalid>
249 <invalid>
250 <doc>010</doc>
251 </invalid>
252 </testCase>
253 </testSuite>
254 <testSuite>
255 <documentation>Datatype duration</documentation>
256 <testCase>
257 <requires datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/>
258 <correct>
259 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
260 <data type="duration"/>
261 </element>
262 </correct>
263 <valid>
264 <doc>P1Y</doc>
265 </valid>
266 <valid>
267 <doc>P1Y0M2DT17H5M12S</doc>
268 </valid>
269 <valid>
270 <doc>-P1Y</doc>
271 </valid>
272 <valid>
273 <doc>P60D</doc>
274 </valid>
275 <valid>
276 <doc>PT24H</doc>
277 </valid>
278 <valid>
279 <doc>PT1.2S</doc>
280 </valid>
281 <invalid>
282 <doc>P24h</doc>
283 </invalid>
284 <invalid>
285 <doc>P24H</doc>
286 </invalid>
287 <invalid>
288 <doc>P1YT</doc>
289 </invalid>
290 <invalid>
291 <doc>P</doc>
292 </invalid>
293 <invalid>
294 <doc>-P</doc>
295 </invalid>
296 </testCase>
297 <testCase>
298 <correct>
299 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
300 <value type="duration">-P6M</value>
301 </element>
302 </correct>
303 <invalid>
304 <doc>P0Y</doc>
305 </invalid>
306 <invalid>
307 <doc>-P0Y</doc>
308 </invalid>
309 <invalid>
310 <doc>P1Y</doc>
311 </invalid>
312 <invalid>
313 <doc>P001Y</doc>
314 </invalid>
315 <invalid>
316 <doc>P001Y0M</doc>
317 </invalid>
318 <invalid>
319 <doc>P1Y0M0DT0H0M0.0S</doc>
320 </invalid>
321 <invalid>
322 <doc>P6M</doc>
323 </invalid>
324 <invalid>
325 <doc>PT6M</doc>
326 </invalid>
327 <invalid>
328 <doc>PT1S</doc>
329 </invalid>
330 <invalid>
331 <doc>PT1.0S</doc>
332 </invalid>
333 </testCase>
334 <testCase>
335 <correct>
336 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
337 <value type="duration">P0Y</value>
338 </element>
339 </correct>
340 <valid>
341 <doc>-P0Y</doc>
342 </valid>
343 <invalid>
344 <doc>-P6M</doc>
345 </invalid>
346 <invalid>
347 <doc>P1Y</doc>
348 </invalid>
349 <invalid>
350 <doc>P001Y</doc>
351 </invalid>
352 <invalid>
353 <doc>P001Y0M</doc>
354 </invalid>
355 <invalid>
356 <doc>P1Y0M0DT0H0M0.0S</doc>
357 </invalid>
358 <invalid>
359 <doc>P6M</doc>
360 </invalid>
361 <invalid>
362 <doc>PT6M</doc>
363 </invalid>
364 <invalid>
365 <doc>PT1S</doc>
366 </invalid>
367 <invalid>
368 <doc>PT1.0S</doc>
369 </invalid>
370 </testCase>
371 <testCase>
372 <correct>
373 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
374 <value type="duration">P1Y</value>
375 </element>
376 </correct>
377 <valid>
378 <doc>P001Y</doc>
379 </valid>
380 <valid>
381 <doc>P001Y0M</doc>
382 </valid>
383 <valid>
384 <doc>P1Y0M0DT0H0M0.0S</doc>
385 </valid>
386 <invalid>
387 <doc>-P6M</doc>
388 </invalid>
389 <invalid>
390 <doc>P0Y</doc>
391 </invalid>
392 <invalid>
393 <doc>-P0Y</doc>
394 </invalid>
395 <invalid>
396 <doc>P6M</doc>
397 </invalid>
398 <invalid>
399 <doc>PT6M</doc>
400 </invalid>
401 <invalid>
402 <doc>PT1S</doc>
403 </invalid>
404 <invalid>
405 <doc>PT1.0S</doc>
406 </invalid>
407 </testCase>
408 <testCase>
409 <correct>
410 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
411 <value type="duration">P6M</value>
412 </element>
413 </correct>
414 <invalid>
415 <doc>-P6M</doc>
416 </invalid>
417 <invalid>
418 <doc>P0Y</doc>
419 </invalid>
420 <invalid>
421 <doc>-P0Y</doc>
422 </invalid>
423 <invalid>
424 <doc>P1Y</doc>
425 </invalid>
426 <invalid>
427 <doc>P001Y</doc>
428 </invalid>
429 <invalid>
430 <doc>P001Y0M</doc>
431 </invalid>
432 <invalid>
433 <doc>P1Y0M0DT0H0M0.0S</doc>
434 </invalid>
435 <invalid>
436 <doc>PT6M</doc>
437 </invalid>
438 <invalid>
439 <doc>PT1S</doc>
440 </invalid>
441 <invalid>
442 <doc>PT1.0S</doc>
443 </invalid>
444 </testCase>
445 <testCase>
446 <correct>
447 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
448 <value type="duration">PT6M</value>
449 </element>
450 </correct>
451 <invalid>
452 <doc>-P6M</doc>
453 </invalid>
454 <invalid>
455 <doc>P0Y</doc>
456 </invalid>
457 <invalid>
458 <doc>-P0Y</doc>
459 </invalid>
460 <invalid>
461 <doc>P1Y</doc>
462 </invalid>
463 <invalid>
464 <doc>P001Y</doc>
465 </invalid>
466 <invalid>
467 <doc>P001Y0M</doc>
468 </invalid>
469 <invalid>
470 <doc>P1Y0M0DT0H0M0.0S</doc>
471 </invalid>
472 <invalid>
473 <doc>P6M</doc>
474 </invalid>
475 <invalid>
476 <doc>PT1S</doc>
477 </invalid>
478 <invalid>
479 <doc>PT1.0S</doc>
480 </invalid>
481 </testCase>
482 <testCase>
483 <correct>
484 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
485 <value type="duration">PT1S</value>
486 </element>
487 </correct>
488 <valid>
489 <doc>PT1.0S</doc>
490 </valid>
491 <invalid>
492 <doc>-P6M</doc>
493 </invalid>
494 <invalid>
495 <doc>P0Y</doc>
496 </invalid>
497 <invalid>
498 <doc>-P0Y</doc>
499 </invalid>
500 <invalid>
501 <doc>P1Y</doc>
502 </invalid>
503 <invalid>
504 <doc>P001Y</doc>
505 </invalid>
506 <invalid>
507 <doc>P001Y0M</doc>
508 </invalid>
509 <invalid>
510 <doc>P1Y0M0DT0H0M0.0S</doc>
511 </invalid>
512 <invalid>
513 <doc>P6M</doc>
514 </invalid>
515 <invalid>
516 <doc>PT6M</doc>
517 </invalid>
518 </testCase>
519 <testCase>
520 <correct>
521 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
522 <data type="duration">
523 <param name="minExclusive">PT1M</param>
524 </data>
525 </element>
526 </correct>
527 <valid>
528 <doc>PT61S</doc>
529 </valid>
530 <invalid>
531 <doc>PT1M</doc>
532 </invalid>
533 </testCase>
534 <testCase>
535 <correct>
536 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
537 <data type="duration">
538 <param name="minExclusive">PT61S</param>
539 </data>
540 </element>
541 </correct>
542 <invalid>
543 <doc>PT1M</doc>
544 </invalid>
545 <invalid>
546 <doc>PT61S</doc>
547 </invalid>
548 </testCase>
549 <testCase>
550 <correct>
551 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
552 <data type="duration">
553 <param name="minExclusive">PT59S</param>
554 </data>
555 </element>
556 </correct>
557 <valid>
558 <doc>PT1M</doc>
559 </valid>
560 <invalid>
561 <doc>PT59S</doc>
562 </invalid>
563 </testCase>
564 <testCase>
565 <correct>
566 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
567 <data type="duration">
568 <param name="minExclusive">PT1M</param>
569 </data>
570 </element>
571 </correct>
572 <invalid>
573 <doc>PT59S</doc>
574 </invalid>
575 <invalid>
576 <doc>PT1M</doc>
577 </invalid>
578 </testCase>
579 <testCase>
580 <correct>
581 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
582 <data type="duration">
583 <param name="minExclusive">PT60S</param>
584 </data>
585 </element>
586 </correct>
587 <invalid>
588 <doc>PT1M</doc>
589 </invalid>
590 <invalid>
591 <doc>PT60S</doc>
592 </invalid>
593 </testCase>
594 <testCase>
595 <correct>
596 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
597 <data type="duration">
598 <param name="minExclusive">PT1M</param>
599 </data>
600 </element>
601 </correct>
602 <invalid>
603 <doc>PT60S</doc>
604 </invalid>
605 <invalid>
606 <doc>PT1M</doc>
607 </invalid>
608 </testCase>
609 <testCase>
610 <correct>
611 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
612 <data type="duration">
613 <param name="minExclusive">PT1H</param>
614 </data>
615 </element>
616 </correct>
617 <valid>
618 <doc>PT61M</doc>
619 </valid>
620 <invalid>
621 <doc>PT1H</doc>
622 </invalid>
623 </testCase>
624 <testCase>
625 <correct>
626 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
627 <data type="duration">
628 <param name="minExclusive">PT61M</param>
629 </data>
630 </element>
631 </correct>
632 <invalid>
633 <doc>PT1H</doc>
634 </invalid>
635 <invalid>
636 <doc>PT61M</doc>
637 </invalid>
638 </testCase>
639 <testCase>
640 <correct>
641 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
642 <data type="duration">
643 <param name="minExclusive">PT59M</param>
644 </data>
645 </element>
646 </correct>
647 <valid>
648 <doc>PT1H</doc>
649 </valid>
650 <invalid>
651 <doc>PT59M</doc>
652 </invalid>
653 </testCase>
654 <testCase>
655 <correct>
656 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
657 <data type="duration">
658 <param name="minExclusive">PT1H</param>
659 </data>
660 </element>
661 </correct>
662 <invalid>
663 <doc>PT59M</doc>
664 </invalid>
665 <invalid>
666 <doc>PT1H</doc>
667 </invalid>
668 </testCase>
669 <testCase>
670 <correct>
671 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
672 <data type="duration">
673 <param name="minExclusive">PT60M</param>
674 </data>
675 </element>
676 </correct>
677 <invalid>
678 <doc>PT1H</doc>
679 </invalid>
680 <invalid>
681 <doc>PT60M</doc>
682 </invalid>
683 </testCase>
684 <testCase>
685 <correct>
686 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
687 <data type="duration">
688 <param name="minExclusive">PT1H</param>
689 </data>
690 </element>
691 </correct>
692 <invalid>
693 <doc>PT60M</doc>
694 </invalid>
695 <invalid>
696 <doc>PT1H</doc>
697 </invalid>
698 </testCase>
699 <testCase>
700 <correct>
701 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
702 <data type="duration">
703 <param name="minExclusive">P1D</param>
704 </data>
705 </element>
706 </correct>
707 <valid>
708 <doc>PT25H</doc>
709 </valid>
710 <invalid>
711 <doc>P1D</doc>
712 </invalid>
713 </testCase>
714 <testCase>
715 <correct>
716 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
717 <data type="duration">
718 <param name="minExclusive">PT25H</param>
719 </data>
720 </element>
721 </correct>
722 <invalid>
723 <doc>P1D</doc>
724 </invalid>
725 <invalid>
726 <doc>PT25H</doc>
727 </invalid>
728 </testCase>
729 <testCase>
730 <correct>
731 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
732 <data type="duration">
733 <param name="minExclusive">PT23H</param>
734 </data>
735 </element>
736 </correct>
737 <valid>
738 <doc>P1D</doc>
739 </valid>
740 <invalid>
741 <doc>PT23H</doc>
742 </invalid>
743 </testCase>
744 <testCase>
745 <correct>
746 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
747 <data type="duration">
748 <param name="minExclusive">P1D</param>
749 </data>
750 </element>
751 </correct>
752 <invalid>
753 <doc>PT23H</doc>
754 </invalid>
755 <invalid>
756 <doc>P1D</doc>
757 </invalid>
758 </testCase>
759 <testCase>
760 <correct>
761 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
762 <data type="duration">
763 <param name="minExclusive">P1D</param>
764 </data>
765 </element>
766 </correct>
767 <invalid>
768 <doc>PT24H</doc>
769 </invalid>
770 <invalid>
771 <doc>P1D</doc>
772 </invalid>
773 </testCase>
774 <testCase>
775 <correct>
776 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
777 <data type="duration">
778 <param name="minExclusive">PT24H</param>
779 </data>
780 </element>
781 </correct>
782 <invalid>
783 <doc>P1D</doc>
784 </invalid>
785 <invalid>
786 <doc>PT24H</doc>
787 </invalid>
788 </testCase>
789 <testCase>
790 <correct>
791 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
792 <data type="duration">
793 <param name="minExclusive">P1Y</param>
794 </data>
795 </element>
796 </correct>
797 <valid>
798 <doc>P13M</doc>
799 </valid>
800 <invalid>
801 <doc>P1Y</doc>
802 </invalid>
803 </testCase>
804 <testCase>
805 <correct>
806 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
807 <data type="duration">
808 <param name="minExclusive">P13M</param>
809 </data>
810 </element>
811 </correct>
812 <invalid>
813 <doc>P1Y</doc>
814 </invalid>
815 <invalid>
816 <doc>P13M</doc>
817 </invalid>
818 </testCase>
819 <testCase>
820 <correct>
821 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
822 <data type="duration">
823 <param name="minExclusive">P11M</param>
824 </data>
825 </element>
826 </correct>
827 <valid>
828 <doc>P1Y</doc>
829 </valid>
830 <invalid>
831 <doc>P11M</doc>
832 </invalid>
833 </testCase>
834 <testCase>
835 <correct>
836 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
837 <data type="duration">
838 <param name="minExclusive">P1Y</param>
839 </data>
840 </element>
841 </correct>
842 <invalid>
843 <doc>P11M</doc>
844 </invalid>
845 <invalid>
846 <doc>P1Y</doc>
847 </invalid>
848 </testCase>
849 <testCase>
850 <correct>
851 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
852 <data type="duration">
853 <param name="minExclusive">P12M</param>
854 </data>
855 </element>
856 </correct>
857 <invalid>
858 <doc>P1Y</doc>
859 </invalid>
860 <invalid>
861 <doc>P12M</doc>
862 </invalid>
863 </testCase>
864 <testCase>
865 <correct>
866 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
867 <data type="duration">
868 <param name="minExclusive">P1Y</param>
869 </data>
870 </element>
871 </correct>
872 <invalid>
873 <doc>P12M</doc>
874 </invalid>
875 <invalid>
876 <doc>P1Y</doc>
877 </invalid>
878 </testCase>
879 <testCase>
880 <correct>
881 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
882 <data type="duration">
883 <param name="minExclusive">P364D</param>
884 </data>
885 </element>
886 </correct>
887 <valid>
888 <doc>P1Y</doc>
889 </valid>
890 <invalid>
891 <doc>P364D</doc>
892 </invalid>
893 </testCase>
894 <testCase>
895 <correct>
896 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
897 <data type="duration">
898 <param name="minExclusive">P1Y</param>
899 </data>
900 </element>
901 </correct>
902 <invalid>
903 <doc>P364D</doc>
904 </invalid>
905 <invalid>
906 <doc>P1Y</doc>
907 </invalid>
908 </testCase>
909 <testCase>
910 <correct>
911 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
912 <data type="duration">
913 <param name="minExclusive">P1Y</param>
914 </data>
915 </element>
916 </correct>
917 <invalid>
918 <doc>P365D</doc>
919 </invalid>
920 <invalid>
921 <doc>P1Y</doc>
922 </invalid>
923 </testCase>
924 <testCase>
925 <correct>
926 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
927 <data type="duration">
928 <param name="minExclusive">P365D</param>
929 </data>
930 </element>
931 </correct>
932 <invalid>
933 <doc>P1Y</doc>
934 </invalid>
935 <invalid>
936 <doc>P365D</doc>
937 </invalid>
938 </testCase>
939 <testCase>
940 <correct>
941 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
942 <data type="duration">
943 <param name="minExclusive">P1Y</param>
944 </data>
945 </element>
946 </correct>
947 <invalid>
948 <doc>P366D</doc>
949 </invalid>
950 <invalid>
951 <doc>P1Y</doc>
952 </invalid>
953 </testCase>
954 <testCase>
955 <correct>
956 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
957 <data type="duration">
958 <param name="minExclusive">P366D</param>
959 </data>
960 </element>
961 </correct>
962 <invalid>
963 <doc>P1Y</doc>
964 </invalid>
965 <invalid>
966 <doc>P366D</doc>
967 </invalid>
968 </testCase>
969 <testCase>
970 <correct>
971 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
972 <data type="duration">
973 <param name="minExclusive">P1Y</param>
974 </data>
975 </element>
976 </correct>
977 <valid>
978 <doc>P367D</doc>
979 </valid>
980 <invalid>
981 <doc>P1Y</doc>
982 </invalid>
983 </testCase>
984 <testCase>
985 <correct>
986 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
987 <data type="duration">
988 <param name="minExclusive">P367D</param>
989 </data>
990 </element>
991 </correct>
992 <invalid>
993 <doc>P1Y</doc>
994 </invalid>
995 <invalid>
996 <doc>P367D</doc>
997 </invalid>
998 </testCase>
999 <testCase>
1000 <correct>
1001 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
1002 <data type="duration">
1003 <param name="minExclusive">P149D</param>
1004 </data>
1005 </element>
1006 </correct>
1007 <valid>
1008 <doc>P5M</doc>
1009 </valid>
1010 <invalid>
1011 <doc>P149D</doc>
1012 </invalid>
1013 </testCase>
1014 <testCase>
1015 <correct>
1016 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
1017 <data type="duration">
1018 <param name="minExclusive">P5M</param>
1019 </data>
1020 </element>
1021 </correct>
1022 <invalid>
1023 <doc>P149D</doc>
1024 </invalid>
1025 <invalid>
1026 <doc>P5M</doc>
1027 </invalid>
1028 </testCase>
1029 <testCase>
1030 <correct>
1031 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
1032 <data type="duration">
1033 <param name="minExclusive">P150D</param>
1034 </data>
1035 </element>
1036 </correct>
1037 <invalid>
1038 <doc>P5M</doc>
1039 </invalid>
1040 <invalid>
1041 <doc>P150D</doc>
1042 </invalid>
1043 </testCase>
1044 <testCase>
1045 <correct>
1046 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
1047 <data type="duration">
1048 <param name="minExclusive">P5M</param>
1049 </data>
1050 </element>
1051 </correct>
1052 <invalid>
1053 <doc>P150D</doc>
1054 </invalid>
1055 <invalid>
1056 <doc>P5M</doc>
1057 </invalid>
1058 </testCase>
1059 <testCase>
1060 <correct>
1061 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
1062 <data type="duration">
1063 <param name="minExclusive">P151D</param>
1064 </data>
1065 </element>
1066 </correct>
1067 <invalid>
1068 <doc>P5M</doc>
1069 </invalid>
1070 <invalid>
1071 <doc>P151D</doc>
1072 </invalid>
1073 </testCase>
1074 <testCase>
1075 <correct>
1076 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
1077 <data type="duration">
1078 <param name="minExclusive">P5M</param>
1079 </data>
1080 </element>
1081 </correct>
1082 <invalid>
1083 <doc>P151D</doc>
1084 </invalid>
1085 <invalid>
1086 <doc>P5M</doc>
1087 </invalid>
1088 </testCase>
1089 <testCase>
1090 <correct>
1091 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
1092 <data type="duration">
1093 <param name="minExclusive">P152D</param>
1094 </data>
1095 </element>
1096 </correct>
1097 <invalid>
1098 <doc>P5M</doc>
1099 </invalid>
1100 <invalid>
1101 <doc>P152D</doc>
1102 </invalid>
1103 </testCase>
1104 <testCase>
1105 <correct>
1106 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
1107 <data type="duration">
1108 <param name="minExclusive">P5M</param>
1109 </data>
1110 </element>
1111 </correct>
1112 <invalid>
1113 <doc>P152D</doc>
1114 </invalid>
1115 <invalid>
1116 <doc>P5M</doc>
1117 </invalid>
1118 </testCase>
1119 <testCase>
1120 <correct>
1121 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
1122 <data type="duration">
1123 <param name="minExclusive">P153D</param>
1124 </data>
1125 </element>
1126 </correct>
1127 <invalid>
1128 <doc>P5M</doc>
1129 </invalid>
1130 <invalid>
1131 <doc>P153D</doc>
1132 </invalid>
1133 </testCase>
1134 <testCase>
1135 <correct>
1136 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
1137 <data type="duration">
1138 <param name="minExclusive">P5M</param>
1139 </data>
1140 </element>
1141 </correct>
1142 <invalid>
1143 <doc>P153D</doc>
1144 </invalid>
1145 <invalid>
1146 <doc>P5M</doc>
1147 </invalid>
1148 </testCase>
1149 <testCase>
1150 <correct>
1151 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
1152 <data type="duration">
1153 <param name="minExclusive">P5M</param>
1154 </data>
1155 </element>
1156 </correct>
1157 <valid>
1158 <doc>P154D</doc>
1159 </valid>
1160 <invalid>
1161 <doc>P5M</doc>
1162 </invalid>
1163 </testCase>
1164 <testCase>
1165 <correct>
1166 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
1167 <data type="duration">
1168 <param name="minExclusive">P154D</param>
1169 </data>
1170 </element>
1171 </correct>
1172 <invalid>
1173 <doc>P5M</doc>
1174 </invalid>
1175 <invalid>
1176 <doc>P154D</doc>
1177 </invalid>
1178 </testCase>
1179 <testCase>
1180 <correct>
1181 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
1182 <data type="duration">
1183 <param name="minExclusive">P27D</param>
1184 </data>
1185 </element>
1186 </correct>
1187 <valid>
1188 <doc>P1M</doc>
1189 </valid>
1190 <invalid>
1191 <doc>P27D</doc>
1192 </invalid>
1193 </testCase>
1194 <testCase>
1195 <correct>
1196 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
1197 <data type="duration">
1198 <param name="minExclusive">P1M</param>
1199 </data>
1200 </element>
1201 </correct>
1202 <invalid>
1203 <doc>P27D</doc>
1204 </invalid>
1205 <invalid>
1206 <doc>P1M</doc>
1207 </invalid>
1208 </testCase>
1209 <testCase>
1210 <correct>
1211 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
1212 <data type="duration">
1213 <param name="minExclusive">P28D</param>
1214 </data>
1215 </element>
1216 </correct>
1217 <invalid>
1218 <doc>P1M</doc>
1219 </invalid>
1220 <invalid>
1221 <doc>P28D</doc>
1222 </invalid>
1223 </testCase>
1224 <testCase>
1225 <correct>
1226 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
1227 <data type="duration">
1228 <param name="minExclusive">P1M</param>
1229 </data>
1230 </element>
1231 </correct>
1232 <invalid>
1233 <doc>P28D</doc>
1234 </invalid>
1235 <invalid>
1236 <doc>P1M</doc>
1237 </invalid>
1238 </testCase>
1239 <testCase>
1240 <correct>
1241 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
1242 <data type="duration">
1243 <param name="minExclusive">P29D</param>
1244 </data>
1245 </element>
1246 </correct>
1247 <invalid>
1248 <doc>P1M</doc>
1249 </invalid>
1250 <invalid>
1251 <doc>P29D</doc>
1252 </invalid>
1253 </testCase>
1254 <testCase>
1255 <correct>
1256 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
1257 <data type="duration">
1258 <param name="minExclusive">P1M</param>
1259 </data>
1260 </element>
1261 </correct>
1262 <invalid>
1263 <doc>P29D</doc>
1264 </invalid>
1265 <invalid>
1266 <doc>P1M</doc>
1267 </invalid>
1268 </testCase>
1269 <testCase>
1270 <correct>
1271 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
1272 <data type="duration">
1273 <param name="minExclusive">P30D</param>
1274 </data>
1275 </element>
1276 </correct>
1277 <invalid>
1278 <doc>P1M</doc>
1279 </invalid>
1280 <invalid>
1281 <doc>P30D</doc>
1282 </invalid>
1283 </testCase>
1284 <testCase>
1285 <correct>
1286 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
1287 <data type="duration">
1288 <param name="minExclusive">P1M</param>
1289 </data>
1290 </element>
1291 </correct>
1292 <invalid>
1293 <doc>P30D</doc>
1294 </invalid>
1295 <invalid>
1296 <doc>P1M</doc>
1297 </invalid>
1298 </testCase>
1299 <testCase>
1300 <correct>
1301 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
1302 <data type="duration">
1303 <param name="minExclusive">P31D</param>
1304 </data>
1305 </element>
1306 </correct>
1307 <invalid>
1308 <doc>P1M</doc>
1309 </invalid>
1310 <invalid>
1311 <doc>P31D</doc>
1312 </invalid>
1313 </testCase>
1314 <testCase>
1315 <correct>
1316 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
1317 <data type="duration">
1318 <param name="minExclusive">P1M</param>
1319 </data>
1320 </element>
1321 </correct>
1322 <invalid>
1323 <doc>P31D</doc>
1324 </invalid>
1325 <invalid>
1326 <doc>P1M</doc>
1327 </invalid>
1328 </testCase>
1329 <testCase>
1330 <correct>
1331 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
1332 <data type="duration">
1333 <param name="minExclusive">P1M</param>
1334 </data>
1335 </element>
1336 </correct>
1337 <valid>
1338 <doc>P32D</doc>
1339 </valid>
1340 <invalid>
1341 <doc>P1M</doc>
1342 </invalid>
1343 </testCase>
1344 <testCase>
1345 <correct>
1346 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
1347 <data type="duration">
1348 <param name="minExclusive">P32D</param>
1349 </data>
1350 </element>
1351 </correct>
1352 <invalid>
1353 <doc>P1M</doc>
1354 </invalid>
1355 <invalid>
1356 <doc>P32D</doc>
1357 </invalid>
1358 </testCase>
1359 </testSuite>
1360 <testSuite>
1361 <documentation>Datatype time</documentation>
1362 <testCase>
1363 <requires datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/>
1364 <correct>
1365 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
1366 <data type="time"/>
1367 </element>
1368 </correct>
1369 <valid>
1370 <doc>12:45:00</doc>
1371 </valid>
1372 <valid>
1373 <doc>12:45:00Z</doc>
1374 </valid>
1375 </testCase>
1376 </testSuite>
1377 <testSuite>
1378 <documentation>Datatype date</documentation>
1379 <testCase>
1380 <requires datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/>
1381 <correct>
1382 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
1383 <data type="date"/>
1384 </element>
1385 </correct>
1386 <valid>
1387 <doc>1886-12-01</doc>
1388 </valid>
1389 <valid>
1390 <doc>1886-12-01Z</doc>
1391 </valid>
1392 </testCase>
1393 <testCase>
1394 <correct>
1395 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
1396 <data type="date">
1397 <param name="minExclusive">1066-12-31</param>
1398 </data>
1399 </element>
1400 </correct>
1401 <valid>
1402 <doc>1900-01-01</doc>
1403 </valid>
1404 <invalid>
1405 <doc>1066-12-31</doc>
1406 </invalid>
1407 </testCase>
1408 <testCase>
1409 <correct>
1410 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
1411 <data type="date">
1412 <param name="minExclusive">1900-01-01</param>
1413 </data>
1414 </element>
1415 </correct>
1416 <invalid>
1417 <doc>1066-12-31</doc>
1418 </invalid>
1419 <invalid>
1420 <doc>1900-01-01</doc>
1421 </invalid>
1422 </testCase>
1423 <testCase>
1424 <correct>
1425 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
1426 <data type="date">
1427 <param name="minExclusive">1900-01-01</param>
1428 </data>
1429 </element>
1430 </correct>
1431 <valid>
1432 <doc>1900-01-02</doc>
1433 </valid>
1434 <invalid>
1435 <doc>1900-01-01</doc>
1436 </invalid>
1437 </testCase>
1438 <testCase>
1439 <correct>
1440 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
1441 <data type="date">
1442 <param name="minExclusive">1900-01-02</param>
1443 </data>
1444 </element>
1445 </correct>
1446 <invalid>
1447 <doc>1900-01-01</doc>
1448 </invalid>
1449 <invalid>
1450 <doc>1900-01-02</doc>
1451 </invalid>
1452 </testCase>
1453 </testSuite>
1454 <testSuite>
1455 <documentation>Datatype gYearMonth</documentation>
1456 <testCase>
1457 <requires datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/>
1458 <correct>
1459 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
1460 <data type="gYearMonth"/>
1461 </element>
1462 </correct>
1463 <valid>
1464 <doc>1996-12</doc>
1465 </valid>
1466 <valid>
1467 <doc>1996-01</doc>
1468 </valid>
1469 <valid>
1470 <doc>1996-01Z</doc>
1471 </valid>
1472 <invalid>
1473 <doc>1996-00</doc>
1474 </invalid>
1475 </testCase>
1476 <testCase>
1477 <correct>
1478 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
1479 <value type="gYearMonth">1996-01</value>
1480 </element>
1481 </correct>
1482 <invalid>
1483 <doc>1996-01Z</doc>
1484 </invalid>
1485 <invalid>
1486 <doc>1996-01+00:00</doc>
1487 </invalid>
1488 <invalid>
1489 <doc>1996-01-00:00</doc>
1490 </invalid>
1491 <invalid>
1492 <doc>1996-01+01:00</doc>
1493 </invalid>
1494 <invalid>
1495 <doc>1996-01-01:00</doc>
1496 </invalid>
1497 </testCase>
1498 <testCase>
1499 <correct>
1500 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
1501 <value type="gYearMonth">1996-01Z</value>
1502 </element>
1503 </correct>
1504 <valid>
1505 <doc>1996-01+00:00</doc>
1506 </valid>
1507 <valid>
1508 <doc>1996-01-00:00</doc>
1509 </valid>
1510 <invalid>
1511 <doc>1996-01</doc>
1512 </invalid>
1513 <invalid>
1514 <doc>1996-01+01:00</doc>
1515 </invalid>
1516 <invalid>
1517 <doc>1996-01-01:00</doc>
1518 </invalid>
1519 </testCase>
1520 <testCase>
1521 <correct>
1522 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
1523 <value type="gYearMonth">1996-01+01:00</value>
1524 </element>
1525 </correct>
1526 <invalid>
1527 <doc>1996-01</doc>
1528 </invalid>
1529 <invalid>
1530 <doc>1996-01Z</doc>
1531 </invalid>
1532 <invalid>
1533 <doc>1996-01+00:00</doc>
1534 </invalid>
1535 <invalid>
1536 <doc>1996-01-00:00</doc>
1537 </invalid>
1538 <invalid>
1539 <doc>1996-01-01:00</doc>
1540 </invalid>
1541 </testCase>
1542 <testCase>
1543 <correct>
1544 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
1545 <value type="gYearMonth">1996-01-01:00</value>
1546 </element>
1547 </correct>
1548 <invalid>
1549 <doc>1996-01</doc>
1550 </invalid>
1551 <invalid>
1552 <doc>1996-01Z</doc>
1553 </invalid>
1554 <invalid>
1555 <doc>1996-01+00:00</doc>
1556 </invalid>
1557 <invalid>
1558 <doc>1996-01-00:00</doc>
1559 </invalid>
1560 <invalid>
1561 <doc>1996-01+01:00</doc>
1562 </invalid>
1563 </testCase>
1564 </testSuite>
1565 <testSuite>
1566 <documentation>Datatype gYear</documentation>
1567 <testCase>
1568 <requires datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/>
1569 <correct>
1570 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
1571 <data type="gYear"/>
1572 </element>
1573 </correct>
1574 <valid>
1575 <doc>2001</doc>
1576 </valid>
1577 <valid>
1578 <doc>2001Z</doc>
1579 </valid>
1580 </testCase>
1581 <testCase>
1582 <correct>
1583 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
1584 <data type="gYear">
1585 <param name="minExclusive">1999</param>
1586 </data>
1587 </element>
1588 </correct>
1589 <valid>
1590 <doc>2000</doc>
1591 </valid>
1592 <invalid>
1593 <doc>1999</doc>
1594 </invalid>
1595 </testCase>
1596 <testCase>
1597 <correct>
1598 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
1599 <data type="gYear">
1600 <param name="minExclusive">2000</param>
1601 </data>
1602 </element>
1603 </correct>
1604 <invalid>
1605 <doc>1999</doc>
1606 </invalid>
1607 <invalid>
1608 <doc>2000</doc>
1609 </invalid>
1610 </testCase>
1611 <testCase>
1612 <correct>
1613 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
1614 <data type="gYear">
1615 <param name="minExclusive">1999+07:00</param>
1616 </data>
1617 </element>
1618 </correct>
1619 <valid>
1620 <doc>2000+07:00</doc>
1621 </valid>
1622 <invalid>
1623 <doc>1999+07:00</doc>
1624 </invalid>
1625 </testCase>
1626 <testCase>
1627 <correct>
1628 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
1629 <data type="gYear">
1630 <param name="minExclusive">2000+07:00</param>
1631 </data>
1632 </element>
1633 </correct>
1634 <invalid>
1635 <doc>1999+07:00</doc>
1636 </invalid>
1637 <invalid>
1638 <doc>2000+07:00</doc>
1639 </invalid>
1640 </testCase>
1641 </testSuite>
1642 <testSuite>
1643 <documentation>Datatype gMonthDay</documentation>
1644 <testCase>
1645 <requires datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/>
1646 <correct>
1647 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
1648 <data type="gMonthDay"/>
1649 </element>
1650 </correct>
1651 <valid>
1652 <doc>--12-01</doc>
1653 </valid>
1654 <valid>
1655 <doc>--12-01Z</doc>
1656 </valid>
1657 </testCase>
1658 <testCase>
1659 <correct>
1660 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
1661 <data type="gMonthDay">
1662 <param name="minExclusive">--12-01</param>
1663 </data>
1664 </element>
1665 </correct>
1666 <valid>
1667 <doc>--12-04</doc>
1668 </valid>
1669 <invalid>
1670 <doc>--12-01</doc>
1671 </invalid>
1672 </testCase>
1673 <testCase>
1674 <correct>
1675 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
1676 <data type="gMonthDay">
1677 <param name="minExclusive">--12-04</param>
1678 </data>
1679 </element>
1680 </correct>
1681 <invalid>
1682 <doc>--12-01</doc>
1683 </invalid>
1684 <invalid>
1685 <doc>--12-04</doc>
1686 </invalid>
1687 </testCase>
1688 <testCase>
1689 <correct>
1690 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
1691 <data type="gMonthDay">
1692 <param name="minExclusive">--11-17</param>
1693 </data>
1694 </element>
1695 </correct>
1696 <valid>
1697 <doc>--12-04</doc>
1698 </valid>
1699 <invalid>
1700 <doc>--11-17</doc>
1701 </invalid>
1702 </testCase>
1703 <testCase>
1704 <correct>
1705 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
1706 <data type="gMonthDay">
1707 <param name="minExclusive">--12-04</param>
1708 </data>
1709 </element>
1710 </correct>
1711 <invalid>
1712 <doc>--11-17</doc>
1713 </invalid>
1714 <invalid>
1715 <doc>--12-04</doc>
1716 </invalid>
1717 </testCase>
1718 </testSuite>
1719 <testSuite>
1720 <documentation>Datatype gDay</documentation>
1721 <testCase>
1722 <requires datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/>
1723 <correct>
1724 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
1725 <data type="gDay"/>
1726 </element>
1727 </correct>
1728 <valid>
1729 <doc>---20</doc>
1730 </valid>
1731 <valid>
1732 <doc>---20Z</doc>
1733 </valid>
1734 </testCase>
1735 <testCase>
1736 <correct>
1737 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
1738 <data type="gDay">
1739 <param name="minExclusive">---01</param>
1740 </data>
1741 </element>
1742 </correct>
1743 <valid>
1744 <doc>---31</doc>
1745 </valid>
1746 <invalid>
1747 <doc>---01</doc>
1748 </invalid>
1749 </testCase>
1750 <testCase>
1751 <correct>
1752 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
1753 <data type="gDay">
1754 <param name="minExclusive">---31</param>
1755 </data>
1756 </element>
1757 </correct>
1758 <invalid>
1759 <doc>---01</doc>
1760 </invalid>
1761 <invalid>
1762 <doc>---31</doc>
1763 </invalid>
1764 </testCase>
1765 </testSuite>
1766 <testSuite>
1767 <documentation>Datatype gMonth</documentation>
1768 <testCase>
1769 <requires datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/>
1770 <correct>
1771 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
1772 <data type="gMonth"/>
1773 </element>
1774 </correct>
1775 <valid>
1776 <doc>--12</doc>
1777 </valid>
1778 <valid>
1779 <doc>--01</doc>
1780 </valid>
1781 <valid>
1782 <doc>--01Z</doc>
1783 </valid>
1784 <valid>
1785 <doc> --12 </doc>
1786 </valid>
1787 <invalid>
1788 <doc>---01</doc>
1789 </invalid>
1790 <invalid>
1791 <doc>--00</doc>
1792 </invalid>
1793 <invalid>
1794 <doc>--13</doc>
1795 </invalid>
1796 <invalid>
1797 <doc>- -13</doc>
1798 </invalid>
1799 </testCase>
1800 <testCase>
1801 <correct>
1802 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
1803 <data type="gMonth">
1804 <param name="minExclusive">--01</param>
1805 </data>
1806 </element>
1807 </correct>
1808 <valid>
1809 <doc>--12</doc>
1810 </valid>
1811 <invalid>
1812 <doc>--01</doc>
1813 </invalid>
1814 </testCase>
1815 <testCase>
1816 <correct>
1817 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
1818 <data type="gMonth">
1819 <param name="minExclusive">--12</param>
1820 </data>
1821 </element>
1822 </correct>
1823 <invalid>
1824 <doc>--01</doc>
1825 </invalid>
1826 <invalid>
1827 <doc>--12</doc>
1828 </invalid>
1829 </testCase>
1830 <testCase>
1831 <correct>
1832 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
1833 <data type="gMonth">
1834 <param name="minExclusive">--01</param>
1835 </data>
1836 </element>
1837 </correct>
1838 <valid>
1839 <doc>--02</doc>
1840 </valid>
1841 <invalid>
1842 <doc>--01</doc>
1843 </invalid>
1844 </testCase>
1845 <testCase>
1846 <correct>
1847 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
1848 <data type="gMonth">
1849 <param name="minExclusive">--02</param>
1850 </data>
1851 </element>
1852 </correct>
1853 <invalid>
1854 <doc>--01</doc>
1855 </invalid>
1856 <invalid>
1857 <doc>--02</doc>
1858 </invalid>
1859 </testCase>
1860 </testSuite>
1861 <testSuite>
1862 <documentation>Datatype boolean</documentation>
1863 <testCase>
1864 <requires datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/>
1865 <correct>
1866 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
1867 <data type="boolean"/>
1868 </element>
1869 </correct>
1870 <valid>
1871 <doc>true</doc>
1872 </valid>
1873 <valid>
1874 <doc>false</doc>
1875 </valid>
1876 <valid>
1877 <doc>0</doc>
1878 </valid>
1879 <valid>
1880 <doc>1</doc>
1881 </valid>
1882 <invalid>
1883 <doc>00</doc>
1884 </invalid>
1885 <invalid>
1886 <doc>00</doc>
1887 </invalid>
1888 <invalid>
1889 <doc>01</doc>
1890 </invalid>
1891 </testCase>
1892 <testCase>
1893 <correct>
1894 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
1895 <value type="boolean">true</value>
1896 </element>
1897 </correct>
1898 <valid>
1899 <doc>1</doc>
1900 </valid>
1901 <invalid>
1902 <doc>false</doc>
1903 </invalid>
1904 <invalid>
1905 <doc>0</doc>
1906 </invalid>
1907 </testCase>
1908 <testCase>
1909 <correct>
1910 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
1911 <value type="boolean">false</value>
1912 </element>
1913 </correct>
1914 <valid>
1915 <doc>0</doc>
1916 </valid>
1917 <invalid>
1918 <doc>true</doc>
1919 </invalid>
1920 <invalid>
1921 <doc>1</doc>
1922 </invalid>
1923 </testCase>
1924 </testSuite>
1925 <testSuite>
1926 <documentation>Datatype base64Binary</documentation>
1927 <testCase>
1928 <requires datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/>
1929 <correct>
1930 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
1931 <data type="base64Binary"/>
1932 </element>
1933 </correct>
1934 <valid>
1935 <doc>AAAA</doc>
1936 </valid>
1937 <valid>
1938 <doc>abcd efgh ijkl mnop qrst uvwx yzAB CDEF GHIJ KLMN OPQR
1939STUV WXYZ 0123 4567 89+/</doc>
1940 </valid>
1941 <valid>
1942 <doc>BA==</doc>
1943 </valid>
1944 <valid>
1945 <doc></doc>
1946 </valid>
1947 <valid>
1948 <doc>BA==</doc>
1949 </valid>
1950 <valid>
1951 <doc>BQ==</doc>
1952 </valid>
1953 <valid>
1954 <doc>Bg==</doc>
1955 </valid>
1956 <valid>
1957 <doc>Bw==</doc>
1958 </valid>
1959 <valid>
1960 <doc>BBA=</doc>
1961 </valid>
1962 <valid>
1963 <doc>BBA=</doc>
1964 </valid>
1965 <valid>
1966 <doc>BBE=</doc>
1967 </valid>
1968 <valid>
1969 <doc>BBI=</doc>
1970 </valid>
1971 <valid>
1972 <doc>BBM=</doc>
1973 </valid>
1974 <valid>
1975 <doc>BBQ=</doc>
1976 </valid>
1977 <valid>
1978 <doc>BBU=</doc>
1979 </valid>
1980 <valid>
1981 <doc>BBY=</doc>
1982 </valid>
1983 <valid>
1984 <doc>BBc=</doc>
1985 </valid>
1986 <valid>
1987 <doc>BBg=</doc>
1988 </valid>
1989 <valid>
1990 <doc>BBk=</doc>
1991 </valid>
1992 <valid>
1993 <doc>BBo=</doc>
1994 </valid>
1995 <valid>
1996 <doc>BBs=</doc>
1997 </valid>
1998 <valid>
1999 <doc>BBw=</doc>
2000 </valid>
2001 <valid>
2002 <doc>BB0=</doc>
2003 </valid>
2004 <valid>
2005 <doc>BB4=</doc>
2006 </valid>
2007 <valid>
2008 <doc>BB8=</doc>
2009 </valid>
2010 <invalid>
2011 <doc>====</doc>
2012 </invalid>
2013 <invalid>
2014 <doc>BB==</doc>
2015 </invalid>
2016 <invalid>
2017 <doc>BBB=</doc>
2018 </invalid>
2019 <invalid>
2020 <doc>B===</doc>
2021 </invalid>
2022 <invalid>
2023 <doc>B</doc>
2024 </invalid>
2025 </testCase>
2026 <testCase>
2027 <correct>
2028 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
2029 <value type="base64Binary">deadbeef</value>
2030 </element>
2031 </correct>
2032 <valid>
2033 <doc>d
2034&#13; e a d
2035b eef </doc>
2036 </valid>
2037 <invalid>
2038 <doc>DEADBEEF</doc>
2039 </invalid>
2040 <invalid>
2041 <doc>D
2042&#13; E A D
2043B EEF </doc>
2044 </invalid>
2045 </testCase>
2046 <testCase>
2047 <correct>
2048 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
2049 <value type="base64Binary">DEADBEEF</value>
2050 </element>
2051 </correct>
2052 <valid>
2053 <doc>D
2054&#13; E A D
2055B EEF </doc>
2056 </valid>
2057 <invalid>
2058 <doc>deadbeef</doc>
2059 </invalid>
2060 <invalid>
2061 <doc>d
2062&#13; e a d
2063b eef </doc>
2064 </invalid>
2065 </testCase>
2066 <testCase>
2067 <correct>
2068 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
2069 <data type="base64Binary">
2070 <param name="length">0</param>
2071 </data>
2072 </element>
2073 </correct>
2074 <valid>
2075 <doc></doc>
2076 </valid>
2077 </testCase>
2078 <testCase>
2079 <correct>
2080 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
2081 <data type="base64Binary">
2082 <param name="length">1</param>
2083 </data>
2084 </element>
2085 </correct>
2086 <invalid>
2087 <doc></doc>
2088 </invalid>
2089 </testCase>
2090 <testCase>
2091 <correct>
2092 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
2093 <data type="base64Binary">
2094 <param name="length">6</param>
2095 </data>
2096 </element>
2097 </correct>
2098 <valid>
2099 <doc>deadbeef</doc>
2100 </valid>
2101 </testCase>
2102 <testCase>
2103 <correct>
2104 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
2105 <data type="base64Binary">
2106 <param name="length">7</param>
2107 </data>
2108 </element>
2109 </correct>
2110 <invalid>
2111 <doc>deadbeef</doc>
2112 </invalid>
2113 </testCase>
2114 <testCase>
2115 <correct>
2116 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
2117 <data type="base64Binary">
2118 <param name="length">5</param>
2119 </data>
2120 </element>
2121 </correct>
2122 <invalid>
2123 <doc>deadbeef</doc>
2124 </invalid>
2125 </testCase>
2126 <testCase>
2127 <correct>
2128 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
2129 <data type="base64Binary">
2130 <param name="length">1</param>
2131 </data>
2132 </element>
2133 </correct>
2134 <valid>
2135 <doc>BA==</doc>
2136 </valid>
2137 </testCase>
2138 <testCase>
2139 <correct>
2140 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
2141 <data type="base64Binary">
2142 <param name="length">2</param>
2143 </data>
2144 </element>
2145 </correct>
2146 <invalid>
2147 <doc>BA==</doc>
2148 </invalid>
2149 </testCase>
2150 <testCase>
2151 <correct>
2152 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
2153 <data type="base64Binary">
2154 <param name="length">0</param>
2155 </data>
2156 </element>
2157 </correct>
2158 <invalid>
2159 <doc>BA==</doc>
2160 </invalid>
2161 </testCase>
2162 <testCase>
2163 <correct>
2164 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
2165 <data type="base64Binary">
2166 <param name="length">2</param>
2167 </data>
2168 </element>
2169 </correct>
2170 <valid>
2171 <doc>BBA=</doc>
2172 </valid>
2173 </testCase>
2174 <testCase>
2175 <correct>
2176 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
2177 <data type="base64Binary">
2178 <param name="length">3</param>
2179 </data>
2180 </element>
2181 </correct>
2182 <invalid>
2183 <doc>BBA=</doc>
2184 </invalid>
2185 </testCase>
2186 <testCase>
2187 <correct>
2188 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
2189 <data type="base64Binary">
2190 <param name="length">1</param>
2191 </data>
2192 </element>
2193 </correct>
2194 <invalid>
2195 <doc>BBA=</doc>
2196 </invalid>
2197 </testCase>
2198 <testCase>
2199 <correct>
2200 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
2201 <data type="base64Binary">
2202 <param name="length">3</param>
2203 </data>
2204 </element>
2205 </correct>
2206 <valid>
2207 <doc>dead</doc>
2208 </valid>
2209 </testCase>
2210 <testCase>
2211 <correct>
2212 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
2213 <data type="base64Binary">
2214 <param name="length">4</param>
2215 </data>
2216 </element>
2217 </correct>
2218 <invalid>
2219 <doc>dead</doc>
2220 </invalid>
2221 </testCase>
2222 <testCase>
2223 <correct>
2224 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
2225 <data type="base64Binary">
2226 <param name="length">2</param>
2227 </data>
2228 </element>
2229 </correct>
2230 <invalid>
2231 <doc>dead</doc>
2232 </invalid>
2233 </testCase>
2234 <testCase>
2235 <correct>
2236 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
2237 <data type="base64Binary">
2238 <param name="length">4</param>
2239 </data>
2240 </element>
2241 </correct>
2242 <valid>
2243 <doc>deadBA==</doc>
2244 </valid>
2245 </testCase>
2246 <testCase>
2247 <correct>
2248 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
2249 <data type="base64Binary">
2250 <param name="length">5</param>
2251 </data>
2252 </element>
2253 </correct>
2254 <invalid>
2255 <doc>deadBA==</doc>
2256 </invalid>
2257 </testCase>
2258 <testCase>
2259 <correct>
2260 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
2261 <data type="base64Binary">
2262 <param name="length">3</param>
2263 </data>
2264 </element>
2265 </correct>
2266 <invalid>
2267 <doc>deadBA==</doc>
2268 </invalid>
2269 </testCase>
2270 </testSuite>
2271 <testSuite>
2272 <documentation>Datatype hexBinary</documentation>
2273 <testCase>
2274 <requires datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/>
2275 <correct>
2276 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
2277 <data type="hexBinary"/>
2278 </element>
2279 </correct>
2280 <valid>
2281 <doc>deadbeef</doc>
2282 </valid>
2283 <valid>
2284 <doc></doc>
2285 </valid>
2286 <valid>
2287 <doc>0123456789ABCDEFabcdef</doc>
2288 </valid>
2289 <invalid>
2290 <doc>00 00</doc>
2291 </invalid>
2292 <invalid>
2293 <doc>00.00</doc>
2294 </invalid>
2295 <invalid>
2296 <doc>0G</doc>
2297 </invalid>
2298 </testCase>
2299 <testCase>
2300 <correct>
2301 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
2302 <value type="hexBinary">00</value>
2303 </element>
2304 </correct>
2305 <valid>
2306 <doc>
2307 00
2308 </doc>
2309 </valid>
2310 <invalid>
2311 <doc>01</doc>
2312 </invalid>
2313 <invalid>
2314 <doc>10</doc>
2315 </invalid>
2316 <invalid>
2317 <doc>0a</doc>
2318 </invalid>
2319 <invalid>
2320 <doc>0A</doc>
2321 </invalid>
2322 </testCase>
2323 <testCase>
2324 <correct>
2325 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
2326 <value type="hexBinary">01</value>
2327 </element>
2328 </correct>
2329 <invalid>
2330 <doc>00</doc>
2331 </invalid>
2332 <invalid>
2333 <doc>
2334 00
2335 </doc>
2336 </invalid>
2337 <invalid>
2338 <doc>10</doc>
2339 </invalid>
2340 <invalid>
2341 <doc>0a</doc>
2342 </invalid>
2343 <invalid>
2344 <doc>0A</doc>
2345 </invalid>
2346 </testCase>
2347 <testCase>
2348 <correct>
2349 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
2350 <value type="hexBinary">10</value>
2351 </element>
2352 </correct>
2353 <invalid>
2354 <doc>00</doc>
2355 </invalid>
2356 <invalid>
2357 <doc>
2358 00
2359 </doc>
2360 </invalid>
2361 <invalid>
2362 <doc>01</doc>
2363 </invalid>
2364 <invalid>
2365 <doc>0a</doc>
2366 </invalid>
2367 <invalid>
2368 <doc>0A</doc>
2369 </invalid>
2370 </testCase>
2371 <testCase>
2372 <correct>
2373 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
2374 <value type="hexBinary">0a</value>
2375 </element>
2376 </correct>
2377 <valid>
2378 <doc>0A</doc>
2379 </valid>
2380 <invalid>
2381 <doc>00</doc>
2382 </invalid>
2383 <invalid>
2384 <doc>
2385 00
2386 </doc>
2387 </invalid>
2388 <invalid>
2389 <doc>01</doc>
2390 </invalid>
2391 <invalid>
2392 <doc>10</doc>
2393 </invalid>
2394 </testCase>
2395 <testCase>
2396 <correct>
2397 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
2398 <data type="hexBinary">
2399 <param name="length">0</param>
2400 </data>
2401 </element>
2402 </correct>
2403 <valid>
2404 <doc></doc>
2405 </valid>
2406 </testCase>
2407 <testCase>
2408 <correct>
2409 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
2410 <data type="hexBinary">
2411 <param name="length">1</param>
2412 </data>
2413 </element>
2414 </correct>
2415 <invalid>
2416 <doc></doc>
2417 </invalid>
2418 </testCase>
2419 <testCase>
2420 <correct>
2421 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
2422 <data type="hexBinary">
2423 <param name="length">1</param>
2424 </data>
2425 </element>
2426 </correct>
2427 <valid>
2428 <doc>00</doc>
2429 </valid>
2430 </testCase>
2431 <testCase>
2432 <correct>
2433 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
2434 <data type="hexBinary">
2435 <param name="length">2</param>
2436 </data>
2437 </element>
2438 </correct>
2439 <invalid>
2440 <doc>00</doc>
2441 </invalid>
2442 </testCase>
2443 <testCase>
2444 <correct>
2445 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
2446 <data type="hexBinary">
2447 <param name="length">0</param>
2448 </data>
2449 </element>
2450 </correct>
2451 <invalid>
2452 <doc>00</doc>
2453 </invalid>
2454 </testCase>
2455 <testCase>
2456 <correct>
2457 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
2458 <data type="hexBinary">
2459 <param name="length">2</param>
2460 </data>
2461 </element>
2462 </correct>
2463 <valid>
2464 <doc>0000</doc>
2465 </valid>
2466 </testCase>
2467 <testCase>
2468 <correct>
2469 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
2470 <data type="hexBinary">
2471 <param name="length">3</param>
2472 </data>
2473 </element>
2474 </correct>
2475 <invalid>
2476 <doc>0000</doc>
2477 </invalid>
2478 </testCase>
2479 <testCase>
2480 <correct>
2481 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
2482 <data type="hexBinary">
2483 <param name="length">1</param>
2484 </data>
2485 </element>
2486 </correct>
2487 <invalid>
2488 <doc>0000</doc>
2489 </invalid>
2490 </testCase>
2491 <testCase>
2492 <correct>
2493 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
2494 <data type="hexBinary">
2495 <param name="length">2</param>
2496 </data>
2497 </element>
2498 </correct>
2499 <valid>
2500 <doc> 0000 </doc>
2501 </valid>
2502 </testCase>
2503 <testCase>
2504 <correct>
2505 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
2506 <data type="hexBinary">
2507 <param name="length">3</param>
2508 </data>
2509 </element>
2510 </correct>
2511 <invalid>
2512 <doc> 0000 </doc>
2513 </invalid>
2514 </testCase>
2515 <testCase>
2516 <correct>
2517 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
2518 <data type="hexBinary">
2519 <param name="length">1</param>
2520 </data>
2521 </element>
2522 </correct>
2523 <invalid>
2524 <doc> 0000 </doc>
2525 </invalid>
2526 </testCase>
2527 <testCase>
2528 <correct>
2529 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
2530 <data type="hexBinary">
2531 <param name="length">2</param>
2532 </data>
2533 </element>
2534 </correct>
2535 <valid>
2536 <doc>AAAA</doc>
2537 </valid>
2538 </testCase>
2539 <testCase>
2540 <correct>
2541 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
2542 <data type="hexBinary">
2543 <param name="length">3</param>
2544 </data>
2545 </element>
2546 </correct>
2547 <invalid>
2548 <doc>AAAA</doc>
2549 </invalid>
2550 </testCase>
2551 <testCase>
2552 <correct>
2553 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
2554 <data type="hexBinary">
2555 <param name="length">1</param>
2556 </data>
2557 </element>
2558 </correct>
2559 <invalid>
2560 <doc>AAAA</doc>
2561 </invalid>
2562 </testCase>
2563 </testSuite>
2564 <testSuite>
2565 <documentation>Datatype float</documentation>
2566 <testCase>
2567 <requires datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/>
2568 <correct>
2569 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
2570 <data type="float"/>
2571 </element>
2572 </correct>
2573 <valid>
2574 <doc>1.0</doc>
2575 </valid>
2576 <valid>
2577 <doc>1.</doc>
2578 </valid>
2579 <valid>
2580 <doc>.1</doc>
2581 </valid>
2582 <invalid>
2583 <doc>- 1</doc>
2584 </invalid>
2585 <invalid>
2586 <doc>1 .0</doc>
2587 </invalid>
2588 <invalid>
2589 <doc>+INF</doc>
2590 </invalid>
2591 <invalid>
2592 <doc>+NaN</doc>
2593 </invalid>
2594 <invalid>
2595 <doc>-NaN</doc>
2596 </invalid>
2597 </testCase>
2598 <testCase>
2599 <correct>
2600 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
2601 <value type="float">0</value>
2602 </element>
2603 </correct>
2604 <valid>
2605 <doc>-0</doc>
2606 </valid>
2607 <valid>
2608 <doc>+0</doc>
2609 </valid>
2610 <valid>
2611 <doc> 0 </doc>
2612 </valid>
2613 <valid>
2614 <doc> 0. </doc>
2615 </valid>
2616 <valid>
2617 <doc> .0 </doc>
2618 </valid>
2619 <valid>
2620 <doc> 0.0 </doc>
2621 </valid>
2622 <valid>
2623 <doc> 0e0 </doc>
2624 </valid>
2625 <valid>
2626 <doc> 0E0 </doc>
2627 </valid>
2628 <valid>
2629 <doc> 0E+0 </doc>
2630 </valid>
2631 <valid>
2632 <doc> 0E-0 </doc>
2633 </valid>
2634 <invalid>
2635 <doc>1E0</doc>
2636 </invalid>
2637 <invalid>
2638 <doc>0.1E1</doc>
2639 </invalid>
2640 <invalid>
2641 <doc>10E-1</doc>
2642 </invalid>
2643 <invalid>
2644 <doc>+1</doc>
2645 </invalid>
2646 <invalid>
2647 <doc>-1</doc>
2648 </invalid>
2649 <invalid>
2650 <doc>INF</doc>
2651 </invalid>
2652 <invalid>
2653 <doc>INF </doc>
2654 </invalid>
2655 <invalid>
2656 <doc>-INF</doc>
2657 </invalid>
2658 <invalid>
2659 <doc>-INF </doc>
2660 </invalid>
2661 <invalid>
2662 <doc>NaN</doc>
2663 </invalid>
2664 <invalid>
2665 <doc> NaN </doc>
2666 </invalid>
2667 </testCase>
2668 <testCase>
2669 <correct>
2670 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
2671 <value type="float">1E0</value>
2672 </element>
2673 </correct>
2674 <valid>
2675 <doc>0.1E1</doc>
2676 </valid>
2677 <valid>
2678 <doc>10E-1</doc>
2679 </valid>
2680 <valid>
2681 <doc>+1</doc>
2682 </valid>
2683 <invalid>
2684 <doc>0</doc>
2685 </invalid>
2686 <invalid>
2687 <doc>-0</doc>
2688 </invalid>
2689 <invalid>
2690 <doc>+0</doc>
2691 </invalid>
2692 <invalid>
2693 <doc> 0 </doc>
2694 </invalid>
2695 <invalid>
2696 <doc> 0. </doc>
2697 </invalid>
2698 <invalid>
2699 <doc> .0 </doc>
2700 </invalid>
2701 <invalid>
2702 <doc> 0.0 </doc>
2703 </invalid>
2704 <invalid>
2705 <doc> 0e0 </doc>
2706 </invalid>
2707 <invalid>
2708 <doc> 0E0 </doc>
2709 </invalid>
2710 <invalid>
2711 <doc> 0E+0 </doc>
2712 </invalid>
2713 <invalid>
2714 <doc> 0E-0 </doc>
2715 </invalid>
2716 <invalid>
2717 <doc>-1</doc>
2718 </invalid>
2719 <invalid>
2720 <doc>INF</doc>
2721 </invalid>
2722 <invalid>
2723 <doc>INF </doc>
2724 </invalid>
2725 <invalid>
2726 <doc>-INF</doc>
2727 </invalid>
2728 <invalid>
2729 <doc>-INF </doc>
2730 </invalid>
2731 <invalid>
2732 <doc>NaN</doc>
2733 </invalid>
2734 <invalid>
2735 <doc> NaN </doc>
2736 </invalid>
2737 </testCase>
2738 <testCase>
2739 <correct>
2740 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
2741 <value type="float">-1</value>
2742 </element>
2743 </correct>
2744 <invalid>
2745 <doc>0</doc>
2746 </invalid>
2747 <invalid>
2748 <doc>-0</doc>
2749 </invalid>
2750 <invalid>
2751 <doc>+0</doc>
2752 </invalid>
2753 <invalid>
2754 <doc> 0 </doc>
2755 </invalid>
2756 <invalid>
2757 <doc> 0. </doc>
2758 </invalid>
2759 <invalid>
2760 <doc> .0 </doc>
2761 </invalid>
2762 <invalid>
2763 <doc> 0.0 </doc>
2764 </invalid>
2765 <invalid>
2766 <doc> 0e0 </doc>
2767 </invalid>
2768 <invalid>
2769 <doc> 0E0 </doc>
2770 </invalid>
2771 <invalid>
2772 <doc> 0E+0 </doc>
2773 </invalid>
2774 <invalid>
2775 <doc> 0E-0 </doc>
2776 </invalid>
2777 <invalid>
2778 <doc>1E0</doc>
2779 </invalid>
2780 <invalid>
2781 <doc>0.1E1</doc>
2782 </invalid>
2783 <invalid>
2784 <doc>10E-1</doc>
2785 </invalid>
2786 <invalid>
2787 <doc>+1</doc>
2788 </invalid>
2789 <invalid>
2790 <doc>INF</doc>
2791 </invalid>
2792 <invalid>
2793 <doc>INF </doc>
2794 </invalid>
2795 <invalid>
2796 <doc>-INF</doc>
2797 </invalid>
2798 <invalid>
2799 <doc>-INF </doc>
2800 </invalid>
2801 <invalid>
2802 <doc>NaN</doc>
2803 </invalid>
2804 <invalid>
2805 <doc> NaN </doc>
2806 </invalid>
2807 </testCase>
2808 <testCase>
2809 <correct>
2810 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
2811 <value type="float">INF</value>
2812 </element>
2813 </correct>
2814 <valid>
2815 <doc>INF </doc>
2816 </valid>
2817 <invalid>
2818 <doc>0</doc>
2819 </invalid>
2820 <invalid>
2821 <doc>-0</doc>
2822 </invalid>
2823 <invalid>
2824 <doc>+0</doc>
2825 </invalid>
2826 <invalid>
2827 <doc> 0 </doc>
2828 </invalid>
2829 <invalid>
2830 <doc> 0. </doc>
2831 </invalid>
2832 <invalid>
2833 <doc> .0 </doc>
2834 </invalid>
2835 <invalid>
2836 <doc> 0.0 </doc>
2837 </invalid>
2838 <invalid>
2839 <doc> 0e0 </doc>
2840 </invalid>
2841 <invalid>
2842 <doc> 0E0 </doc>
2843 </invalid>
2844 <invalid>
2845 <doc> 0E+0 </doc>
2846 </invalid>
2847 <invalid>
2848 <doc> 0E-0 </doc>
2849 </invalid>
2850 <invalid>
2851 <doc>1E0</doc>
2852 </invalid>
2853 <invalid>
2854 <doc>0.1E1</doc>
2855 </invalid>
2856 <invalid>
2857 <doc>10E-1</doc>
2858 </invalid>
2859 <invalid>
2860 <doc>+1</doc>
2861 </invalid>
2862 <invalid>
2863 <doc>-1</doc>
2864 </invalid>
2865 <invalid>
2866 <doc>-INF</doc>
2867 </invalid>
2868 <invalid>
2869 <doc>-INF </doc>
2870 </invalid>
2871 <invalid>
2872 <doc>NaN</doc>
2873 </invalid>
2874 <invalid>
2875 <doc> NaN </doc>
2876 </invalid>
2877 </testCase>
2878 <testCase>
2879 <correct>
2880 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
2881 <value type="float">-INF</value>
2882 </element>
2883 </correct>
2884 <valid>
2885 <doc>-INF </doc>
2886 </valid>
2887 <invalid>
2888 <doc>0</doc>
2889 </invalid>
2890 <invalid>
2891 <doc>-0</doc>
2892 </invalid>
2893 <invalid>
2894 <doc>+0</doc>
2895 </invalid>
2896 <invalid>
2897 <doc> 0 </doc>
2898 </invalid>
2899 <invalid>
2900 <doc> 0. </doc>
2901 </invalid>
2902 <invalid>
2903 <doc> .0 </doc>
2904 </invalid>
2905 <invalid>
2906 <doc> 0.0 </doc>
2907 </invalid>
2908 <invalid>
2909 <doc> 0e0 </doc>
2910 </invalid>
2911 <invalid>
2912 <doc> 0E0 </doc>
2913 </invalid>
2914 <invalid>
2915 <doc> 0E+0 </doc>
2916 </invalid>
2917 <invalid>
2918 <doc> 0E-0 </doc>
2919 </invalid>
2920 <invalid>
2921 <doc>1E0</doc>
2922 </invalid>
2923 <invalid>
2924 <doc>0.1E1</doc>
2925 </invalid>
2926 <invalid>
2927 <doc>10E-1</doc>
2928 </invalid>
2929 <invalid>
2930 <doc>+1</doc>
2931 </invalid>
2932 <invalid>
2933 <doc>-1</doc>
2934 </invalid>
2935 <invalid>
2936 <doc>INF</doc>
2937 </invalid>
2938 <invalid>
2939 <doc>INF </doc>
2940 </invalid>
2941 <invalid>
2942 <doc>NaN</doc>
2943 </invalid>
2944 <invalid>
2945 <doc> NaN </doc>
2946 </invalid>
2947 </testCase>
2948 <testCase>
2949 <correct>
2950 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
2951 <value type="float">NaN</value>
2952 </element>
2953 </correct>
2954 <valid>
2955 <doc> NaN </doc>
2956 </valid>
2957 <invalid>
2958 <doc>0</doc>
2959 </invalid>
2960 <invalid>
2961 <doc>-0</doc>
2962 </invalid>
2963 <invalid>
2964 <doc>+0</doc>
2965 </invalid>
2966 <invalid>
2967 <doc> 0 </doc>
2968 </invalid>
2969 <invalid>
2970 <doc> 0. </doc>
2971 </invalid>
2972 <invalid>
2973 <doc> .0 </doc>
2974 </invalid>
2975 <invalid>
2976 <doc> 0.0 </doc>
2977 </invalid>
2978 <invalid>
2979 <doc> 0e0 </doc>
2980 </invalid>
2981 <invalid>
2982 <doc> 0E0 </doc>
2983 </invalid>
2984 <invalid>
2985 <doc> 0E+0 </doc>
2986 </invalid>
2987 <invalid>
2988 <doc> 0E-0 </doc>
2989 </invalid>
2990 <invalid>
2991 <doc>1E0</doc>
2992 </invalid>
2993 <invalid>
2994 <doc>0.1E1</doc>
2995 </invalid>
2996 <invalid>
2997 <doc>10E-1</doc>
2998 </invalid>
2999 <invalid>
3000 <doc>+1</doc>
3001 </invalid>
3002 <invalid>
3003 <doc>-1</doc>
3004 </invalid>
3005 <invalid>
3006 <doc>INF</doc>
3007 </invalid>
3008 <invalid>
3009 <doc>INF </doc>
3010 </invalid>
3011 <invalid>
3012 <doc>-INF</doc>
3013 </invalid>
3014 <invalid>
3015 <doc>-INF </doc>
3016 </invalid>
3017 </testCase>
3018 <testCase>
3019 <correct>
3020 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
3021 <data type="float">
3022 <param name="minExclusive">-INF</param>
3023 </data>
3024 </element>
3025 </correct>
3026 <valid>
3027 <doc>-1000</doc>
3028 </valid>
3029 <invalid>
3030 <doc>-INF</doc>
3031 </invalid>
3032 </testCase>
3033 <testCase>
3034 <correct>
3035 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
3036 <data type="float">
3037 <param name="minExclusive">-1000</param>
3038 </data>
3039 </element>
3040 </correct>
3041 <invalid>
3042 <doc>-INF</doc>
3043 </invalid>
3044 <invalid>
3045 <doc>-1000</doc>
3046 </invalid>
3047 </testCase>
3048 <testCase>
3049 <correct>
3050 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
3051 <data type="float">
3052 <param name="minExclusive">1000</param>
3053 </data>
3054 </element>
3055 </correct>
3056 <valid>
3057 <doc>INF</doc>
3058 </valid>
3059 <invalid>
3060 <doc>1000</doc>
3061 </invalid>
3062 </testCase>
3063 <testCase>
3064 <correct>
3065 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
3066 <data type="float">
3067 <param name="minExclusive">INF</param>
3068 </data>
3069 </element>
3070 </correct>
3071 <invalid>
3072 <doc>1000</doc>
3073 </invalid>
3074 <invalid>
3075 <doc>INF</doc>
3076 </invalid>
3077 </testCase>
3078 <testCase>
3079 <correct>
3080 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
3081 <data type="float">
3082 <param name="minExclusive">-1</param>
3083 </data>
3084 </element>
3085 </correct>
3086 <valid>
3087 <doc>1</doc>
3088 </valid>
3089 <invalid>
3090 <doc>-1</doc>
3091 </invalid>
3092 </testCase>
3093 <testCase>
3094 <correct>
3095 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
3096 <data type="float">
3097 <param name="minExclusive">1</param>
3098 </data>
3099 </element>
3100 </correct>
3101 <invalid>
3102 <doc>-1</doc>
3103 </invalid>
3104 <invalid>
3105 <doc>1</doc>
3106 </invalid>
3107 </testCase>
3108 <testCase>
3109 <correct>
3110 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
3111 <data type="float">
3112 <param name="minExclusive">0</param>
3113 </data>
3114 </element>
3115 </correct>
3116 <valid>
3117 <doc>1</doc>
3118 </valid>
3119 <invalid>
3120 <doc>0</doc>
3121 </invalid>
3122 </testCase>
3123 <testCase>
3124 <correct>
3125 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
3126 <data type="float">
3127 <param name="minExclusive">1</param>
3128 </data>
3129 </element>
3130 </correct>
3131 <invalid>
3132 <doc>0</doc>
3133 </invalid>
3134 <invalid>
3135 <doc>1</doc>
3136 </invalid>
3137 </testCase>
3138 <testCase>
3139 <correct>
3140 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
3141 <data type="float">
3142 <param name="minExclusive">-1</param>
3143 </data>
3144 </element>
3145 </correct>
3146 <valid>
3147 <doc>0</doc>
3148 </valid>
3149 <invalid>
3150 <doc>-1</doc>
3151 </invalid>
3152 </testCase>
3153 <testCase>
3154 <correct>
3155 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
3156 <data type="float">
3157 <param name="minExclusive">0</param>
3158 </data>
3159 </element>
3160 </correct>
3161 <invalid>
3162 <doc>-1</doc>
3163 </invalid>
3164 <invalid>
3165 <doc>0</doc>
3166 </invalid>
3167 </testCase>
3168 </testSuite>
3169 <testSuite>
3170 <documentation>Datatype double</documentation>
3171 <testCase>
3172 <requires datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/>
3173 <correct>
3174 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
3175 <data type="double"/>
3176 </element>
3177 </correct>
3178 <valid>
3179 <doc>1.0</doc>
3180 </valid>
3181 <valid>
3182 <doc>1.</doc>
3183 </valid>
3184 <valid>
3185 <doc>.1</doc>
3186 </valid>
3187 <invalid>
3188 <doc>- 1</doc>
3189 </invalid>
3190 <invalid>
3191 <doc>1 .0</doc>
3192 </invalid>
3193 <invalid>
3194 <doc>+INF</doc>
3195 </invalid>
3196 <invalid>
3197 <doc>+NaN</doc>
3198 </invalid>
3199 <invalid>
3200 <doc>-NaN</doc>
3201 </invalid>
3202 </testCase>
3203 <testCase>
3204 <correct>
3205 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
3206 <value type="double">0</value>
3207 </element>
3208 </correct>
3209 <valid>
3210 <doc>-0</doc>
3211 </valid>
3212 <valid>
3213 <doc>+0</doc>
3214 </valid>
3215 <valid>
3216 <doc> 0 </doc>
3217 </valid>
3218 <valid>
3219 <doc> 0. </doc>
3220 </valid>
3221 <valid>
3222 <doc> .0 </doc>
3223 </valid>
3224 <valid>
3225 <doc> 0.0 </doc>
3226 </valid>
3227 <valid>
3228 <doc> 0e0 </doc>
3229 </valid>
3230 <valid>
3231 <doc> 0E0 </doc>
3232 </valid>
3233 <valid>
3234 <doc> 0E+0 </doc>
3235 </valid>
3236 <valid>
3237 <doc> 0E-0 </doc>
3238 </valid>
3239 <invalid>
3240 <doc>1E0</doc>
3241 </invalid>
3242 <invalid>
3243 <doc>0.1E1</doc>
3244 </invalid>
3245 <invalid>
3246 <doc>10E-1</doc>
3247 </invalid>
3248 <invalid>
3249 <doc>+1</doc>
3250 </invalid>
3251 <invalid>
3252 <doc>-1</doc>
3253 </invalid>
3254 <invalid>
3255 <doc>INF</doc>
3256 </invalid>
3257 <invalid>
3258 <doc>INF </doc>
3259 </invalid>
3260 <invalid>
3261 <doc>-INF</doc>
3262 </invalid>
3263 <invalid>
3264 <doc>-INF </doc>
3265 </invalid>
3266 <invalid>
3267 <doc>NaN</doc>
3268 </invalid>
3269 <invalid>
3270 <doc> NaN </doc>
3271 </invalid>
3272 </testCase>
3273 <testCase>
3274 <correct>
3275 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
3276 <value type="double">1E0</value>
3277 </element>
3278 </correct>
3279 <valid>
3280 <doc>0.1E1</doc>
3281 </valid>
3282 <valid>
3283 <doc>10E-1</doc>
3284 </valid>
3285 <valid>
3286 <doc>+1</doc>
3287 </valid>
3288 <invalid>
3289 <doc>0</doc>
3290 </invalid>
3291 <invalid>
3292 <doc>-0</doc>
3293 </invalid>
3294 <invalid>
3295 <doc>+0</doc>
3296 </invalid>
3297 <invalid>
3298 <doc> 0 </doc>
3299 </invalid>
3300 <invalid>
3301 <doc> 0. </doc>
3302 </invalid>
3303 <invalid>
3304 <doc> .0 </doc>
3305 </invalid>
3306 <invalid>
3307 <doc> 0.0 </doc>
3308 </invalid>
3309 <invalid>
3310 <doc> 0e0 </doc>
3311 </invalid>
3312 <invalid>
3313 <doc> 0E0 </doc>
3314 </invalid>
3315 <invalid>
3316 <doc> 0E+0 </doc>
3317 </invalid>
3318 <invalid>
3319 <doc> 0E-0 </doc>
3320 </invalid>
3321 <invalid>
3322 <doc>-1</doc>
3323 </invalid>
3324 <invalid>
3325 <doc>INF</doc>
3326 </invalid>
3327 <invalid>
3328 <doc>INF </doc>
3329 </invalid>
3330 <invalid>
3331 <doc>-INF</doc>
3332 </invalid>
3333 <invalid>
3334 <doc>-INF </doc>
3335 </invalid>
3336 <invalid>
3337 <doc>NaN</doc>
3338 </invalid>
3339 <invalid>
3340 <doc> NaN </doc>
3341 </invalid>
3342 </testCase>
3343 <testCase>
3344 <correct>
3345 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
3346 <value type="double">-1</value>
3347 </element>
3348 </correct>
3349 <invalid>
3350 <doc>0</doc>
3351 </invalid>
3352 <invalid>
3353 <doc>-0</doc>
3354 </invalid>
3355 <invalid>
3356 <doc>+0</doc>
3357 </invalid>
3358 <invalid>
3359 <doc> 0 </doc>
3360 </invalid>
3361 <invalid>
3362 <doc> 0. </doc>
3363 </invalid>
3364 <invalid>
3365 <doc> .0 </doc>
3366 </invalid>
3367 <invalid>
3368 <doc> 0.0 </doc>
3369 </invalid>
3370 <invalid>
3371 <doc> 0e0 </doc>
3372 </invalid>
3373 <invalid>
3374 <doc> 0E0 </doc>
3375 </invalid>
3376 <invalid>
3377 <doc> 0E+0 </doc>
3378 </invalid>
3379 <invalid>
3380 <doc> 0E-0 </doc>
3381 </invalid>
3382 <invalid>
3383 <doc>1E0</doc>
3384 </invalid>
3385 <invalid>
3386 <doc>0.1E1</doc>
3387 </invalid>
3388 <invalid>
3389 <doc>10E-1</doc>
3390 </invalid>
3391 <invalid>
3392 <doc>+1</doc>
3393 </invalid>
3394 <invalid>
3395 <doc>INF</doc>
3396 </invalid>
3397 <invalid>
3398 <doc>INF </doc>
3399 </invalid>
3400 <invalid>
3401 <doc>-INF</doc>
3402 </invalid>
3403 <invalid>
3404 <doc>-INF </doc>
3405 </invalid>
3406 <invalid>
3407 <doc>NaN</doc>
3408 </invalid>
3409 <invalid>
3410 <doc> NaN </doc>
3411 </invalid>
3412 </testCase>
3413 <testCase>
3414 <correct>
3415 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
3416 <value type="double">INF</value>
3417 </element>
3418 </correct>
3419 <valid>
3420 <doc>INF </doc>
3421 </valid>
3422 <invalid>
3423 <doc>0</doc>
3424 </invalid>
3425 <invalid>
3426 <doc>-0</doc>
3427 </invalid>
3428 <invalid>
3429 <doc>+0</doc>
3430 </invalid>
3431 <invalid>
3432 <doc> 0 </doc>
3433 </invalid>
3434 <invalid>
3435 <doc> 0. </doc>
3436 </invalid>
3437 <invalid>
3438 <doc> .0 </doc>
3439 </invalid>
3440 <invalid>
3441 <doc> 0.0 </doc>
3442 </invalid>
3443 <invalid>
3444 <doc> 0e0 </doc>
3445 </invalid>
3446 <invalid>
3447 <doc> 0E0 </doc>
3448 </invalid>
3449 <invalid>
3450 <doc> 0E+0 </doc>
3451 </invalid>
3452 <invalid>
3453 <doc> 0E-0 </doc>
3454 </invalid>
3455 <invalid>
3456 <doc>1E0</doc>
3457 </invalid>
3458 <invalid>
3459 <doc>0.1E1</doc>
3460 </invalid>
3461 <invalid>
3462 <doc>10E-1</doc>
3463 </invalid>
3464 <invalid>
3465 <doc>+1</doc>
3466 </invalid>
3467 <invalid>
3468 <doc>-1</doc>
3469 </invalid>
3470 <invalid>
3471 <doc>-INF</doc>
3472 </invalid>
3473 <invalid>
3474 <doc>-INF </doc>
3475 </invalid>
3476 <invalid>
3477 <doc>NaN</doc>
3478 </invalid>
3479 <invalid>
3480 <doc> NaN </doc>
3481 </invalid>
3482 </testCase>
3483 <testCase>
3484 <correct>
3485 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
3486 <value type="double">-INF</value>
3487 </element>
3488 </correct>
3489 <valid>
3490 <doc>-INF </doc>
3491 </valid>
3492 <invalid>
3493 <doc>0</doc>
3494 </invalid>
3495 <invalid>
3496 <doc>-0</doc>
3497 </invalid>
3498 <invalid>
3499 <doc>+0</doc>
3500 </invalid>
3501 <invalid>
3502 <doc> 0 </doc>
3503 </invalid>
3504 <invalid>
3505 <doc> 0. </doc>
3506 </invalid>
3507 <invalid>
3508 <doc> .0 </doc>
3509 </invalid>
3510 <invalid>
3511 <doc> 0.0 </doc>
3512 </invalid>
3513 <invalid>
3514 <doc> 0e0 </doc>
3515 </invalid>
3516 <invalid>
3517 <doc> 0E0 </doc>
3518 </invalid>
3519 <invalid>
3520 <doc> 0E+0 </doc>
3521 </invalid>
3522 <invalid>
3523 <doc> 0E-0 </doc>
3524 </invalid>
3525 <invalid>
3526 <doc>1E0</doc>
3527 </invalid>
3528 <invalid>
3529 <doc>0.1E1</doc>
3530 </invalid>
3531 <invalid>
3532 <doc>10E-1</doc>
3533 </invalid>
3534 <invalid>
3535 <doc>+1</doc>
3536 </invalid>
3537 <invalid>
3538 <doc>-1</doc>
3539 </invalid>
3540 <invalid>
3541 <doc>INF</doc>
3542 </invalid>
3543 <invalid>
3544 <doc>INF </doc>
3545 </invalid>
3546 <invalid>
3547 <doc>NaN</doc>
3548 </invalid>
3549 <invalid>
3550 <doc> NaN </doc>
3551 </invalid>
3552 </testCase>
3553 <testCase>
3554 <correct>
3555 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
3556 <value type="double">NaN</value>
3557 </element>
3558 </correct>
3559 <valid>
3560 <doc> NaN </doc>
3561 </valid>
3562 <invalid>
3563 <doc>0</doc>
3564 </invalid>
3565 <invalid>
3566 <doc>-0</doc>
3567 </invalid>
3568 <invalid>
3569 <doc>+0</doc>
3570 </invalid>
3571 <invalid>
3572 <doc> 0 </doc>
3573 </invalid>
3574 <invalid>
3575 <doc> 0. </doc>
3576 </invalid>
3577 <invalid>
3578 <doc> .0 </doc>
3579 </invalid>
3580 <invalid>
3581 <doc> 0.0 </doc>
3582 </invalid>
3583 <invalid>
3584 <doc> 0e0 </doc>
3585 </invalid>
3586 <invalid>
3587 <doc> 0E0 </doc>
3588 </invalid>
3589 <invalid>
3590 <doc> 0E+0 </doc>
3591 </invalid>
3592 <invalid>
3593 <doc> 0E-0 </doc>
3594 </invalid>
3595 <invalid>
3596 <doc>1E0</doc>
3597 </invalid>
3598 <invalid>
3599 <doc>0.1E1</doc>
3600 </invalid>
3601 <invalid>
3602 <doc>10E-1</doc>
3603 </invalid>
3604 <invalid>
3605 <doc>+1</doc>
3606 </invalid>
3607 <invalid>
3608 <doc>-1</doc>
3609 </invalid>
3610 <invalid>
3611 <doc>INF</doc>
3612 </invalid>
3613 <invalid>
3614 <doc>INF </doc>
3615 </invalid>
3616 <invalid>
3617 <doc>-INF</doc>
3618 </invalid>
3619 <invalid>
3620 <doc>-INF </doc>
3621 </invalid>
3622 </testCase>
3623 <testCase>
3624 <correct>
3625 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
3626 <data type="double">
3627 <param name="minExclusive">-INF</param>
3628 </data>
3629 </element>
3630 </correct>
3631 <valid>
3632 <doc>-1000</doc>
3633 </valid>
3634 <invalid>
3635 <doc>-INF</doc>
3636 </invalid>
3637 </testCase>
3638 <testCase>
3639 <correct>
3640 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
3641 <data type="double">
3642 <param name="minExclusive">-1000</param>
3643 </data>
3644 </element>
3645 </correct>
3646 <invalid>
3647 <doc>-INF</doc>
3648 </invalid>
3649 <invalid>
3650 <doc>-1000</doc>
3651 </invalid>
3652 </testCase>
3653 <testCase>
3654 <correct>
3655 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
3656 <data type="double">
3657 <param name="minExclusive">1000</param>
3658 </data>
3659 </element>
3660 </correct>
3661 <valid>
3662 <doc>INF</doc>
3663 </valid>
3664 <invalid>
3665 <doc>1000</doc>
3666 </invalid>
3667 </testCase>
3668 <testCase>
3669 <correct>
3670 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
3671 <data type="double">
3672 <param name="minExclusive">INF</param>
3673 </data>
3674 </element>
3675 </correct>
3676 <invalid>
3677 <doc>1000</doc>
3678 </invalid>
3679 <invalid>
3680 <doc>INF</doc>
3681 </invalid>
3682 </testCase>
3683 <testCase>
3684 <correct>
3685 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
3686 <data type="double">
3687 <param name="minExclusive">-1</param>
3688 </data>
3689 </element>
3690 </correct>
3691 <valid>
3692 <doc>1</doc>
3693 </valid>
3694 <invalid>
3695 <doc>-1</doc>
3696 </invalid>
3697 </testCase>
3698 <testCase>
3699 <correct>
3700 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
3701 <data type="double">
3702 <param name="minExclusive">1</param>
3703 </data>
3704 </element>
3705 </correct>
3706 <invalid>
3707 <doc>-1</doc>
3708 </invalid>
3709 <invalid>
3710 <doc>1</doc>
3711 </invalid>
3712 </testCase>
3713 <testCase>
3714 <correct>
3715 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
3716 <data type="double">
3717 <param name="minExclusive">0</param>
3718 </data>
3719 </element>
3720 </correct>
3721 <valid>
3722 <doc>1</doc>
3723 </valid>
3724 <invalid>
3725 <doc>0</doc>
3726 </invalid>
3727 </testCase>
3728 <testCase>
3729 <correct>
3730 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
3731 <data type="double">
3732 <param name="minExclusive">1</param>
3733 </data>
3734 </element>
3735 </correct>
3736 <invalid>
3737 <doc>0</doc>
3738 </invalid>
3739 <invalid>
3740 <doc>1</doc>
3741 </invalid>
3742 </testCase>
3743 <testCase>
3744 <correct>
3745 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
3746 <data type="double">
3747 <param name="minExclusive">-1</param>
3748 </data>
3749 </element>
3750 </correct>
3751 <valid>
3752 <doc>0</doc>
3753 </valid>
3754 <invalid>
3755 <doc>-1</doc>
3756 </invalid>
3757 </testCase>
3758 <testCase>
3759 <correct>
3760 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
3761 <data type="double">
3762 <param name="minExclusive">0</param>
3763 </data>
3764 </element>
3765 </correct>
3766 <invalid>
3767 <doc>-1</doc>
3768 </invalid>
3769 <invalid>
3770 <doc>0</doc>
3771 </invalid>
3772 </testCase>
3773 </testSuite>
3774 <testSuite>
3775 <documentation>Datatype QName</documentation>
3776 <testCase>
3777 <requires datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/>
3778 <correct>
3779 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
3780 <data type="QName"/>
3781 </element>
3782 </correct>
3783 <valid>
3784 <doc>foo</doc>
3785 </valid>
3786 <valid>
3787 <doc xmlns:x="http://www.example.com">x:foo</doc>
3788 </valid>
3789 <invalid>
3790 <doc>y:foo</doc>
3791 </invalid>
3792 </testCase>
3793 <testCase>
3794 <correct>
3795 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
3796 <value xmlns:z="http://www.example.com" xmlns:y="http://www.example.com/" xmlns:x="http://www.example.com" type="QName">foo</value>
3797 </element>
3798 </correct>
3799 <valid>
3800 <doc xmlns:z="http://www.example.com" xmlns:y="http://www.example.com/" xmlns:x="http://www.example.com"> foo</doc>
3801 </valid>
3802 <invalid>
3803 <doc xmlns:z="http://www.example.com" xmlns:y="http://www.example.com/" xmlns:x="http://www.example.com">x:foo</doc>
3804 </invalid>
3805 <invalid>
3806 <doc xmlns:z="http://www.example.com" xmlns:y="http://www.example.com/" xmlns:x="http://www.example.com"> x:foo </doc>
3807 </invalid>
3808 <invalid>
3809 <doc xmlns:z="http://www.example.com" xmlns:y="http://www.example.com/" xmlns:x="http://www.example.com">z:foo</doc>
3810 </invalid>
3811 <invalid>
3812 <doc xmlns:z="http://www.example.com" xmlns:y="http://www.example.com/" xmlns:x="http://www.example.com">x:bar</doc>
3813 </invalid>
3814 <invalid>
3815 <doc xmlns:z="http://www.example.com" xmlns:y="http://www.example.com/" xmlns:x="http://www.example.com">z:bar</doc>
3816 </invalid>
3817 <invalid>
3818 <doc xmlns:z="http://www.example.com" xmlns:y="http://www.example.com/" xmlns:x="http://www.example.com">y:foo</doc>
3819 </invalid>
3820 <invalid>
3821 <doc xmlns:z="http://www.example.com" xmlns:y="http://www.example.com/" xmlns:x="http://www.example.com">y:bar</doc>
3822 </invalid>
3823 </testCase>
3824 <testCase>
3825 <correct>
3826 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
3827 <value xmlns:z="http://www.example.com" xmlns:y="http://www.example.com/" xmlns:x="http://www.example.com" type="QName">x:foo</value>
3828 </element>
3829 </correct>
3830 <valid>
3831 <doc xmlns:z="http://www.example.com" xmlns:y="http://www.example.com/" xmlns:x="http://www.example.com"> x:foo </doc>
3832 </valid>
3833 <valid>
3834 <doc xmlns:z="http://www.example.com" xmlns:y="http://www.example.com/" xmlns:x="http://www.example.com">z:foo</doc>
3835 </valid>
3836 <invalid>
3837 <doc xmlns:z="http://www.example.com" xmlns:y="http://www.example.com/" xmlns:x="http://www.example.com">foo</doc>
3838 </invalid>
3839 <invalid>
3840 <doc xmlns:z="http://www.example.com" xmlns:y="http://www.example.com/" xmlns:x="http://www.example.com"> foo</doc>
3841 </invalid>
3842 <invalid>
3843 <doc xmlns:z="http://www.example.com" xmlns:y="http://www.example.com/" xmlns:x="http://www.example.com">x:bar</doc>
3844 </invalid>
3845 <invalid>
3846 <doc xmlns:z="http://www.example.com" xmlns:y="http://www.example.com/" xmlns:x="http://www.example.com">z:bar</doc>
3847 </invalid>
3848 <invalid>
3849 <doc xmlns:z="http://www.example.com" xmlns:y="http://www.example.com/" xmlns:x="http://www.example.com">y:foo</doc>
3850 </invalid>
3851 <invalid>
3852 <doc xmlns:z="http://www.example.com" xmlns:y="http://www.example.com/" xmlns:x="http://www.example.com">y:bar</doc>
3853 </invalid>
3854 </testCase>
3855 <testCase>
3856 <correct>
3857 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
3858 <value xmlns:z="http://www.example.com" xmlns:y="http://www.example.com/" xmlns:x="http://www.example.com" type="QName">x:bar</value>
3859 </element>
3860 </correct>
3861 <valid>
3862 <doc xmlns:z="http://www.example.com" xmlns:y="http://www.example.com/" xmlns:x="http://www.example.com">z:bar</doc>
3863 </valid>
3864 <invalid>
3865 <doc xmlns:z="http://www.example.com" xmlns:y="http://www.example.com/" xmlns:x="http://www.example.com">foo</doc>
3866 </invalid>
3867 <invalid>
3868 <doc xmlns:z="http://www.example.com" xmlns:y="http://www.example.com/" xmlns:x="http://www.example.com"> foo</doc>
3869 </invalid>
3870 <invalid>
3871 <doc xmlns:z="http://www.example.com" xmlns:y="http://www.example.com/" xmlns:x="http://www.example.com">x:foo</doc>
3872 </invalid>
3873 <invalid>
3874 <doc xmlns:z="http://www.example.com" xmlns:y="http://www.example.com/" xmlns:x="http://www.example.com"> x:foo </doc>
3875 </invalid>
3876 <invalid>
3877 <doc xmlns:z="http://www.example.com" xmlns:y="http://www.example.com/" xmlns:x="http://www.example.com">z:foo</doc>
3878 </invalid>
3879 <invalid>
3880 <doc xmlns:z="http://www.example.com" xmlns:y="http://www.example.com/" xmlns:x="http://www.example.com">y:foo</doc>
3881 </invalid>
3882 <invalid>
3883 <doc xmlns:z="http://www.example.com" xmlns:y="http://www.example.com/" xmlns:x="http://www.example.com">y:bar</doc>
3884 </invalid>
3885 </testCase>
3886 <testCase>
3887 <correct>
3888 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
3889 <value xmlns:z="http://www.example.com" xmlns:y="http://www.example.com/" xmlns:x="http://www.example.com" type="QName">y:foo</value>
3890 </element>
3891 </correct>
3892 <invalid>
3893 <doc xmlns:z="http://www.example.com" xmlns:y="http://www.example.com/" xmlns:x="http://www.example.com">foo</doc>
3894 </invalid>
3895 <invalid>
3896 <doc xmlns:z="http://www.example.com" xmlns:y="http://www.example.com/" xmlns:x="http://www.example.com"> foo</doc>
3897 </invalid>
3898 <invalid>
3899 <doc xmlns:z="http://www.example.com" xmlns:y="http://www.example.com/" xmlns:x="http://www.example.com">x:foo</doc>
3900 </invalid>
3901 <invalid>
3902 <doc xmlns:z="http://www.example.com" xmlns:y="http://www.example.com/" xmlns:x="http://www.example.com"> x:foo </doc>
3903 </invalid>
3904 <invalid>
3905 <doc xmlns:z="http://www.example.com" xmlns:y="http://www.example.com/" xmlns:x="http://www.example.com">z:foo</doc>
3906 </invalid>
3907 <invalid>
3908 <doc xmlns:z="http://www.example.com" xmlns:y="http://www.example.com/" xmlns:x="http://www.example.com">x:bar</doc>
3909 </invalid>
3910 <invalid>
3911 <doc xmlns:z="http://www.example.com" xmlns:y="http://www.example.com/" xmlns:x="http://www.example.com">z:bar</doc>
3912 </invalid>
3913 <invalid>
3914 <doc xmlns:z="http://www.example.com" xmlns:y="http://www.example.com/" xmlns:x="http://www.example.com">y:bar</doc>
3915 </invalid>
3916 </testCase>
3917 <testCase>
3918 <correct>
3919 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
3920 <value xmlns:z="http://www.example.com" xmlns:y="http://www.example.com/" xmlns:x="http://www.example.com" type="QName">y:bar</value>
3921 </element>
3922 </correct>
3923 <invalid>
3924 <doc xmlns:z="http://www.example.com" xmlns:y="http://www.example.com/" xmlns:x="http://www.example.com">foo</doc>
3925 </invalid>
3926 <invalid>
3927 <doc xmlns:z="http://www.example.com" xmlns:y="http://www.example.com/" xmlns:x="http://www.example.com"> foo</doc>
3928 </invalid>
3929 <invalid>
3930 <doc xmlns:z="http://www.example.com" xmlns:y="http://www.example.com/" xmlns:x="http://www.example.com">x:foo</doc>
3931 </invalid>
3932 <invalid>
3933 <doc xmlns:z="http://www.example.com" xmlns:y="http://www.example.com/" xmlns:x="http://www.example.com"> x:foo </doc>
3934 </invalid>
3935 <invalid>
3936 <doc xmlns:z="http://www.example.com" xmlns:y="http://www.example.com/" xmlns:x="http://www.example.com">z:foo</doc>
3937 </invalid>
3938 <invalid>
3939 <doc xmlns:z="http://www.example.com" xmlns:y="http://www.example.com/" xmlns:x="http://www.example.com">x:bar</doc>
3940 </invalid>
3941 <invalid>
3942 <doc xmlns:z="http://www.example.com" xmlns:y="http://www.example.com/" xmlns:x="http://www.example.com">z:bar</doc>
3943 </invalid>
3944 <invalid>
3945 <doc xmlns:z="http://www.example.com" xmlns:y="http://www.example.com/" xmlns:x="http://www.example.com">y:foo</doc>
3946 </invalid>
3947 </testCase>
3948 </testSuite>
3949 <testSuite>
3950 <documentation>Datatype NOTATION</documentation>
3951 <testCase>
3952 <requires datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/>
3953 <correct>
3954 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
3955 <data type="NOTATION"/>
3956 </element>
3957 </correct>
3958 <valid>
3959 <doc>foo</doc>
3960 </valid>
3961 <valid>
3962 <doc xmlns:x="http://www.example.com">x:foo</doc>
3963 </valid>
3964 <invalid>
3965 <doc>y:foo</doc>
3966 </invalid>
3967 </testCase>
3968 </testSuite>
3969 <testSuite>
3970 <documentation>Datatype decimal</documentation>
3971 <testCase>
3972 <requires datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/>
3973 <correct>
3974 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
3975 <data type="decimal"/>
3976 </element>
3977 </correct>
3978 <valid>
3979 <doc>1.0</doc>
3980 </valid>
3981 <valid>
3982 <doc>1.</doc>
3983 </valid>
3984 <valid>
3985 <doc>.1</doc>
3986 </valid>
3987 <valid>
3988 <doc>+1.0</doc>
3989 </valid>
3990 <valid>
3991 <doc>-1.0</doc>
3992 </valid>
3993 <valid>
3994 <doc> 1 </doc>
3995 </valid>
3996 <valid>
3997 <doc>99999999999999999999999999999999999999999999999999999999999999999</doc>
3998 </valid>
3999 <valid>
4000 <doc>-99999999999999999999999999999999999999999999999999999999999999999</doc>
4001 </valid>
4002 <invalid>
4003 <doc>junk</doc>
4004 </invalid>
4005 <invalid>
4006 <doc>--1</doc>
4007 </invalid>
4008 <invalid>
4009 <doc>++1</doc>
4010 </invalid>
4011 <invalid>
4012 <doc>+-1</doc>
4013 </invalid>
4014 <invalid>
4015 <doc>1.2.</doc>
4016 </invalid>
4017 <invalid>
4018 <doc>..1</doc>
4019 </invalid>
4020 <invalid>
4021 <doc>1..</doc>
4022 </invalid>
4023 <invalid>
4024 <doc>1 .2</doc>
4025 </invalid>
4026 <invalid>
4027 <doc>1+</doc>
4028 </invalid>
4029 <invalid>
4030 <doc>+ 1</doc>
4031 </invalid>
4032 </testCase>
4033 <testCase>
4034 <correct>
4035 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
4036 <data type="decimal">
4037 <param name="minExclusive">0</param>
4038 </data>
4039 </element>
4040 </correct>
4041 <valid>
4042 <doc>1</doc>
4043 </valid>
4044 <invalid>
4045 <doc>0</doc>
4046 </invalid>
4047 </testCase>
4048 <testCase>
4049 <correct>
4050 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
4051 <data type="decimal">
4052 <param name="minExclusive">1</param>
4053 </data>
4054 </element>
4055 </correct>
4056 <invalid>
4057 <doc>0</doc>
4058 </invalid>
4059 <invalid>
4060 <doc>1</doc>
4061 </invalid>
4062 </testCase>
4063 </testSuite>
4064 <testSuite>
4065 <documentation>Datatype nonPositiveInteger</documentation>
4066 <testCase>
4067 <requires datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/>
4068 <correct>
4069 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
4070 <data type="nonPositiveInteger"/>
4071 </element>
4072 </correct>
4073 <valid>
4074 <doc>-1</doc>
4075 </valid>
4076 <valid>
4077 <doc>0</doc>
4078 </valid>
4079 <valid>
4080 <doc>-0</doc>
4081 </valid>
4082 <invalid>
4083 <doc>1</doc>
4084 </invalid>
4085 </testCase>
4086 </testSuite>
4087 <testSuite>
4088 <documentation>Datatype nonNegativeInteger</documentation>
4089 <testCase>
4090 <requires datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/>
4091 <correct>
4092 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
4093 <data type="nonNegativeInteger"/>
4094 </element>
4095 </correct>
4096 <valid>
4097 <doc>1</doc>
4098 </valid>
4099 <valid>
4100 <doc>0</doc>
4101 </valid>
4102 <valid>
4103 <doc>+1</doc>
4104 </valid>
4105 <valid>
4106 <doc>+0</doc>
4107 </valid>
4108 <invalid>
4109 <doc>-1</doc>
4110 </invalid>
4111 </testCase>
4112 </testSuite>
4113 <testSuite>
4114 <documentation>Datatype positiveInteger</documentation>
4115 <testCase>
4116 <requires datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/>
4117 <correct>
4118 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
4119 <data type="positiveInteger"/>
4120 </element>
4121 </correct>
4122 <valid>
4123 <doc>+1</doc>
4124 </valid>
4125 <valid>
4126 <doc>1</doc>
4127 </valid>
4128 <invalid>
4129 <doc>0</doc>
4130 </invalid>
4131 <invalid>
4132 <doc>-1</doc>
4133 </invalid>
4134 </testCase>
4135 </testSuite>
4136 <testSuite>
4137 <documentation>Datatype negativeInteger</documentation>
4138 <testCase>
4139 <requires datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/>
4140 <correct>
4141 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
4142 <data type="negativeInteger"/>
4143 </element>
4144 </correct>
4145 <valid>
4146 <doc>-1</doc>
4147 </valid>
4148 <invalid>
4149 <doc>+1</doc>
4150 </invalid>
4151 <invalid>
4152 <doc>0</doc>
4153 </invalid>
4154 </testCase>
4155 </testSuite>
4156 <testSuite>
4157 <documentation>Datatype long</documentation>
4158 <testCase>
4159 <requires datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/>
4160 <correct>
4161 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
4162 <data type="long"/>
4163 </element>
4164 </correct>
4165 <valid>
4166 <doc>1</doc>
4167 </valid>
4168 <valid>
4169 <doc>+1</doc>
4170 </valid>
4171 <valid>
4172 <doc>0</doc>
4173 </valid>
4174 <valid>
4175 <doc> 0 </doc>
4176 </valid>
4177 <invalid>
4178 <doc>1 2</doc>
4179 </invalid>
4180 <invalid>
4181 <doc>9999999999999999999999999999999999999999999999999999999999999999999999999</doc>
4182 </invalid>
4183 <valid>
4184 <doc>9223372036854775807</doc>
4185 </valid>
4186 <valid>
4187 <doc>-9223372036854775808</doc>
4188 </valid>
4189 <invalid>
4190 <doc>9223372036854775808</doc>
4191 </invalid>
4192 <invalid>
4193 <doc>-9223372036854775809</doc>
4194 </invalid>
4195 <invalid>
4196 <doc></doc>
4197 </invalid>
4198 </testCase>
4199 </testSuite>
4200 <testSuite>
4201 <documentation>Datatype int</documentation>
4202 <testCase>
4203 <requires datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/>
4204 <correct>
4205 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
4206 <data type="int"/>
4207 </element>
4208 </correct>
4209 <valid>
4210 <doc>1</doc>
4211 </valid>
4212 <valid>
4213 <doc>01</doc>
4214 </valid>
4215 <valid>
4216 <doc> 1 </doc>
4217 </valid>
4218 <valid>
4219 <doc>2147483647</doc>
4220 </valid>
4221 <valid>
4222 <doc>-2147483648</doc>
4223 </valid>
4224 <invalid>
4225 <doc>2147483648</doc>
4226 </invalid>
4227 <invalid>
4228 <doc>-2147483649</doc>
4229 </invalid>
4230 <invalid>
4231 <doc>9999999999999999999999999999999999999999999999999999999999999999999999999</doc>
4232 </invalid>
4233 </testCase>
4234 <testCase>
4235 <correct>
4236 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
4237 <value type="int">1</value>
4238 </element>
4239 </correct>
4240 <valid>
4241 <doc>+1</doc>
4242 </valid>
4243 <valid>
4244 <doc> 1 </doc>
4245 </valid>
4246 <valid>
4247 <doc>001</doc>
4248 </valid>
4249 <invalid>
4250 <doc>-1</doc>
4251 </invalid>
4252 <invalid>
4253 <doc> -1 </doc>
4254 </invalid>
4255 <invalid>
4256 <doc>-001</doc>
4257 </invalid>
4258 </testCase>
4259 <testCase>
4260 <correct>
4261 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
4262 <value type="int">-1</value>
4263 </element>
4264 </correct>
4265 <valid>
4266 <doc> -1 </doc>
4267 </valid>
4268 <valid>
4269 <doc>-001</doc>
4270 </valid>
4271 <invalid>
4272 <doc>1</doc>
4273 </invalid>
4274 <invalid>
4275 <doc>+1</doc>
4276 </invalid>
4277 <invalid>
4278 <doc> 1 </doc>
4279 </invalid>
4280 <invalid>
4281 <doc>001</doc>
4282 </invalid>
4283 </testCase>
4284 </testSuite>
4285 <testSuite>
4286 <documentation>Datatype short</documentation>
4287 <testCase>
4288 <requires datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/>
4289 <correct>
4290 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
4291 <data type="short"/>
4292 </element>
4293 </correct>
4294 <valid>
4295 <doc>1</doc>
4296 </valid>
4297 <valid>
4298 <doc>32767</doc>
4299 </valid>
4300 <valid>
4301 <doc>-32768</doc>
4302 </valid>
4303 <invalid>
4304 <doc>32768</doc>
4305 </invalid>
4306 <invalid>
4307 <doc>-32769</doc>
4308 </invalid>
4309 <invalid>
4310 <doc>9999999999999999999999999999999999999999999999999999999999999999999999999</doc>
4311 </invalid>
4312 </testCase>
4313 <testCase>
4314 <correct>
4315 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
4316 <value type="short">1</value>
4317 </element>
4318 </correct>
4319 <valid>
4320 <doc>+1</doc>
4321 </valid>
4322 <valid>
4323 <doc> 1 </doc>
4324 </valid>
4325 <valid>
4326 <doc>001</doc>
4327 </valid>
4328 <invalid>
4329 <doc>-1</doc>
4330 </invalid>
4331 <invalid>
4332 <doc> -1 </doc>
4333 </invalid>
4334 <invalid>
4335 <doc>-001</doc>
4336 </invalid>
4337 </testCase>
4338 <testCase>
4339 <correct>
4340 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
4341 <value type="short">-1</value>
4342 </element>
4343 </correct>
4344 <valid>
4345 <doc> -1 </doc>
4346 </valid>
4347 <valid>
4348 <doc>-001</doc>
4349 </valid>
4350 <invalid>
4351 <doc>1</doc>
4352 </invalid>
4353 <invalid>
4354 <doc>+1</doc>
4355 </invalid>
4356 <invalid>
4357 <doc> 1 </doc>
4358 </invalid>
4359 <invalid>
4360 <doc>001</doc>
4361 </invalid>
4362 </testCase>
4363 </testSuite>
4364 <testSuite>
4365 <documentation>Datatype byte</documentation>
4366 <testCase>
4367 <requires datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/>
4368 <correct>
4369 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
4370 <data type="byte"/>
4371 </element>
4372 </correct>
4373 <valid>
4374 <doc>1</doc>
4375 </valid>
4376 <valid>
4377 <doc>127</doc>
4378 </valid>
4379 <valid>
4380 <doc>-128</doc>
4381 </valid>
4382 <invalid>
4383 <doc>128</doc>
4384 </invalid>
4385 <invalid>
4386 <doc>-129</doc>
4387 </invalid>
4388 </testCase>
4389 </testSuite>
4390 <testSuite>
4391 <documentation>Datatype unsignedLong</documentation>
4392 <testCase>
4393 <requires datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/>
4394 <correct>
4395 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
4396 <data type="unsignedLong"/>
4397 </element>
4398 </correct>
4399 <valid>
4400 <doc>1</doc>
4401 </valid>
4402 <valid>
4403 <doc>+1</doc>
4404 </valid>
4405 <invalid>
4406 <doc>-1</doc>
4407 </invalid>
4408 <valid>
4409 <doc>0</doc>
4410 </valid>
4411 <valid>
4412 <doc>18446744073709551615</doc>
4413 </valid>
4414 <invalid>
4415 <doc>18446744073709551616</doc>
4416 </invalid>
4417 <invalid>
4418 <doc>-1</doc>
4419 </invalid>
4420 </testCase>
4421 </testSuite>
4422 <testSuite>
4423 <documentation>Datatype unsignedInt</documentation>
4424 <testCase>
4425 <requires datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/>
4426 <correct>
4427 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
4428 <data type="unsignedInt"/>
4429 </element>
4430 </correct>
4431 <valid>
4432 <doc>1</doc>
4433 </valid>
4434 <valid>
4435 <doc>+1</doc>
4436 </valid>
4437 <valid>
4438 <doc>0</doc>
4439 </valid>
4440 <valid>
4441 <doc>4294967295</doc>
4442 </valid>
4443 <invalid>
4444 <doc>4294967296</doc>
4445 </invalid>
4446 <invalid>
4447 <doc>-1</doc>
4448 </invalid>
4449 </testCase>
4450 </testSuite>
4451 <testSuite>
4452 <documentation>Datatype unsignedShort</documentation>
4453 <testCase>
4454 <requires datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/>
4455 <correct>
4456 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
4457 <data type="unsignedShort"/>
4458 </element>
4459 </correct>
4460 <valid>
4461 <doc>1</doc>
4462 </valid>
4463 <valid>
4464 <doc>+1</doc>
4465 </valid>
4466 <valid>
4467 <doc>0</doc>
4468 </valid>
4469 <valid>
4470 <doc>65535</doc>
4471 </valid>
4472 <invalid>
4473 <doc>65536</doc>
4474 </invalid>
4475 <invalid>
4476 <doc>-1</doc>
4477 </invalid>
4478 </testCase>
4479 </testSuite>
4480 <testSuite>
4481 <documentation>Datatype unsignedByte</documentation>
4482 <testCase>
4483 <requires datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/>
4484 <correct>
4485 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
4486 <data type="unsignedByte"/>
4487 </element>
4488 </correct>
4489 <valid>
4490 <doc>1</doc>
4491 </valid>
4492 <valid>
4493 <doc>+1</doc>
4494 </valid>
4495 <valid>
4496 <doc>0</doc>
4497 </valid>
4498 <valid>
4499 <doc>255</doc>
4500 </valid>
4501 <invalid>
4502 <doc>256</doc>
4503 </invalid>
4504 <invalid>
4505 <doc>-1</doc>
4506 </invalid>
4507 </testCase>
4508 </testSuite>
4509 <testSuite>
4510 <documentation>Datatype string</documentation>
4511 <testCase>
4512 <requires datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/>
4513 <correct>
4514 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
4515 <data type="string"/>
4516 </element>
4517 </correct>
4518 <valid>
4519 <doc>any thing at all!</doc>
4520 </valid>
4521 </testCase>
4522 </testSuite>
4523 <testSuite>
4524 <documentation>Datatype normalizedString</documentation>
4525 <testCase>
4526 <requires datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/>
4527 <correct>
4528 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
4529 <data type="normalizedString"/>
4530 </element>
4531 </correct>
4532 <valid>
4533 <doc>any thing at all!</doc>
4534 </valid>
4535 </testCase>
4536 </testSuite>
4537 <testSuite>
4538 <documentation>Datatype token</documentation>
4539 <testCase>
4540 <requires datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/>
4541 <correct>
4542 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
4543 <data type="token"/>
4544 </element>
4545 </correct>
4546 <valid>
4547 <doc>any thing at all!</doc>
4548 </valid>
4549 </testCase>
4550 <testCase>
4551 <correct>
4552 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
4553 <value type="token"></value>
4554 </element>
4555 </correct>
4556 <valid>
4557 <doc> </doc>
4558 </valid>
4559 <valid>
4560 <doc>
4561&#13; </doc>
4562 </valid>
4563 <invalid>
4564 <doc>x </doc>
4565 </invalid>
4566 <invalid>
4567 <doc>x
4568</doc>
4569 </invalid>
4570 <invalid>
4571 <doc>x&#13;</doc>
4572 </invalid>
4573 <invalid>
4574 <doc>x </doc>
4575 </invalid>
4576 <invalid>
4577 <doc> x</doc>
4578 </invalid>
4579 <invalid>
4580 <doc>
4581x</doc>
4582 </invalid>
4583 <invalid>
4584 <doc>&#13;x</doc>
4585 </invalid>
4586 <invalid>
4587 <doc> x</doc>
4588 </invalid>
4589 <invalid>
4590 <doc>
4591&#13; x
4592&#13; </doc>
4593 </invalid>
4594 <invalid>
4595 <doc>x y </doc>
4596 </invalid>
4597 <invalid>
4598 <doc>x y
4599</doc>
4600 </invalid>
4601 <invalid>
4602 <doc>x y&#13;</doc>
4603 </invalid>
4604 <invalid>
4605 <doc>x y </doc>
4606 </invalid>
4607 <invalid>
4608 <doc>x y</doc>
4609 </invalid>
4610 <invalid>
4611 <doc>x
4612y</doc>
4613 </invalid>
4614 <invalid>
4615 <doc>x&#13;y</doc>
4616 </invalid>
4617 <invalid>
4618 <doc>x y</doc>
4619 </invalid>
4620 <invalid>
4621 <doc> x y</doc>
4622 </invalid>
4623 <invalid>
4624 <doc>
4625x y</doc>
4626 </invalid>
4627 <invalid>
4628 <doc>&#13;x y</doc>
4629 </invalid>
4630 <invalid>
4631 <doc> x y</doc>
4632 </invalid>
4633 <invalid>
4634 <doc>
4635&#13; x
4636&#13; y
4637&#13; </doc>
4638 </invalid>
4639 </testCase>
4640 <testCase>
4641 <correct>
4642 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
4643 <value type="token">x </value>
4644 </element>
4645 </correct>
4646 <valid>
4647 <doc>x
4648</doc>
4649 </valid>
4650 <valid>
4651 <doc>x&#13;</doc>
4652 </valid>
4653 <valid>
4654 <doc>x </doc>
4655 </valid>
4656 <valid>
4657 <doc> x</doc>
4658 </valid>
4659 <valid>
4660 <doc>
4661x</doc>
4662 </valid>
4663 <valid>
4664 <doc>&#13;x</doc>
4665 </valid>
4666 <valid>
4667 <doc> x</doc>
4668 </valid>
4669 <valid>
4670 <doc>
4671&#13; x
4672&#13; </doc>
4673 </valid>
4674 <invalid>
4675 <doc></doc>
4676 </invalid>
4677 <invalid>
4678 <doc> </doc>
4679 </invalid>
4680 <invalid>
4681 <doc>
4682&#13; </doc>
4683 </invalid>
4684 <invalid>
4685 <doc>x y </doc>
4686 </invalid>
4687 <invalid>
4688 <doc>x y
4689</doc>
4690 </invalid>
4691 <invalid>
4692 <doc>x y&#13;</doc>
4693 </invalid>
4694 <invalid>
4695 <doc>x y </doc>
4696 </invalid>
4697 <invalid>
4698 <doc>x y</doc>
4699 </invalid>
4700 <invalid>
4701 <doc>x
4702y</doc>
4703 </invalid>
4704 <invalid>
4705 <doc>x&#13;y</doc>
4706 </invalid>
4707 <invalid>
4708 <doc>x y</doc>
4709 </invalid>
4710 <invalid>
4711 <doc> x y</doc>
4712 </invalid>
4713 <invalid>
4714 <doc>
4715x y</doc>
4716 </invalid>
4717 <invalid>
4718 <doc>&#13;x y</doc>
4719 </invalid>
4720 <invalid>
4721 <doc> x y</doc>
4722 </invalid>
4723 <invalid>
4724 <doc>
4725&#13; x
4726&#13; y
4727&#13; </doc>
4728 </invalid>
4729 </testCase>
4730 <testCase>
4731 <correct>
4732 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
4733 <value type="token">x y </value>
4734 </element>
4735 </correct>
4736 <valid>
4737 <doc>x y
4738</doc>
4739 </valid>
4740 <valid>
4741 <doc>x y&#13;</doc>
4742 </valid>
4743 <valid>
4744 <doc>x y </doc>
4745 </valid>
4746 <valid>
4747 <doc>x y</doc>
4748 </valid>
4749 <valid>
4750 <doc>x
4751y</doc>
4752 </valid>
4753 <valid>
4754 <doc>x&#13;y</doc>
4755 </valid>
4756 <valid>
4757 <doc>x y</doc>
4758 </valid>
4759 <valid>
4760 <doc> x y</doc>
4761 </valid>
4762 <valid>
4763 <doc>
4764x y</doc>
4765 </valid>
4766 <valid>
4767 <doc>&#13;x y</doc>
4768 </valid>
4769 <valid>
4770 <doc> x y</doc>
4771 </valid>
4772 <valid>
4773 <doc>
4774&#13; x
4775&#13; y
4776&#13; </doc>
4777 </valid>
4778 <invalid>
4779 <doc></doc>
4780 </invalid>
4781 <invalid>
4782 <doc> </doc>
4783 </invalid>
4784 <invalid>
4785 <doc>
4786&#13; </doc>
4787 </invalid>
4788 <invalid>
4789 <doc>x </doc>
4790 </invalid>
4791 <invalid>
4792 <doc>x
4793</doc>
4794 </invalid>
4795 <invalid>
4796 <doc>x&#13;</doc>
4797 </invalid>
4798 <invalid>
4799 <doc>x </doc>
4800 </invalid>
4801 <invalid>
4802 <doc> x</doc>
4803 </invalid>
4804 <invalid>
4805 <doc>
4806x</doc>
4807 </invalid>
4808 <invalid>
4809 <doc>&#13;x</doc>
4810 </invalid>
4811 <invalid>
4812 <doc> x</doc>
4813 </invalid>
4814 <invalid>
4815 <doc>
4816&#13; x
4817&#13; </doc>
4818 </invalid>
4819 </testCase>
4820 <testCase>
4821 <correct>
4822 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
4823 <data type="token">
4824 <param name="length">0</param>
4825 </data>
4826 </element>
4827 </correct>
4828 <valid>
4829 <doc></doc>
4830 </valid>
4831 </testCase>
4832 <testCase>
4833 <correct>
4834 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
4835 <data type="token">
4836 <param name="length">1</param>
4837 </data>
4838 </element>
4839 </correct>
4840 <invalid>
4841 <doc></doc>
4842 </invalid>
4843 </testCase>
4844 <testCase>
4845 <correct>
4846 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
4847 <data type="token">
4848 <param name="length">1</param>
4849 </data>
4850 </element>
4851 </correct>
4852 <valid>
4853 <doc>x</doc>
4854 </valid>
4855 </testCase>
4856 <testCase>
4857 <correct>
4858 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
4859 <data type="token">
4860 <param name="length">2</param>
4861 </data>
4862 </element>
4863 </correct>
4864 <invalid>
4865 <doc>x</doc>
4866 </invalid>
4867 </testCase>
4868 <testCase>
4869 <correct>
4870 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
4871 <data type="token">
4872 <param name="length">0</param>
4873 </data>
4874 </element>
4875 </correct>
4876 <invalid>
4877 <doc>x</doc>
4878 </invalid>
4879 </testCase>
4880 <testCase>
4881 <correct>
4882 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
4883 <data type="token">
4884 <param name="length">1</param>
4885 </data>
4886 </element>
4887 </correct>
4888 <valid>
4889 <doc> x </doc>
4890 </valid>
4891 </testCase>
4892 <testCase>
4893 <correct>
4894 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
4895 <data type="token">
4896 <param name="length">2</param>
4897 </data>
4898 </element>
4899 </correct>
4900 <invalid>
4901 <doc> x </doc>
4902 </invalid>
4903 </testCase>
4904 <testCase>
4905 <correct>
4906 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
4907 <data type="token">
4908 <param name="length">0</param>
4909 </data>
4910 </element>
4911 </correct>
4912 <invalid>
4913 <doc> x </doc>
4914 </invalid>
4915 </testCase>
4916 <testCase>
4917 <correct>
4918 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
4919 <data type="token">
4920 <param name="length">1</param>
4921 </data>
4922 </element>
4923 </correct>
4924 <valid>
4925 <doc>𐠀</doc>
4926 </valid>
4927 </testCase>
4928 <testCase>
4929 <correct>
4930 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
4931 <data type="token">
4932 <param name="length">2</param>
4933 </data>
4934 </element>
4935 </correct>
4936 <invalid>
4937 <doc>𐠀</doc>
4938 </invalid>
4939 </testCase>
4940 <testCase>
4941 <correct>
4942 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
4943 <data type="token">
4944 <param name="length">0</param>
4945 </data>
4946 </element>
4947 </correct>
4948 <invalid>
4949 <doc>𐠀</doc>
4950 </invalid>
4951 </testCase>
4952 </testSuite>
4953 <testSuite>
4954 <documentation>Datatype language</documentation>
4955 <testCase>
4956 <requires datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/>
4957 <correct>
4958 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
4959 <data type="language"/>
4960 </element>
4961 </correct>
4962 <valid>
4963 <doc>en</doc>
4964 </valid>
4965 <valid>
4966 <doc>en-UK</doc>
4967 </valid>
4968 <valid>
4969 <doc>i-cherokee</doc>
4970 </valid>
4971 <valid>
4972 <doc>x-klingon</doc>
4973 </valid>
4974 <valid>
4975 <doc>en-uk-scotland</doc>
4976 </valid>
4977 <invalid>
4978 <doc>en.UK</doc>
4979 </invalid>
4980 </testCase>
4981 </testSuite>
4982 <testSuite>
4983 <documentation>Datatype Name</documentation>
4984 <testCase>
4985 <requires datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/>
4986 <correct>
4987 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
4988 <data type="Name"/>
4989 </element>
4990 </correct>
4991 <valid>
4992 <doc>foo</doc>
4993 </valid>
4994 <valid>
4995 <doc>_0123456789</doc>
4996 </valid>
4997 <invalid>
4998 <doc>.</doc>
4999 </invalid>
5000 <valid>
5001 <doc>:</doc>
5002 </valid>
5003 <invalid>
5004 <doc>-</doc>
5005 </invalid>
5006 <invalid>
5007 <doc>1234</doc>
5008 </invalid>
5009 <valid>
5010 <doc> foo </doc>
5011 </valid>
5012 </testCase>
5013 </testSuite>
5014 <testSuite>
5015 <documentation>Datatype NCName</documentation>
5016 <testCase>
5017 <requires datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/>
5018 <correct>
5019 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
5020 <data type="NCName"/>
5021 </element>
5022 </correct>
5023 <valid>
5024 <doc>foo</doc>
5025 </valid>
5026 <invalid>
5027 <doc>foo:bar</doc>
5028 </invalid>
5029 <invalid>
5030 <doc>0foo</doc>
5031 </invalid>
5032 </testCase>
5033 <testCase>
5034 <correct>
5035 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
5036 <value type="NCName">foo</value>
5037 </element>
5038 </correct>
5039 <valid>
5040 <doc> foo </doc>
5041 </valid>
5042 <invalid>
5043 <doc>FOO</doc>
5044 </invalid>
5045 <invalid>
5046 <doc> FOO </doc>
5047 </invalid>
5048 </testCase>
5049 <testCase>
5050 <correct>
5051 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
5052 <value type="NCName">FOO</value>
5053 </element>
5054 </correct>
5055 <valid>
5056 <doc> FOO </doc>
5057 </valid>
5058 <invalid>
5059 <doc>foo</doc>
5060 </invalid>
5061 <invalid>
5062 <doc> foo </doc>
5063 </invalid>
5064 </testCase>
5065 </testSuite>
5066 <testSuite>
5067 <documentation>Datatype NMTOKEN</documentation>
5068 <testCase>
5069 <requires datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/>
5070 <correct>
5071 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
5072 <data type="NMTOKEN"/>
5073 </element>
5074 </correct>
5075 <valid>
5076 <doc>foo</doc>
5077 </valid>
5078 <valid>
5079 <doc>_</doc>
5080 </valid>
5081 <valid>
5082 <doc>.</doc>
5083 </valid>
5084 <valid>
5085 <doc>:</doc>
5086 </valid>
5087 <valid>
5088 <doc>-</doc>
5089 </valid>
5090 <valid>
5091 <doc>1234</doc>
5092 </valid>
5093 <valid>
5094 <doc> foo </doc>
5095 </valid>
5096 </testCase>
5097 <testCase>
5098 <correct>
5099 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
5100 <data type="NMTOKEN">
5101 <param name="length">3</param>
5102 </data>
5103 </element>
5104 </correct>
5105 <valid>
5106 <doc> foo </doc>
5107 </valid>
5108 </testCase>
5109 <testCase>
5110 <correct>
5111 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
5112 <data type="NMTOKEN">
5113 <param name="length">4</param>
5114 </data>
5115 </element>
5116 </correct>
5117 <invalid>
5118 <doc> foo </doc>
5119 </invalid>
5120 </testCase>
5121 <testCase>
5122 <correct>
5123 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
5124 <data type="NMTOKEN">
5125 <param name="length">2</param>
5126 </data>
5127 </element>
5128 </correct>
5129 <invalid>
5130 <doc> foo </doc>
5131 </invalid>
5132 </testCase>
5133 <testCase>
5134 <correct>
5135 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
5136 <data type="NMTOKEN">
5137 <param name="length">2</param>
5138 </data>
5139 </element>
5140 </correct>
5141 <valid>
5142 <doc>fo</doc>
5143 </valid>
5144 </testCase>
5145 <testCase>
5146 <correct>
5147 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
5148 <data type="NMTOKEN">
5149 <param name="length">3</param>
5150 </data>
5151 </element>
5152 </correct>
5153 <invalid>
5154 <doc>fo</doc>
5155 </invalid>
5156 </testCase>
5157 <testCase>
5158 <correct>
5159 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
5160 <data type="NMTOKEN">
5161 <param name="length">1</param>
5162 </data>
5163 </element>
5164 </correct>
5165 <invalid>
5166 <doc>fo</doc>
5167 </invalid>
5168 </testCase>
5169 <testCase>
5170 <correct>
5171 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
5172 <data type="NMTOKEN">
5173 <param name="length">1</param>
5174 </data>
5175 </element>
5176 </correct>
5177 <valid>
5178 <doc>f</doc>
5179 </valid>
5180 </testCase>
5181 <testCase>
5182 <correct>
5183 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
5184 <data type="NMTOKEN">
5185 <param name="length">2</param>
5186 </data>
5187 </element>
5188 </correct>
5189 <invalid>
5190 <doc>f</doc>
5191 </invalid>
5192 </testCase>
5193 <testCase>
5194 <correct>
5195 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
5196 <data type="NMTOKEN">
5197 <param name="length">0</param>
5198 </data>
5199 </element>
5200 </correct>
5201 <invalid>
5202 <doc>f</doc>
5203 </invalid>
5204 </testCase>
5205 </testSuite>
5206 <testSuite>
5207 <documentation>Datatype NMTOKENS</documentation>
5208 <testCase>
5209 <requires datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/>
5210 <correct>
5211 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
5212 <data type="NMTOKENS"/>
5213 </element>
5214 </correct>
5215 <valid>
5216 <doc>foo bar</doc>
5217 </valid>
5218 <invalid>
5219 <doc></doc>
5220 </invalid>
5221 <valid>
5222 <doc>1 2 3 4</doc>
5223 </valid>
5224 </testCase>
5225 </testSuite>
5226 <testSuite>
5227 <documentation>Datatype ID</documentation>
5228 <testCase>
5229 <requires datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/>
5230 <correct>
5231 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
5232 <data type="ID"/>
5233 </element>
5234 </correct>
5235 <valid>
5236 <doc>foobar</doc>
5237 </valid>
5238 <invalid>
5239 <doc>foo:bar</doc>
5240 </invalid>
5241 <invalid>
5242 <doc>foo bar</doc>
5243 </invalid>
5244 </testCase>
5245 </testSuite>
5246 <testSuite>
5247 <documentation>Datatype ENTITY</documentation>
5248 <testCase>
5249 <requires datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/>
5250 <correct>
5251 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
5252 <data type="ENTITY"/>
5253 </element>
5254 </correct>
5255 <invalid>
5256 <doc></doc>
5257 </invalid>
5258 <invalid>
5259 <doc>foo</doc>
5260 </invalid>
5261 <valid dtd="&#10;&lt;!DOCTYPE doc [&#10;&lt;!ENTITY foo SYSTEM 'whatever' NDATA jpeg&gt;&#10;]&gt;">
5262 <doc>foo</doc>
5263 </valid>
5264 </testCase>
5265 </testSuite>
5266 <testSuite>
5267 <documentation>Datatype ENTITIES</documentation>
5268 <testCase>
5269 <requires datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/>
5270 <correct>
5271 <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
5272 <data type="ENTITIES"/>
5273 </element>
5274 </correct>
5275 <invalid>
5276 <doc></doc>
5277 </invalid>
5278 <invalid>
5279 <doc>foo</doc>
5280 </invalid>
5281 <valid dtd="&#10;&lt;!DOCTYPE doc [&#10;&lt;!ENTITY foo SYSTEM 'whatever' NDATA jpeg&gt; &#10;&lt;!ENTITY bar SYSTEM 'whatever' NDATA jpeg&gt; &#10;]&gt;">
5282 <doc> foo bar </doc>
5283 </valid>
5284 </testCase>
5285 </testSuite>
5286</testSuite>