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> 1709