Annotation of embedaddon/libxml2/test/relaxng/testsuite.xml, revision 1.1
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>
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>