1: <?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
1939: STUV 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: e a d
2035: b eef </doc>
2036: </valid>
2037: <invalid>
2038: <doc>DEADBEEF</doc>
2039: </invalid>
2040: <invalid>
2041: <doc>D
2042: E A D
2043: B 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: E A D
2055: B EEF </doc>
2056: </valid>
2057: <invalid>
2058: <doc>deadbeef</doc>
2059: </invalid>
2060: <invalid>
2061: <doc>d
2062: e a d
2063: b 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: </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 </doc>
4572: </invalid>
4573: <invalid>
4574: <doc>x </doc>
4575: </invalid>
4576: <invalid>
4577: <doc> x</doc>
4578: </invalid>
4579: <invalid>
4580: <doc>
4581: x</doc>
4582: </invalid>
4583: <invalid>
4584: <doc> x</doc>
4585: </invalid>
4586: <invalid>
4587: <doc> x</doc>
4588: </invalid>
4589: <invalid>
4590: <doc>
4591: x
4592: </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 </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
4612: y</doc>
4613: </invalid>
4614: <invalid>
4615: <doc>x 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>
4625: x y</doc>
4626: </invalid>
4627: <invalid>
4628: <doc> x y</doc>
4629: </invalid>
4630: <invalid>
4631: <doc> x y</doc>
4632: </invalid>
4633: <invalid>
4634: <doc>
4635: x
4636: y
4637: </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 </doc>
4652: </valid>
4653: <valid>
4654: <doc>x </doc>
4655: </valid>
4656: <valid>
4657: <doc> x</doc>
4658: </valid>
4659: <valid>
4660: <doc>
4661: x</doc>
4662: </valid>
4663: <valid>
4664: <doc> x</doc>
4665: </valid>
4666: <valid>
4667: <doc> x</doc>
4668: </valid>
4669: <valid>
4670: <doc>
4671: x
4672: </doc>
4673: </valid>
4674: <invalid>
4675: <doc></doc>
4676: </invalid>
4677: <invalid>
4678: <doc> </doc>
4679: </invalid>
4680: <invalid>
4681: <doc>
4682: </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 </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
4702: y</doc>
4703: </invalid>
4704: <invalid>
4705: <doc>x 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>
4715: x y</doc>
4716: </invalid>
4717: <invalid>
4718: <doc> x y</doc>
4719: </invalid>
4720: <invalid>
4721: <doc> x y</doc>
4722: </invalid>
4723: <invalid>
4724: <doc>
4725: x
4726: y
4727: </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 </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
4751: y</doc>
4752: </valid>
4753: <valid>
4754: <doc>x 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>
4764: x y</doc>
4765: </valid>
4766: <valid>
4767: <doc> x y</doc>
4768: </valid>
4769: <valid>
4770: <doc> x y</doc>
4771: </valid>
4772: <valid>
4773: <doc>
4774: x
4775: y
4776: </doc>
4777: </valid>
4778: <invalid>
4779: <doc></doc>
4780: </invalid>
4781: <invalid>
4782: <doc> </doc>
4783: </invalid>
4784: <invalid>
4785: <doc>
4786: </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 </doc>
4797: </invalid>
4798: <invalid>
4799: <doc>x </doc>
4800: </invalid>
4801: <invalid>
4802: <doc> x</doc>
4803: </invalid>
4804: <invalid>
4805: <doc>
4806: x</doc>
4807: </invalid>
4808: <invalid>
4809: <doc> x</doc>
4810: </invalid>
4811: <invalid>
4812: <doc> x</doc>
4813: </invalid>
4814: <invalid>
4815: <doc>
4816: x
4817: </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=" <!DOCTYPE doc [ <!ENTITY foo SYSTEM 'whatever' NDATA jpeg> ]>">
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=" <!DOCTYPE doc [ <!ENTITY foo SYSTEM 'whatever' NDATA jpeg> <!ENTITY bar SYSTEM 'whatever' NDATA jpeg> ]>">
5282: <doc> foo bar </doc>
5283: </valid>
5284: </testCase>
5285: </testSuite>
5286: </testSuite>
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>