Return to testsuite.xml CVS log | Up to [ELWIX - Embedded LightWeight unIX -] / embedaddon / libxml2 / test / relaxng |
1.1 ! misho 1: <testSuite> ! 2: <author>Daniel Veillard</author> ! 3: <email>daniel@veillard.com</email> ! 4: <documentation>For libxml2 implementation of Relax NG spec.</documentation> ! 5: <testSuite> ! 6: <documentation>Test of node matches</documentation> ! 7: <testCase> ! 8: <correct> ! 9: <element xmlns="http://relaxng.org/ns/structure/1.0"> ! 10: <anyName> ! 11: <except> ! 12: <nsName ns="http://example.org"/> ! 13: </except> ! 14: </anyName> ! 15: <empty/> ! 16: </element> ! 17: </correct> ! 18: <valid> ! 19: <foo/> ! 20: </valid> ! 21: <valid> ! 22: <foo xmlns="http://example.org/"/> ! 23: </valid> ! 24: <valid> ! 25: <foo xmlns="http://EXAMPLE.ORG"/> ! 26: </valid> ! 27: <invalid> ! 28: <foo xmlns="http://example.org"/> ! 29: </invalid> ! 30: <invalid> ! 31: <a:foo xmlns:a="http://example.org"/> ! 32: </invalid> ! 33: </testCase> ! 34: <testCase> ! 35: <correct> ! 36: <element name="top" xmlns="http://relaxng.org/ns/structure/1.0"> ! 37: <interleave> ! 38: <element name="foo" ns="http://example.org"> ! 39: <empty/> ! 40: </element> ! 41: <element> ! 42: <anyName> ! 43: <except> ! 44: <nsName ns="http://example.org"/> ! 45: </except> ! 46: </anyName> ! 47: <empty/> ! 48: </element> ! 49: </interleave> ! 50: </element> ! 51: </correct> ! 52: <invalid> ! 53: <top> ! 54: <foo/> ! 55: <bar/> ! 56: </top> ! 57: </invalid> ! 58: <invalid> ! 59: <top> ! 60: <foo xmlns="http://example.org"/> ! 61: <bar xmlns="http://example.org"/> ! 62: </top> ! 63: </invalid> ! 64: <valid> ! 65: <top> ! 66: <foo xmlns="http://example.org"/> ! 67: <bar/> ! 68: </top> ! 69: </valid> ! 70: <valid> ! 71: <top> ! 72: <bar/> ! 73: <foo xmlns="http://example.org"/> ! 74: </top> ! 75: </valid> ! 76: <valid> ! 77: <top> ! 78: <foo xmlns="http://example.org"/> ! 79: <bar xmlns="http://example.org/"/> ! 80: </top> ! 81: </valid> ! 82: <valid> ! 83: <top> ! 84: <bar xmlns="http://example.org/"/> ! 85: <foo xmlns="http://example.org"/> ! 86: </top> ! 87: </valid> ! 88: </testCase> ! 89: </testSuite> ! 90: <testSuite> ! 91: <documentation>Test of indeterminism</documentation> ! 92: <testCase> ! 93: <correct> ! 94: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0"> ! 95: <zeroOrMore> ! 96: <element name="bar"> ! 97: <empty/> ! 98: </element> ! 99: </zeroOrMore> ! 100: <element name="baz"> ! 101: <empty/> ! 102: </element> ! 103: </element> ! 104: </correct> ! 105: <invalid> ! 106: <foo/> ! 107: </invalid> ! 108: <valid> ! 109: <foo> ! 110: <baz/> ! 111: </foo> ! 112: </valid> ! 113: <valid> ! 114: <foo> ! 115: <bar/> ! 116: <baz/> ! 117: </foo> ! 118: </valid> ! 119: <valid> ! 120: <foo> ! 121: <bar/> ! 122: <bar/> ! 123: <bar/> ! 124: <baz/> ! 125: </foo> ! 126: </valid> ! 127: </testCase> ! 128: <testCase> ! 129: <correct> ! 130: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0"> ! 131: <zeroOrMore> ! 132: <element name="bar"> ! 133: <empty/> ! 134: </element> ! 135: </zeroOrMore> ! 136: <element name="bar"> ! 137: <empty/> ! 138: </element> ! 139: </element> ! 140: </correct> ! 141: <invalid> ! 142: <foo/> ! 143: </invalid> ! 144: <valid> ! 145: <foo> ! 146: <bar/> ! 147: </foo> ! 148: </valid> ! 149: <valid> ! 150: <foo> ! 151: <bar/> ! 152: <bar/> ! 153: </foo> ! 154: </valid> ! 155: <valid> ! 156: <foo> ! 157: <bar/> ! 158: <bar/> ! 159: <bar/> ! 160: <bar/> ! 161: </foo> ! 162: </valid> ! 163: </testCase> ! 164: <testCase> ! 165: <correct> ! 166: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0"> ! 167: <group> ! 168: <zeroOrMore> ! 169: <element name="bar"> ! 170: <empty/> ! 171: </element> ! 172: </zeroOrMore> ! 173: <element name="baz"> ! 174: <empty/> ! 175: </element> ! 176: </group> ! 177: </element> ! 178: </correct> ! 179: <invalid> ! 180: <foo/> ! 181: </invalid> ! 182: <valid> ! 183: <foo> ! 184: <baz/> ! 185: </foo> ! 186: </valid> ! 187: <valid> ! 188: <foo> ! 189: <bar/> ! 190: <baz/> ! 191: </foo> ! 192: </valid> ! 193: <valid> ! 194: <foo> ! 195: <bar/> ! 196: <bar/> ! 197: <bar/> ! 198: <baz/> ! 199: </foo> ! 200: </valid> ! 201: </testCase> ! 202: <testCase> ! 203: <correct> ! 204: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0"> ! 205: <group> ! 206: <zeroOrMore> ! 207: <element name="bar"> ! 208: <empty/> ! 209: </element> ! 210: </zeroOrMore> ! 211: <element name="bar"> ! 212: <empty/> ! 213: </element> ! 214: </group> ! 215: </element> ! 216: </correct> ! 217: <invalid> ! 218: <foo/> ! 219: </invalid> ! 220: <valid> ! 221: <foo> ! 222: <bar/> ! 223: </foo> ! 224: </valid> ! 225: <valid> ! 226: <foo> ! 227: <bar/> ! 228: <bar/> ! 229: </foo> ! 230: </valid> ! 231: <valid> ! 232: <foo> ! 233: <bar/> ! 234: <bar/> ! 235: <bar/> ! 236: <bar/> ! 237: </foo> ! 238: </valid> ! 239: </testCase> ! 240: <testCase> ! 241: <correct> ! 242: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0"> ! 243: <choice> ! 244: <zeroOrMore> ! 245: <element name="bar"> ! 246: <empty/> ! 247: </element> ! 248: </zeroOrMore> ! 249: <element name="baz"> ! 250: <empty/> ! 251: </element> ! 252: </choice> ! 253: </element> ! 254: </correct> ! 255: <valid> ! 256: <foo/> ! 257: </valid> ! 258: <valid> ! 259: <foo> ! 260: <baz/> ! 261: </foo> ! 262: </valid> ! 263: <valid> ! 264: <foo> ! 265: <bar/> ! 266: <bar/> ! 267: <bar/> ! 268: </foo> ! 269: </valid> ! 270: <invalid> ! 271: <foo> ! 272: <bar/> ! 273: <baz/> ! 274: </foo> ! 275: </invalid> ! 276: <invalid> ! 277: <foo> ! 278: <bar/> ! 279: <bar/> ! 280: <bar/> ! 281: <bar/> ! 282: <baz/> ! 283: </foo> ! 284: </invalid> ! 285: </testCase> ! 286: <testCase> ! 287: <correct> ! 288: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0"> ! 289: <choice> ! 290: <zeroOrMore> ! 291: <element name="bar"> ! 292: <empty/> ! 293: </element> ! 294: </zeroOrMore> ! 295: <element name="baz"> ! 296: <empty/> ! 297: </element> ! 298: </choice> ! 299: <element name="baz"> ! 300: <empty/> ! 301: </element> ! 302: </element> ! 303: </correct> ! 304: <invalid> ! 305: <foo/> ! 306: </invalid> ! 307: <valid> ! 308: <foo> ! 309: <baz/> ! 310: </foo> ! 311: </valid> ! 312: <valid> ! 313: <foo> ! 314: <baz/> ! 315: <baz/> ! 316: </foo> ! 317: </valid> ! 318: <valid> ! 319: <foo> ! 320: <bar/> ! 321: <bar/> ! 322: <bar/> ! 323: <baz/> ! 324: </foo> ! 325: </valid> ! 326: <invalid> ! 327: <foo> ! 328: <bar/> ! 329: <baz/> ! 330: <baz/> ! 331: </foo> ! 332: </invalid> ! 333: <invalid> ! 334: <foo> ! 335: <baz/> ! 336: <bar/> ! 337: <baz/> ! 338: </foo> ! 339: </invalid> ! 340: </testCase> ! 341: <testCase> ! 342: <correct> ! 343: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0"> ! 344: <choice> ! 345: <zeroOrMore> ! 346: <element name="bar"> ! 347: <empty/> ! 348: </element> ! 349: </zeroOrMore> ! 350: <element name="bar"> ! 351: <empty/> ! 352: </element> ! 353: </choice> ! 354: </element> ! 355: </correct> ! 356: <valid> ! 357: <foo/> ! 358: </valid> ! 359: <valid> ! 360: <foo> ! 361: <bar/> ! 362: </foo> ! 363: </valid> ! 364: <valid> ! 365: <foo> ! 366: <bar/> ! 367: <bar/> ! 368: </foo> ! 369: </valid> ! 370: <valid> ! 371: <foo> ! 372: <bar/> ! 373: <bar/> ! 374: <bar/> ! 375: <bar/> ! 376: </foo> ! 377: </valid> ! 378: </testCase> ! 379: <testCase> ! 380: <correct> ! 381: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0"> ! 382: <choice> ! 383: <zeroOrMore> ! 384: <choice> ! 385: <element name="bar"> ! 386: <empty/> ! 387: </element> ! 388: <element name="baz"> ! 389: <empty/> ! 390: </element> ! 391: </choice> ! 392: </zeroOrMore> ! 393: <element name="bar"> ! 394: <empty/> ! 395: </element> ! 396: </choice> ! 397: </element> ! 398: </correct> ! 399: <valid> ! 400: <foo/> ! 401: </valid> ! 402: <valid> ! 403: <foo> ! 404: <bar/> ! 405: </foo> ! 406: </valid> ! 407: <valid> ! 408: <foo> ! 409: <baz/> ! 410: <bar/> ! 411: </foo> ! 412: </valid> ! 413: <valid> ! 414: <foo> ! 415: <bar/> ! 416: <bar/> ! 417: <bar/> ! 418: <bar/> ! 419: </foo> ! 420: </valid> ! 421: <valid> ! 422: <foo> ! 423: <baz/> ! 424: <baz/> ! 425: <baz/> ! 426: <baz/> ! 427: </foo> ! 428: </valid> ! 429: <valid> ! 430: <foo> ! 431: <baz/> ! 432: <bar/> ! 433: <baz/> ! 434: <bar/> ! 435: </foo> ! 436: </valid> ! 437: </testCase> ! 438: <testCase> ! 439: <correct> ! 440: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0"> ! 441: <optional> ! 442: <element name="bar"> ! 443: <empty/> ! 444: </element> ! 445: </optional> ! 446: <element name="baz"> ! 447: <empty/> ! 448: </element> ! 449: </element> ! 450: </correct> ! 451: <invalid> ! 452: <foo/> ! 453: </invalid> ! 454: <valid> ! 455: <foo> ! 456: <baz/> ! 457: </foo> ! 458: </valid> ! 459: <valid> ! 460: <foo> ! 461: <bar/> ! 462: <baz/> ! 463: </foo> ! 464: </valid> ! 465: <invalid> ! 466: <foo> ! 467: <bar/> ! 468: <bar/> ! 469: <baz/> ! 470: </foo> ! 471: </invalid> ! 472: </testCase> ! 473: <testCase> ! 474: <correct> ! 475: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0"> ! 476: <optional> ! 477: <element name="bar"> ! 478: <empty/> ! 479: </element> ! 480: </optional> ! 481: <element name="bar"> ! 482: <empty/> ! 483: </element> ! 484: </element> ! 485: </correct> ! 486: <invalid> ! 487: <foo/> ! 488: </invalid> ! 489: <valid> ! 490: <foo> ! 491: <bar/> ! 492: </foo> ! 493: </valid> ! 494: <valid> ! 495: <foo> ! 496: <bar/> ! 497: <bar/> ! 498: </foo> ! 499: </valid> ! 500: <invalid> ! 501: <foo> ! 502: <bar/> ! 503: <bar/> ! 504: <bar/> ! 505: </foo> ! 506: </invalid> ! 507: </testCase> ! 508: <testCase> ! 509: <correct> ! 510: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0"> ! 511: <optional> ! 512: <oneOrMore> ! 513: <element name="bar"> ! 514: <empty/> ! 515: </element> ! 516: </oneOrMore> ! 517: </optional> ! 518: <element name="baz"> ! 519: <empty/> ! 520: </element> ! 521: </element> ! 522: </correct> ! 523: <invalid> ! 524: <foo/> ! 525: </invalid> ! 526: <valid> ! 527: <foo> ! 528: <baz/> ! 529: </foo> ! 530: </valid> ! 531: <valid> ! 532: <foo> ! 533: <bar/> ! 534: <baz/> ! 535: </foo> ! 536: </valid> ! 537: <valid> ! 538: <foo> ! 539: <bar/> ! 540: <bar/> ! 541: <baz/> ! 542: </foo> ! 543: </valid> ! 544: <invalid> ! 545: <foo> ! 546: <bar/> ! 547: <bar/> ! 548: </foo> ! 549: </invalid> ! 550: </testCase> ! 551: <testCase> ! 552: <correct> ! 553: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0"> ! 554: <optional> ! 555: <oneOrMore> ! 556: <element name="bar"> ! 557: <empty/> ! 558: </element> ! 559: </oneOrMore> ! 560: </optional> ! 561: <element name="bar"> ! 562: <empty/> ! 563: </element> ! 564: </element> ! 565: </correct> ! 566: <invalid> ! 567: <foo/> ! 568: </invalid> ! 569: <valid> ! 570: <foo> ! 571: <bar/> ! 572: </foo> ! 573: </valid> ! 574: <valid> ! 575: <foo> ! 576: <bar/> ! 577: <bar/> ! 578: </foo> ! 579: </valid> ! 580: <valid> ! 581: <foo> ! 582: <bar/> ! 583: <bar/> ! 584: <bar/> ! 585: </foo> ! 586: </valid> ! 587: </testCase> ! 588: <testCase> ! 589: <correct> ! 590: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0"> ! 591: <group> ! 592: <zeroOrMore> ! 593: <choice> ! 594: <element name="bar"> ! 595: <empty/> ! 596: </element> ! 597: <element name="baz"> ! 598: <empty/> ! 599: </element> ! 600: </choice> ! 601: </zeroOrMore> ! 602: <element name="bar"> ! 603: <empty/> ! 604: </element> ! 605: </group> ! 606: </element> ! 607: </correct> ! 608: <invalid> ! 609: <foo/> ! 610: </invalid> ! 611: <valid> ! 612: <foo> ! 613: <bar/> ! 614: </foo> ! 615: </valid> ! 616: <valid> ! 617: <foo> ! 618: <baz/> ! 619: <bar/> ! 620: </foo> ! 621: </valid> ! 622: <valid> ! 623: <foo> ! 624: <bar/> ! 625: <bar/> ! 626: <bar/> ! 627: <bar/> ! 628: </foo> ! 629: </valid> ! 630: <valid> ! 631: <foo> ! 632: <baz/> ! 633: <baz/> ! 634: <baz/> ! 635: <bar/> ! 636: </foo> ! 637: </valid> ! 638: <valid> ! 639: <foo> ! 640: <baz/> ! 641: <bar/> ! 642: <baz/> ! 643: <bar/> ! 644: </foo> ! 645: </valid> ! 646: <invalid> ! 647: <foo> ! 648: <bar/> ! 649: <baz/> ! 650: <bar/> ! 651: <baz/> ! 652: </foo> ! 653: </invalid> ! 654: </testCase> ! 655: <testCase> ! 656: <correct> ! 657: <element name="list" xmlns="http://relaxng.org/ns/structure/1.0"> ! 658: <oneOrMore> ! 659: <element name="label"> ! 660: <empty/> ! 661: </element> ! 662: <optional> ! 663: <element name="opt"> ! 664: <empty/> ! 665: </element> ! 666: </optional> ! 667: <element name="item"> ! 668: <empty/> ! 669: </element> ! 670: </oneOrMore> ! 671: </element> ! 672: </correct> ! 673: <invalid> ! 674: <list> ! 675: </list> ! 676: </invalid> ! 677: <valid> ! 678: <list> ! 679: <label/> ! 680: <item/> ! 681: </list> ! 682: </valid> ! 683: <valid> ! 684: <list> ! 685: <label/> ! 686: <item/> ! 687: <label/> ! 688: <item/> ! 689: </list> ! 690: </valid> ! 691: <valid> ! 692: <list> ! 693: <label/> ! 694: <opt/> ! 695: <item/> ! 696: <label/> ! 697: <opt/> ! 698: <item/> ! 699: </list> ! 700: </valid> ! 701: <invalid> ! 702: <list> ! 703: <label/> ! 704: <item/> ! 705: <label/> ! 706: <opt/> ! 707: <opt/> ! 708: <item/> ! 709: </list> ! 710: </invalid> ! 711: </testCase> ! 712: <testCase> ! 713: <correct> ! 714: <element name="list" xmlns="http://relaxng.org/ns/structure/1.0"> ! 715: <oneOrMore> ! 716: <element name="label"> ! 717: <empty/> ! 718: </element> ! 719: <zeroOrMore> ! 720: <element name="opt"> ! 721: <empty/> ! 722: </element> ! 723: </zeroOrMore> ! 724: <element name="item"> ! 725: <empty/> ! 726: </element> ! 727: </oneOrMore> ! 728: </element> ! 729: </correct> ! 730: <invalid> ! 731: <list> ! 732: </list> ! 733: </invalid> ! 734: <valid> ! 735: <list> ! 736: <label/> ! 737: <item/> ! 738: </list> ! 739: </valid> ! 740: <valid> ! 741: <list> ! 742: <label/> ! 743: <item/> ! 744: <label/> ! 745: <item/> ! 746: </list> ! 747: </valid> ! 748: <valid> ! 749: <list> ! 750: <label/> ! 751: <opt/> ! 752: <item/> ! 753: <label/> ! 754: <opt/> ! 755: <item/> ! 756: </list> ! 757: </valid> ! 758: <valid> ! 759: <list> ! 760: <label/> ! 761: <item/> ! 762: <label/> ! 763: <opt/> ! 764: <opt/> ! 765: <item/> ! 766: </list> ! 767: </valid> ! 768: </testCase> ! 769: <testCase> ! 770: <correct> ! 771: <element name="list" xmlns="http://relaxng.org/ns/structure/1.0"> ! 772: <oneOrMore> ! 773: <element name="label"> ! 774: <empty/> ! 775: </element> ! 776: <zeroOrMore> ! 777: <element name="opt"> ! 778: <empty/> ! 779: </element> ! 780: <element name="opt2"> ! 781: <empty/> ! 782: </element> ! 783: </zeroOrMore> ! 784: <element name="item"> ! 785: <empty/> ! 786: </element> ! 787: </oneOrMore> ! 788: </element> ! 789: </correct> ! 790: <invalid> ! 791: <list> ! 792: </list> ! 793: </invalid> ! 794: <valid> ! 795: <list> ! 796: <label/> ! 797: <item/> ! 798: </list> ! 799: </valid> ! 800: <valid> ! 801: <list> ! 802: <label/> ! 803: <item/> ! 804: <label/> ! 805: <item/> ! 806: </list> ! 807: </valid> ! 808: <valid> ! 809: <list> ! 810: <label/> ! 811: <opt/> ! 812: <opt2/> ! 813: <item/> ! 814: <label/> ! 815: <opt/> ! 816: <opt2/> ! 817: <item/> ! 818: </list> ! 819: </valid> ! 820: <valid> ! 821: <list> ! 822: <label/> ! 823: <item/> ! 824: <label/> ! 825: <opt/> ! 826: <opt2/> ! 827: <opt/> ! 828: <opt2/> ! 829: <item/> ! 830: </list> ! 831: </valid> ! 832: <invalid> ! 833: <list> ! 834: <label/> ! 835: <opt/> ! 836: <item/> ! 837: <label/> ! 838: <item/> ! 839: </list> ! 840: </invalid> ! 841: <invalid> ! 842: <list> ! 843: <label/> ! 844: <item/> ! 845: <label/> ! 846: <opt2/> ! 847: <opt/> ! 848: <item/> ! 849: </list> ! 850: </invalid> ! 851: <invalid> ! 852: <list> ! 853: <label/> ! 854: <item/> ! 855: <label/> ! 856: <opt/> ! 857: <opt2/> ! 858: <opt/> ! 859: <item/> ! 860: </list> ! 861: </invalid> ! 862: </testCase> ! 863: </testSuite> ! 864: <testSuite> ! 865: <documentation>Test of grammars merging</documentation> ! 866: <testCase> ! 867: <resource name="dbk.rng"> ! 868: <grammar xmlns="http://relaxng.org/ns/structure/1.0"> ! 869: <start> ! 870: <ref name="p"/> ! 871: </start> ! 872: <define name="p.ext"> ! 873: <notAllowed/> ! 874: </define> ! 875: <define name="p"> ! 876: <element name="p"> ! 877: <choice> ! 878: <ref name="p.ext"/> ! 879: <empty/> ! 880: <element name="a"> ! 881: <text/> ! 882: </element> ! 883: </choice> ! 884: </element> ! 885: </define> ! 886: </grammar> ! 887: </resource> ! 888: <correct> ! 889: <grammar xmlns="http://relaxng.org/ns/structure/1.0"> ! 890: <start> ! 891: <grammar> ! 892: <include href="dbk.rng"/> ! 893: <define name="p.ext" combine="choice"> ! 894: <element name="b"> ! 895: <text/> ! 896: </element> ! 897: </define> ! 898: </grammar> ! 899: </start> ! 900: </grammar> ! 901: </correct> ! 902: <valid> ! 903: <p/> ! 904: </valid> ! 905: <valid> ! 906: <p> ! 907: <a/> ! 908: </p> ! 909: </valid> ! 910: <valid> ! 911: <p> ! 912: <b/> ! 913: </p> ! 914: </valid> ! 915: <invalid> ! 916: <b/> ! 917: </invalid> ! 918: <invalid> ! 919: <p> ! 920: <b/> ! 921: <b/> ! 922: </p> ! 923: </invalid> ! 924: </testCase> ! 925: <testCase> ! 926: <resource name="dbk.rng"> ! 927: <grammar xmlns="http://relaxng.org/ns/structure/1.0"> ! 928: <start> ! 929: <ref name="p"/> ! 930: </start> ! 931: <define name="p.ext"> ! 932: <notAllowed/> ! 933: </define> ! 934: <define name="p"> ! 935: <element name="p"> ! 936: <choice> ! 937: <ref name="p.ext"/> ! 938: <empty/> ! 939: <element name="a"> ! 940: <text/> ! 941: </element> ! 942: </choice> ! 943: </element> ! 944: </define> ! 945: <define name="c"> ! 946: <element name="c"> ! 947: <empty/> ! 948: </element> ! 949: </define> ! 950: </grammar> ! 951: </resource> ! 952: <correct> ! 953: <grammar xmlns="http://relaxng.org/ns/structure/1.0"> ! 954: <start> ! 955: <grammar> ! 956: <include href="dbk.rng"/> ! 957: <define name="p.ext" combine="choice"> ! 958: <choice> ! 959: <ref name="c"/> ! 960: <parentRef name="d"/> ! 961: <element name="b"> ! 962: <text/> ! 963: </element> ! 964: </choice> ! 965: </define> ! 966: </grammar> ! 967: </start> ! 968: <define name="d"> ! 969: <element name="d"> ! 970: <empty/> ! 971: </element> ! 972: </define> ! 973: </grammar> ! 974: </correct> ! 975: <valid> ! 976: <p/> ! 977: </valid> ! 978: <valid> ! 979: <p> ! 980: <a/> ! 981: </p> ! 982: </valid> ! 983: <valid> ! 984: <p> ! 985: <b/> ! 986: </p> ! 987: </valid> ! 988: <valid> ! 989: <p> ! 990: <c/> ! 991: </p> ! 992: </valid> ! 993: <valid> ! 994: <p> ! 995: <d/> ! 996: </p> ! 997: </valid> ! 998: <invalid> ! 999: <b/> ! 1000: </invalid> ! 1001: <invalid> ! 1002: <c/> ! 1003: </invalid> ! 1004: <invalid> ! 1005: <d/> ! 1006: </invalid> ! 1007: <invalid> ! 1008: <p> ! 1009: <b/> ! 1010: <c/> ! 1011: </p> ! 1012: </invalid> ! 1013: <invalid> ! 1014: <p> ! 1015: <d/> ! 1016: <c/> ! 1017: </p> ! 1018: </invalid> ! 1019: </testCase> ! 1020: <testCase> ! 1021: <resource name="dbk.rng"> ! 1022: <grammar xmlns="http://relaxng.org/ns/structure/1.0"> ! 1023: <start> ! 1024: <ref name="p"/> ! 1025: </start> ! 1026: <define name="p.ext"> ! 1027: <notAllowed/> ! 1028: </define> ! 1029: <define name="p"> ! 1030: <element name="p"> ! 1031: <choice> ! 1032: <ref name="p.ext"/> ! 1033: <empty/> ! 1034: <element name="a"> ! 1035: <text/> ! 1036: </element> ! 1037: </choice> ! 1038: </element> ! 1039: </define> ! 1040: <define name="c"> ! 1041: <element name="c"> ! 1042: <empty/> ! 1043: </element> ! 1044: </define> ! 1045: </grammar> ! 1046: </resource> ! 1047: <resource name="proof.rng"> ! 1048: <grammar xmlns="http://relaxng.org/ns/structure/1.0"> ! 1049: <start> ! 1050: <ref name="e"/> ! 1051: </start> ! 1052: <define name="d"> ! 1053: <element name="d"> ! 1054: <empty/> ! 1055: </element> ! 1056: </define> ! 1057: <define name="e"> ! 1058: <element name="e"> ! 1059: <empty/> ! 1060: </element> ! 1061: </define> ! 1062: <define name="f"> ! 1063: <element name="f"> ! 1064: <empty/> ! 1065: </element> ! 1066: </define> ! 1067: </grammar> ! 1068: </resource> ! 1069: <correct> ! 1070: <grammar xmlns="http://relaxng.org/ns/structure/1.0"> ! 1071: <start> ! 1072: <grammar> ! 1073: <include href="dbk.rng"/> ! 1074: <define name="p.ext" combine="choice"> ! 1075: <choice> ! 1076: <ref name="c"/> ! 1077: <grammar> ! 1078: <include href="proof.rng"/> ! 1079: <start combine="choice"> ! 1080: <ref name="d"/> ! 1081: </start> ! 1082: </grammar> ! 1083: <element name="b"> ! 1084: <text/> ! 1085: </element> ! 1086: </choice> ! 1087: </define> ! 1088: </grammar> ! 1089: </start> ! 1090: <define name="g"> ! 1091: <element name="g"> ! 1092: <empty/> ! 1093: </element> ! 1094: </define> ! 1095: </grammar> ! 1096: </correct> ! 1097: <valid> ! 1098: <p/> ! 1099: </valid> ! 1100: <valid> ! 1101: <p> ! 1102: <a/> ! 1103: </p> ! 1104: </valid> ! 1105: <valid> ! 1106: <p> ! 1107: <b/> ! 1108: </p> ! 1109: </valid> ! 1110: <valid> ! 1111: <p> ! 1112: <c/> ! 1113: </p> ! 1114: </valid> ! 1115: <valid> ! 1116: <p> ! 1117: <d/> ! 1118: </p> ! 1119: </valid> ! 1120: <valid> ! 1121: <p> ! 1122: <e/> ! 1123: </p> ! 1124: </valid> ! 1125: <invalid> ! 1126: <p> ! 1127: <f/> ! 1128: </p> ! 1129: </invalid> ! 1130: <invalid> ! 1131: <p> ! 1132: <g/> ! 1133: </p> ! 1134: </invalid> ! 1135: <invalid> ! 1136: <b/> ! 1137: </invalid> ! 1138: <invalid> ! 1139: <c/> ! 1140: </invalid> ! 1141: <invalid> ! 1142: <d/> ! 1143: </invalid> ! 1144: <invalid> ! 1145: <e/> ! 1146: </invalid> ! 1147: <invalid> ! 1148: <f/> ! 1149: </invalid> ! 1150: <invalid> ! 1151: <g/> ! 1152: </invalid> ! 1153: <invalid> ! 1154: <p> ! 1155: <d/> ! 1156: <c/> ! 1157: </p> ! 1158: </invalid> ! 1159: <invalid> ! 1160: <p> ! 1161: <d/> ! 1162: <e/> ! 1163: </p> ! 1164: </invalid> ! 1165: </testCase> ! 1166: <testCase> ! 1167: <resource name="dbk.rng"> ! 1168: <grammar xmlns="http://relaxng.org/ns/structure/1.0"> ! 1169: <start> ! 1170: <ref name="p"/> ! 1171: </start> ! 1172: <define name="p.ext"> ! 1173: <notAllowed/> ! 1174: </define> ! 1175: <define name="p"> ! 1176: <element name="p"> ! 1177: <choice> ! 1178: <ref name="p.ext"/> ! 1179: <empty/> ! 1180: <element name="a"> ! 1181: <text/> ! 1182: </element> ! 1183: </choice> ! 1184: </element> ! 1185: </define> ! 1186: <define name="c"> ! 1187: <element name="c"> ! 1188: <empty/> ! 1189: </element> ! 1190: </define> ! 1191: </grammar> ! 1192: </resource> ! 1193: <resource name="proof.rng"> ! 1194: <grammar xmlns="http://relaxng.org/ns/structure/1.0" ! 1195: ns="http://example.org/ns/proofsystem"> ! 1196: <start> ! 1197: <ref name="e"/> ! 1198: </start> ! 1199: <define name="d"> ! 1200: <element name="d"> ! 1201: <empty/> ! 1202: </element> ! 1203: </define> ! 1204: <define name="e"> ! 1205: <element name="e"> ! 1206: <empty/> ! 1207: </element> ! 1208: </define> ! 1209: <define name="f"> ! 1210: <element name="f"> ! 1211: <empty/> ! 1212: </element> ! 1213: </define> ! 1214: </grammar> ! 1215: </resource> ! 1216: <correct> ! 1217: <grammar xmlns="http://relaxng.org/ns/structure/1.0"> ! 1218: <start> ! 1219: <grammar> ! 1220: <include href="dbk.rng"/> ! 1221: <define name="p.ext" combine="choice"> ! 1222: <choice> ! 1223: <ref name="c"/> ! 1224: <grammar> ! 1225: <include href="proof.rng"/> ! 1226: <start combine="choice"> ! 1227: <ref name="d"/> ! 1228: </start> ! 1229: </grammar> ! 1230: <element name="b"> ! 1231: <text/> ! 1232: </element> ! 1233: </choice> ! 1234: </define> ! 1235: </grammar> ! 1236: </start> ! 1237: <define name="g"> ! 1238: <element name="g"> ! 1239: <empty/> ! 1240: </element> ! 1241: </define> ! 1242: </grammar> ! 1243: </correct> ! 1244: <valid> ! 1245: <p/> ! 1246: </valid> ! 1247: <valid> ! 1248: <p> ! 1249: <a/> ! 1250: </p> ! 1251: </valid> ! 1252: <valid> ! 1253: <p> ! 1254: <b/> ! 1255: </p> ! 1256: </valid> ! 1257: <valid> ! 1258: <p> ! 1259: <c/> ! 1260: </p> ! 1261: </valid> ! 1262: <valid> ! 1263: <p xmlns:p="http://example.org/ns/proofsystem"> ! 1264: <p:d/> ! 1265: </p> ! 1266: </valid> ! 1267: <invalid> ! 1268: <p> ! 1269: <d/> ! 1270: </p> ! 1271: </invalid> ! 1272: <valid> ! 1273: <p xmlns:p="http://example.org/ns/proofsystem"> ! 1274: <p:e/> ! 1275: </p> ! 1276: </valid> ! 1277: <invalid> ! 1278: <p> ! 1279: <e/> ! 1280: </p> ! 1281: </invalid> ! 1282: <invalid> ! 1283: <p xmlns:p="http://example.org/ns/proofsystem"> ! 1284: <p:f/> ! 1285: </p> ! 1286: </invalid> ! 1287: <invalid> ! 1288: <p> ! 1289: <f/> ! 1290: </p> ! 1291: </invalid> ! 1292: <invalid> ! 1293: <p> ! 1294: <g/> ! 1295: </p> ! 1296: </invalid> ! 1297: <invalid> ! 1298: <b/> ! 1299: </invalid> ! 1300: <invalid> ! 1301: <c/> ! 1302: </invalid> ! 1303: <invalid> ! 1304: <d/> ! 1305: </invalid> ! 1306: <invalid> ! 1307: <e/> ! 1308: </invalid> ! 1309: <invalid> ! 1310: <f/> ! 1311: </invalid> ! 1312: <invalid> ! 1313: <g/> ! 1314: </invalid> ! 1315: <invalid> ! 1316: <p xmlns:p="http://example.org/ns/proofsystem"> ! 1317: <p:d/> ! 1318: <c/> ! 1319: </p> ! 1320: </invalid> ! 1321: <invalid> ! 1322: <p xmlns:p="http://example.org/ns/proofsystem"> ! 1323: <p:d/> ! 1324: <p:e/> ! 1325: </p> ! 1326: </invalid> ! 1327: </testCase> ! 1328: <testCase> ! 1329: <resource name="ext.rng"> ! 1330: <grammar xmlns="http://relaxng.org/ns/structure/1.0"> ! 1331: <start> ! 1332: <ref name="p"/> ! 1333: </start> ! 1334: <define name="p"> ! 1335: <element name="p"> ! 1336: <empty/> ! 1337: </element> ! 1338: </define> ! 1339: </grammar> ! 1340: </resource> ! 1341: <correct> ! 1342: <grammar xmlns="http://relaxng.org/ns/structure/1.0"> ! 1343: <start> ! 1344: <element name="top"> ! 1345: <choice> ! 1346: <ref name="include1"/> ! 1347: <ref name="include2"/> ! 1348: </choice> ! 1349: </element> ! 1350: </start> ! 1351: <define name="include1"> ! 1352: <grammar> ! 1353: <include href="ext.rng"> ! 1354: <start> ! 1355: <element name="a"> ! 1356: <choice> ! 1357: <empty/> ! 1358: <ref name="p"/> ! 1359: </choice> ! 1360: </element> ! 1361: </start> ! 1362: </include> ! 1363: </grammar> ! 1364: </define> ! 1365: <define name="include2"> ! 1366: <grammar> ! 1367: <include href="ext.rng"> ! 1368: <start> ! 1369: <element name="b"> ! 1370: <choice> ! 1371: <empty/> ! 1372: <ref name="p"/> ! 1373: </choice> ! 1374: </element> ! 1375: </start> ! 1376: </include> ! 1377: </grammar> ! 1378: </define> ! 1379: </grammar> ! 1380: </correct> ! 1381: <invalid> ! 1382: <top/> ! 1383: </invalid> ! 1384: <invalid> ! 1385: <a/> ! 1386: </invalid> ! 1387: <invalid> ! 1388: <b/> ! 1389: </invalid> ! 1390: <invalid> ! 1391: <p/> ! 1392: </invalid> ! 1393: <valid> ! 1394: <top> ! 1395: <a/> ! 1396: </top> ! 1397: </valid> ! 1398: <valid> ! 1399: <top> ! 1400: <b/> ! 1401: </top> ! 1402: </valid> ! 1403: <valid> ! 1404: <top> ! 1405: <a> ! 1406: <p/> ! 1407: </a> ! 1408: </top> ! 1409: </valid> ! 1410: <valid> ! 1411: <top> ! 1412: <b> ! 1413: <p/> ! 1414: </b> ! 1415: </top> ! 1416: </valid> ! 1417: </testCase> ! 1418: </testSuite> ! 1419: <testSuite> ! 1420: <documentation>Test of ID/IDREF</documentation> ! 1421: <testCase> ! 1422: <correct> ! 1423: <element name="top" xmlns="http://relaxng.org/ns/structure/1.0" ! 1424: datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> ! 1425: <zeroOrMore> ! 1426: <choice> ! 1427: <element name="ref"> ! 1428: <attribute name="id"> ! 1429: <data type="ID"/> ! 1430: </attribute> ! 1431: <text/> ! 1432: </element> ! 1433: <element name="xref"> ! 1434: <attribute name="link"> ! 1435: <data type="IDREF"/> ! 1436: </attribute> ! 1437: <text/> ! 1438: </element> ! 1439: </choice> ! 1440: </zeroOrMore> ! 1441: </element> ! 1442: </correct> ! 1443: <valid> ! 1444: <top> ! 1445: </top> ! 1446: </valid> ! 1447: <invalid> ! 1448: <top> ! 1449: <xref link="id1"/> ! 1450: </top> ! 1451: </invalid> ! 1452: <valid> ! 1453: <top> ! 1454: <ref id="id1"/> ! 1455: </top> ! 1456: </valid> ! 1457: <valid> ! 1458: <top> ! 1459: <xref link="id1"/> ! 1460: <ref id="id1"/> ! 1461: </top> ! 1462: </valid> ! 1463: <valid> ! 1464: <top> ! 1465: <xref link=" id1 "/> ! 1466: <ref id=" id1 "/> ! 1467: <xref link="id1 "/> ! 1468: <xref link=" id1"/> ! 1469: </top> ! 1470: </valid> ! 1471: <valid> ! 1472: <top> ! 1473: <ref id="id1"/> ! 1474: <xref link="id1"/> ! 1475: </top> ! 1476: </valid> ! 1477: <invalid> ! 1478: <top> ! 1479: <ref id="id1"/> ! 1480: <ref id="id1"/> ! 1481: </top> ! 1482: </invalid> ! 1483: </testCase> ! 1484: <testCase> ! 1485: <correct> ! 1486: <element name="top" xmlns="http://relaxng.org/ns/structure/1.0" ! 1487: datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> ! 1488: <zeroOrMore> ! 1489: <choice> ! 1490: <element name="ref"> ! 1491: <attribute name="id"> ! 1492: <data type="ID"/> ! 1493: </attribute> ! 1494: <text/> ! 1495: </element> ! 1496: <element name="xref"> ! 1497: <attribute name="link"> ! 1498: <data type="IDREFS"/> ! 1499: </attribute> ! 1500: <text/> ! 1501: </element> ! 1502: </choice> ! 1503: </zeroOrMore> ! 1504: </element> ! 1505: </correct> ! 1506: <valid> ! 1507: <top> ! 1508: </top> ! 1509: </valid> ! 1510: <invalid> ! 1511: <top> ! 1512: <xref link="id1"/> ! 1513: </top> ! 1514: </invalid> ! 1515: <valid> ! 1516: <top> ! 1517: <ref id="id1"/> ! 1518: </top> ! 1519: </valid> ! 1520: <valid> ! 1521: <top> ! 1522: <xref link="id1"/> ! 1523: <ref id="id1"/> ! 1524: </top> ! 1525: </valid> ! 1526: <valid> ! 1527: <top> ! 1528: <xref link="id1 id1"/> ! 1529: <ref id="id1"/> ! 1530: </top> ! 1531: </valid> ! 1532: <valid> ! 1533: <top> ! 1534: <ref id="id1"/> ! 1535: <xref link="id1"/> ! 1536: </top> ! 1537: </valid> ! 1538: <valid> ! 1539: <top> ! 1540: <ref id="id2"/> ! 1541: <xref link="id1 id2"/> ! 1542: <ref id="id1"/> ! 1543: </top> ! 1544: </valid> ! 1545: <valid> ! 1546: <top> ! 1547: <ref id="id2"/> ! 1548: <xref link=" id2 id1 id2 "/> ! 1549: <ref id="id1"/> ! 1550: </top> ! 1551: </valid> ! 1552: <invalid> ! 1553: <top> ! 1554: <ref id="id2"/> ! 1555: <xref link="id1 id2"/> ! 1556: </top> ! 1557: </invalid> ! 1558: <invalid> ! 1559: <top> ! 1560: <xref link="id1 id2"/> ! 1561: <ref id="id1"/> ! 1562: </top> ! 1563: </invalid> ! 1564: <invalid> ! 1565: <top> ! 1566: <ref id="id1"/> ! 1567: <ref id="id1"/> ! 1568: </top> ! 1569: </invalid> ! 1570: </testCase> ! 1571: </testSuite> ! 1572: <testSuite> ! 1573: <documentation>Test of ENTITY/ENTITIES</documentation> ! 1574: <testCase> ! 1575: <correct> ! 1576: <element xmlns="http://relaxng.org/ns/structure/1.0" name="doc" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> ! 1577: <data type="ENTITY"/> ! 1578: </element> ! 1579: </correct> ! 1580: <invalid> ! 1581: <doc></doc> ! 1582: </invalid> ! 1583: <invalid> ! 1584: <doc>foo</doc> ! 1585: </invalid> ! 1586: <valid dtd=" <!DOCTYPE doc [ <!ENTITY foo SYSTEM 'whatever' NDATA jpeg> ]>"> ! 1587: <doc>foo</doc> ! 1588: </valid> ! 1589: <valid dtd=" <!DOCTYPE doc [ <!ENTITY foo SYSTEM 'whatever' NDATA jpeg> ]>"> ! 1590: <doc> foo </doc> ! 1591: </valid> ! 1592: <invalid dtd=" <!DOCTYPE doc [ <!ENTITY foo SYSTEM 'whatever' NDATA jpeg> ]>"> ! 1593: <doc>foo bar</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="ENTITIES"/> ! 1600: </element> ! 1601: </correct> ! 1602: <invalid> ! 1603: <doc></doc> ! 1604: </invalid> ! 1605: <invalid> ! 1606: <doc>foo</doc> ! 1607: </invalid> ! 1608: <valid dtd=" <!DOCTYPE doc [ <!ENTITY foo SYSTEM 'whatever' NDATA jpeg> <!ENTITY bar SYSTEM 'whatever' NDATA jpeg> ]>"> ! 1609: <doc> foo bar </doc> ! 1610: </valid> ! 1611: <valid dtd=" <!DOCTYPE doc [ <!ENTITY foo SYSTEM 'whatever' NDATA jpeg> <!ENTITY bar SYSTEM 'whatever' NDATA jpeg> ]>"> ! 1612: <doc> foo bar foo</doc> ! 1613: </valid> ! 1614: <invalid dtd=" <!DOCTYPE doc [ <!ENTITY foo SYSTEM 'whatever' NDATA jpeg>]>"> ! 1615: <doc>foo bar</doc> ! 1616: </invalid> ! 1617: </testCase> ! 1618: </testSuite> ! 1619: <testSuite> ! 1620: <documentation>Test of Mixed</documentation> ! 1621: <testCase> ! 1622: <correct> ! 1623: <element name="mix" xmlns="http://relaxng.org/ns/structure/1.0"> ! 1624: <mixed> ! 1625: <zeroOrMore> ! 1626: <choice> ! 1627: <element name="a"> ! 1628: <empty/> ! 1629: </element> ! 1630: <element name="b"> ! 1631: <empty/> ! 1632: </element> ! 1633: <element name="c"> ! 1634: <empty/> ! 1635: </element> ! 1636: </choice> ! 1637: </zeroOrMore> ! 1638: </mixed> ! 1639: <element name="d"> ! 1640: <empty/> ! 1641: </element> ! 1642: </element> ! 1643: </correct> ! 1644: <valid> ! 1645: <mix> ! 1646: <d/> ! 1647: </mix> ! 1648: </valid> ! 1649: <valid> ! 1650: <mix> ! 1651: <b/> ! 1652: <a/> ! 1653: <c/> ! 1654: <b/> ! 1655: <d/> ! 1656: </mix> ! 1657: </valid> ! 1658: <valid> ! 1659: <mix> ! 1660: mixed ! 1661: <c/> ! 1662: <d/> ! 1663: </mix> ! 1664: </valid> ! 1665: <valid> ! 1666: <mix> ! 1667: <c/> ! 1668: mixed ! 1669: <d/> ! 1670: </mix> ! 1671: </valid> ! 1672: <valid> ! 1673: <mix> ! 1674: <b/> ! 1675: is ! 1676: <a/> ! 1677: inter ! 1678: <c/> ! 1679: mixed ! 1680: <b/> ! 1681: <d/> ! 1682: </mix> ! 1683: </valid> ! 1684: <valid> ! 1685: <mix> ! 1686: mixed ! 1687: <b/> ! 1688: . ! 1689: <d/> ! 1690: </mix> ! 1691: </valid> ! 1692: <valid> ! 1693: <mix> ! 1694: this ! 1695: <b/> ! 1696: is ! 1697: <a/> ! 1698: inter ! 1699: <c/> ! 1700: mixed ! 1701: <b/> ! 1702: . ! 1703: <d/> ! 1704: </mix> ! 1705: </valid> ! 1706: </testCase> ! 1707: </testSuite> ! 1708: </testSuite>