Annotation of embedaddon/libxml2/test/relaxng/OASIS/spectest.xml, revision 1.1.1.1

1.1       misho       1: <!DOCTYPE testSuite [
                      2: <!ENTITY dii "<&#xE14;&#xE35;/>">
                      3: ]>
                      4: <testSuite>
                      5: <author>James Clark</author>
                      6: <email>jjc@jclark.com</email>
                      7: <documentation>For October 26 version of the spec.</documentation>
                      8: <testSuite>
                      9: <section>3</section>
                     10: <testSuite>
                     11: <documentation>Various possible syntax errors.</documentation>
                     12: <testCase>
                     13: <section>3</section>
                     14: <incorrect>
                     15: <thisIsJunk/>
                     16: </incorrect>
                     17: </testCase>
                     18: <testCase>
                     19: <section>3</section>
                     20: <incorrect>
                     21: <grammar xmlns="http://relaxng.org/ns/structure/1.0">
                     22:   <element name="foo">
                     23:     <empty/>
                     24:   </element>
                     25:   <start>
                     26:     <element name="foo">
                     27:       <empty/>
                     28:     </element>
                     29:   </start>
                     30: </grammar>
                     31: </incorrect>
                     32: </testCase>
                     33: <testCase>
                     34: <section>3</section>
                     35: <incorrect>
                     36: <element xmlns="http://relaxng.org/ns/structure/1.0" name="foo">
                     37:   <define name="bar">
                     38:     <text/>
                     39:   </define>
                     40:   <text/>
                     41: </element>
                     42: </incorrect>
                     43: </testCase>
                     44: <testCase>
                     45: <section>3</section>
                     46: <incorrect>
                     47: <element xmlns="http://relaxng.org/ns/structure/1.0" name="foo">
                     48:   <name>foo</name>
                     49:   <empty/>
                     50: </element>
                     51: </incorrect>
                     52: </testCase>
                     53: <testCase>
                     54: <section>3</section>
                     55: <incorrect>
                     56: <element xmlns="http://relaxng.org/ns/structure/1.0" name="foo">
                     57:   <group>
                     58:     <name>bar</name>
                     59:   </group>
                     60: </element>
                     61: </incorrect>
                     62: </testCase>
                     63: <testCase>
                     64: <section>3</section>
                     65: <incorrect>
                     66: <element xmlns="http://relaxng.org/ns/structure/1.0">
                     67:   <anyName>
                     68:     <except>
                     69:       <name>foo</name>
                     70:     </except>
                     71:     <except>
                     72:       <name>bar</name>
                     73:     </except>
                     74:   </anyName>
                     75:   <empty/>
                     76: </element>
                     77: </incorrect>
                     78: </testCase>
                     79: <testCase>
                     80: <section>3</section>
                     81: <incorrect>
                     82: <element xmlns="http://relaxng.org/ns/structure/1.0">
                     83:   <nsName>
                     84:     <except>
                     85:       <name>foo</name>
                     86:     </except>
                     87:     <except>
                     88:       <name>bar</name>
                     89:     </except>
                     90:   </nsName>
                     91:   <empty/>
                     92: </element>
                     93: </incorrect>
                     94: </testCase>
                     95: <testCase>
                     96: <section>3</section>
                     97: <incorrect>
                     98: <element xmlns="http://relaxng.org/ns/structure/1.0" name="foo">
                     99:   <data type="token">
                    100:     <except>
                    101:       <value>foo</value>
                    102:     </except>
                    103:     <except>
                    104:       <value>bar</value>
                    105:     </except>
                    106:   </data>
                    107: </element>
                    108: </incorrect>
                    109: </testCase>
                    110: <testCase>
                    111: <section>3</section>
                    112: <incorrect>
                    113: <element xmlns="http://relaxng.org/ns/structure/1.0" name="foo">
                    114:   <empty name="bar"/>
                    115: </element>
                    116: </incorrect>
                    117: </testCase>
                    118: <testCase>
                    119: <section>3</section>
                    120: <incorrect>
                    121: <element xmlns="http://relaxng.org/ns/structure/1.0" name="foo" extra="bar">
                    122:   <empty/>
                    123: </element>
                    124: </incorrect>
                    125: </testCase>
                    126: <testCase>
                    127: <section>3</section>
                    128: <incorrect>
                    129: <element xmlns="http://relaxng.org/ns/structure/1.0" name="foo">
                    130:   <empty>
                    131:     <empty/>
                    132:   </empty>
                    133: </element>
                    134: </incorrect>
                    135: </testCase>
                    136: <testCase>
                    137: <section>3</section>
                    138: <incorrect>
                    139: <element xmlns="http://relaxng.org/ns/structure/1.0" name="foo">
                    140:   <text>
                    141:     <empty/>
                    142:   </text>
                    143: </element>
                    144: </incorrect>
                    145: </testCase>
                    146: <testCase>
                    147: <section>3</section>
                    148: <incorrect>
                    149: <element xmlns="http://relaxng.org/ns/structure/1.0" name="foo">
                    150:   <choice>
                    151:     <text/>
                    152:     <notAllowed>
                    153:       <empty/>
                    154:     </notAllowed>
                    155:   </choice>
                    156: </element>
                    157: </incorrect>
                    158: </testCase>
                    159: <testCase>
                    160: <section>3</section>
                    161: <incorrect>
                    162: <grammar xmlns="http://relaxng.org/ns/structure/1.0">
                    163:   <start>
                    164:     <ref name="foo">
                    165:       <empty/>
                    166:     </ref>
                    167:   </start>
                    168:   <define name="foo">
                    169:     <element name="foo">
                    170:       <empty/>
                    171:     </element>
                    172:   </define>
                    173: </grammar>
                    174: </incorrect>
                    175: </testCase>
                    176: <testCase>
                    177: <section>3</section>
                    178: <incorrect>
                    179: <grammar xmlns="http://relaxng.org/ns/structure/1.0">
                    180:   <start>
                    181:     <grammar>
                    182:       <start>
                    183:         <parentRef name="foo">
                    184:           <empty/>
                    185:         </parentRef>
                    186:       </start>
                    187:     </grammar>
                    188:   </start>
                    189:   <define name="foo">
                    190:     <element name="foo">
                    191:       <empty/>
                    192:     </element>
                    193:   </define>
                    194: </grammar>
                    195: </incorrect>
                    196: </testCase>
                    197: </testSuite>
                    198: <testSuite>
                    199: <documentation>Tests for obsolete syntax</documentation>
                    200: <testCase>
                    201: <section>3</section>
                    202: <incorrect>
                    203: <grammar xmlns="http://relaxng.org/ns/structure/1.0">
                    204:   <start name="foo">
                    205:     <element name="foo">
                    206:       <empty/>
                    207:     </element>
                    208:   </start>
                    209: </grammar>
                    210: </incorrect>
                    211: </testCase>
                    212: <testCase>
                    213: <section>3</section>
                    214: <incorrect>
                    215: <element xmlns="http://relaxng.org/ns/structure/1.0" name="foo" ns="http://www.example.com">
                    216:   <attribute name="bar" global="true">
                    217:     <text/>
                    218:   </attribute>
                    219: </element>
                    220: </incorrect>
                    221: </testCase>
                    222: <testCase>
                    223: <section>3</section>
                    224: <incorrect>
                    225: <element xmlns="http://relaxng.org/ns/structure/1.0">
                    226:   <not>
                    227:     <name>foo</name>
                    228:   </not>
                    229:   <empty/>
                    230: </element>
                    231: </incorrect>
                    232: </testCase>
                    233: <testCase>
                    234: <section>3</section>
                    235: <incorrect>
                    236: <element xmlns="http://relaxng.org/ns/structure/1.0">
                    237:   <difference>
                    238:     <anyName/>
                    239:     <name>foo</name>
                    240:   </difference>
                    241:   <empty/>
                    242: </element>
                    243: </incorrect>
                    244: </testCase>
                    245: <testCase>
                    246: <section>3</section>
                    247: <incorrect>
                    248: <element xmlns="http://relaxng.org/ns/structure/1.0" name="foo">
                    249:   <data type="token" key="foo"/>
                    250: </element>
                    251: </incorrect>
                    252: </testCase>
                    253: <testCase>
                    254: <section>3</section>
                    255: <incorrect>
                    256: <element xmlns="http://relaxng.org/ns/structure/1.0" name="foo">
                    257:   <data type="token" keyRef="foo"/>
                    258: </element>
                    259: </incorrect>
                    260: </testCase>
                    261: <testCase>
                    262: <section>3</section>
                    263: <incorrect>
                    264: <element xmlns="http://relaxng.org/ns/structure/1.0" name="foo">
                    265:   <keyRef name="foo">
                    266:     <data type="token"/>
                    267:   </keyRef>
                    268: </element>
                    269: </incorrect>
                    270: </testCase>
                    271: <testCase>
                    272: <section>3</section>
                    273: <incorrect>
                    274: <element xmlns="http://relaxng.org/ns/structure/1.0" name="foo">
                    275:   <key name="foo">
                    276:     <data type="token"/>
                    277:   </key>
                    278: </element>
                    279: </incorrect>
                    280: </testCase>
                    281: </testSuite>
                    282: <testSuite>
                    283: <documentation>Tests for missing attributes and child elements</documentation>
                    284: <testCase>
                    285: <section>3</section>
                    286: <incorrect>
                    287: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
                    288: </element>
                    289: </incorrect>
                    290: </testCase>
                    291: <testCase>
                    292: <section>3</section>
                    293: <incorrect>
                    294: <element xmlns="http://relaxng.org/ns/structure/1.0">
                    295:   <name>foo</name>
                    296: </element>
                    297: </incorrect>
                    298: </testCase>
                    299: <testCase>
                    300: <section>3</section>
                    301: <incorrect>
                    302: <element xmlns="http://relaxng.org/ns/structure/1.0">
                    303: </element>
                    304: </incorrect>
                    305: </testCase>
                    306: <testCase>
                    307: <section>3</section>
                    308: <incorrect>
                    309: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
                    310:   <attribute/>
                    311: </element>
                    312: </incorrect>
                    313: </testCase>
                    314: <testCase>
                    315: <section>3</section>
                    316: <incorrect>
                    317: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
                    318:   <group/>
                    319: </element>
                    320: </incorrect>
                    321: </testCase>
                    322: <testCase>
                    323: <section>3</section>
                    324: <incorrect>
                    325: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
                    326:   <interleave/>
                    327: </element>
                    328: </incorrect>
                    329: </testCase>
                    330: <testCase>
                    331: <section>3</section>
                    332: <incorrect>
                    333: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
                    334:   <choice/>
                    335: </element>
                    336: </incorrect>
                    337: </testCase>
                    338: <testCase>
                    339: <section>3</section>
                    340: <incorrect>
                    341: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
                    342:   <optional/>
                    343: </element>
                    344: </incorrect>
                    345: </testCase>
                    346: <testCase>
                    347: <section>3</section>
                    348: <incorrect>
                    349: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
                    350:   <zeroOrMore/>
                    351: </element>
                    352: </incorrect>
                    353: </testCase>
                    354: <testCase>
                    355: <section>3</section>
                    356: <incorrect>
                    357: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
                    358:   <oneOrMore/>
                    359: </element>
                    360: </incorrect>
                    361: </testCase>
                    362: <testCase>
                    363: <section>3</section>
                    364: <incorrect>
                    365: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
                    366:   <list/>
                    367: </element>
                    368: </incorrect>
                    369: </testCase>
                    370: <testCase>
                    371: <section>3</section>
                    372: <incorrect>
                    373: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
                    374:   <mixed/>
                    375: </element>
                    376: </incorrect>
                    377: </testCase>
                    378: <testCase>
                    379: <section>3</section>
                    380: <incorrect>
                    381: <element xmlns="http://relaxng.org/ns/structure/1.0">
                    382:   <choice/>
                    383:   <empty/>
                    384: </element>
                    385: </incorrect>
                    386: </testCase>
                    387: <testCase>
                    388: <section>3</section>
                    389: <incorrect>
                    390: <element xmlns="http://relaxng.org/ns/structure/1.0">
                    391:   <anyName>
                    392:     <except/>
                    393:   </anyName>
                    394:   <empty/>
                    395: </element>
                    396: </incorrect>
                    397: </testCase>
                    398: <testCase>
                    399: <section>3</section>
                    400: <incorrect>
                    401: <element xmlns="http://relaxng.org/ns/structure/1.0">
                    402:   <nsName ns="">
                    403:     <except/>
                    404:   </nsName>
                    405:   <empty/>
                    406: </element>
                    407: </incorrect>
                    408: </testCase>
                    409: <testCase>
                    410: <section>3</section>
                    411: <incorrect>
                    412: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
                    413:   <data type="string">
                    414:     <except/>
                    415:   </data>
                    416: </element>
                    417: </incorrect>
                    418: </testCase>
                    419: <testCase>
                    420: <section>3</section>
                    421: <incorrect>
                    422: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
                    423:   <data/>
                    424: </element>
                    425: </incorrect>
                    426: </testCase>
                    427: <testCase>
                    428: <section>3</section>
                    429: <incorrect>
                    430: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
                    431:   <data type="string">
                    432:     <param/>
                    433:   </data>
                    434: </element>
                    435: </incorrect>
                    436: </testCase>
                    437: <testCase>
                    438: <section>3</section>
                    439: <incorrect>
                    440: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
                    441:   <grammar>
                    442:     <start/>
                    443:   </grammar>
                    444: </element>
                    445: </incorrect>
                    446: </testCase>
                    447: <testCase>
                    448: <section>3</section>
                    449: <incorrect>
                    450: <grammar xmlns="http://relaxng.org/ns/structure/1.0">
                    451:   <start>
                    452:     <element name="bar">
                    453:       <empty/>
                    454:     </element>
                    455:   </start>
                    456:   <define name="baz"/>
                    457: </grammar>
                    458: </incorrect>
                    459: </testCase>
                    460: <testCase>
                    461: <section>3</section>
                    462: <incorrect>
                    463: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
                    464:   <externalRef/>
                    465: </element>
                    466: </incorrect>
                    467: </testCase>
                    468: <testCase>
                    469: <section>3</section>
                    470: <incorrect>
                    471: <grammar xmlns="http://relaxng.org/ns/structure/1.0">
                    472:   <include/>
                    473:   <start>
                    474:     <element name="foo">
                    475:       <empty/>
                    476:     </element>
                    477:   </start>
                    478: </grammar>
                    479: </incorrect>
                    480: </testCase>
                    481: <testCase>
                    482: <section>3</section>
                    483: <incorrect>
                    484: <grammar xmlns="http://relaxng.org/ns/structure/1.0">
                    485:   <start>
                    486:     <element name="foo">
                    487:       <empty/>
                    488:     </element>
                    489:   </start>
                    490:   <define>
                    491:     <element name="bar">
                    492:       <empty/>
                    493:     </element>
                    494:   </define>
                    495: </grammar>
                    496: </incorrect>
                    497: </testCase>
                    498: <testCase>
                    499: <section>3</section>
                    500: <incorrect>
                    501: <grammar xmlns="http://relaxng.org/ns/structure/1.0">
                    502:   <start>
                    503:     <ref/>
                    504:   </start>
                    505:   <define name="foo">
                    506:     <element name="foo">
                    507:       <empty/>
                    508:     </element>
                    509:   </define>
                    510: </grammar>
                    511: </incorrect>
                    512: </testCase>
                    513: <testCase>
                    514: <section>3</section>
                    515: <incorrect>
                    516: <grammar xmlns="http://relaxng.org/ns/structure/1.0">
                    517:   <start>
                    518:     <grammar>
                    519:       <start>
                    520:         <parentRef/>
                    521:       </start>
                    522:     </grammar>
                    523:   </start>
                    524:   <define name="foo">
                    525:     <element name="foo">
                    526:       <empty/>
                    527:     </element>
                    528:   </define>
                    529: </grammar>
                    530: </incorrect>
                    531: </testCase>
                    532: </testSuite>
                    533: <testSuite>
                    534: <documentation>Checking of ns attribute</documentation>
                    535: <testCase>
                    536: <section>3</section>
                    537: <correct>
                    538: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0" ns="">
                    539:   <empty/>
                    540: </element>
                    541: </correct>
                    542: <valid>
                    543: <foo/>
                    544: </valid>
                    545: </testCase>
                    546: <testCase>
                    547: <section>3</section>
                    548: <documentation>No checking of ns attribute is performed</documentation>
                    549: <correct>
                    550: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0" ns="DAV:">
                    551:   <empty/>
                    552: </element>
                    553: </correct>
                    554: <valid>
                    555: <foo xmlns="DAV:"/>
                    556: </valid>
                    557: </testCase>
                    558: <testCase>
                    559: <section>3</section>
                    560: <documentation>No checking of ns attribute is performed</documentation>
                    561: <correct>
                    562: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0" ns="xyzzy">
                    563:   <empty/>
                    564: </element>
                    565: </correct>
                    566: </testCase>
                    567: <testCase>
                    568: <section>3</section>
                    569: <documentation>No checking of ns attribute is performed</documentation>
                    570: <correct>
                    571: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0" ns="bad_scheme://">
                    572:   <empty/>
                    573: </element>
                    574: </correct>
                    575: </testCase>
                    576: </testSuite>
                    577: <testSuite>
                    578: <documentation>Checking of datatypeLibrary attribute</documentation>
                    579: <testCase>
                    580: <section>3</section>
                    581: <documentation>Value of datatypeLibrary attribute must conform to RFC 2396</documentation>
                    582: <incorrect>
                    583: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="foo_bar:xyzzy">
                    584:   <empty/>
                    585: </element>
                    586: </incorrect>
                    587: </testCase>
                    588: <testCase>
                    589: <section>3</section>
                    590: <documentation>Value of datatypeLibrary attribute must conform to RFC 2396</documentation>
                    591: <correct>
                    592: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="foobar:xyzzy">
                    593:   <empty/>
                    594: </element>
                    595: </correct>
                    596: <valid>
                    597: <foo/>
                    598: </valid>
                    599: </testCase>
                    600: <testCase>
                    601: <section>3</section>
                    602: <documentation>Value of datatypeLibrary attribute must conform to RFC 2396</documentation>
                    603: <correct>
                    604: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http:ok">
                    605:   <empty/>
                    606: </element>
                    607: </correct>
                    608: <valid>
                    609: <foo/>
                    610: </valid>
                    611: </testCase>
                    612: <testCase>
                    613: <section>3</section>
                    614: <documentation>Value of datatypeLibrary attribute must conform to RFC 2396</documentation>
                    615: <incorrect>
                    616: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="foo:">
                    617:   <empty/>
                    618: </element>
                    619: </incorrect>
                    620: </testCase>
                    621: <testCase>
                    622: <section>3</section>
                    623: <documentation>Value of datatypeLibrary attribute must conform to RFC 2396</documentation>
                    624: <incorrect>
                    625: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.example.com/%">
                    626:   <empty/>
                    627: </element>
                    628: </incorrect>
                    629: </testCase>
                    630: <testCase>
                    631: <section>3</section>
                    632: <documentation>Value of datatypeLibrary attribute must conform to RFC 2396</documentation>
                    633: <incorrect>
                    634: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.example.com/%xx">
                    635:   <empty/>
                    636: </element>
                    637: </incorrect>
                    638: </testCase>
                    639: <testCase>
                    640: <section>3</section>
                    641: <documentation>Value of datatypeLibrary attribute must conform to RFC 2396</documentation>
                    642: <correct>
                    643: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.example.com/%Aa">
                    644:   <empty/>
                    645: </element>
                    646: </correct>
                    647: <valid>
                    648: <foo/>
                    649: </valid>
                    650: </testCase>
                    651: <testCase>
                    652: <section>3</section>
                    653: <documentation>Value of datatypeLibrary attribute must not be relative</documentation>
                    654: <incorrect>
                    655: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="xyzzy">
                    656:   <empty/>
                    657: </element>
                    658: </incorrect>
                    659: </testCase>
                    660: <testCase>
                    661: <section>3</section>
                    662: <documentation>Value of datatypeLibrary attribute must not be relative</documentation>
                    663: <incorrect>
                    664: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="xyzzy#foo:bar">
                    665:   <empty/>
                    666: </element>
                    667: </incorrect>
                    668: </testCase>
                    669: <testCase>
                    670: <section>3</section>
                    671: <documentation>Value of datatypeLibrary attribute must not be relative</documentation>
                    672: <incorrect>
                    673: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="xyzzy?foo:bar">
                    674:   <empty/>
                    675: </element>
                    676: </incorrect>
                    677: </testCase>
                    678: <testCase>
                    679: <section>3</section>
                    680: <documentation>Value of datatypeLibrary attribute must not be relative</documentation>
                    681: <incorrect>
                    682: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="xyzzy/foo:bar">
                    683:   <empty/>
                    684: </element>
                    685: </incorrect>
                    686: </testCase>
                    687: <testCase>
                    688: <section>3</section>
                    689: <correct>
                    690: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="foo:bar">
                    691:   <empty/>
                    692: </element>
                    693: </correct>
                    694: <valid>
                    695: <foo/>
                    696: </valid>
                    697: </testCase>
                    698: <testCase>
                    699: <section>3</section>
                    700: <correct>
                    701: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="">
                    702:   <empty/>
                    703: </element>
                    704: </correct>
                    705: <valid>
                    706: <foo/>
                    707: </valid>
                    708: </testCase>
                    709: <testCase>
                    710: <section>3</section>
                    711: <correct>
                    712: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
                    713:   <data datatypeLibrary="" type="string"/>
                    714: </element>
                    715: </correct>
                    716: <valid>
                    717: <foo>x</foo>
                    718: </valid>
                    719: </testCase>
                    720: <testCase>
                    721: <section>3</section>
                    722: <documentation>Value of datatypeLibrary attribute must not contain fragment identifier</documentation>
                    723: <incorrect>
                    724: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0"
                    725:           datatypeLibrary="http://www.example.com#xyzzy">
                    726:   <empty/>
                    727: </element>
                    728: </incorrect>
                    729: </testCase>
                    730: <testCase>
                    731: <section>3</section>
                    732: <documentation>Value of datatypeLibrary attribute must not contain fragment identifier</documentation>
                    733: <incorrect>
                    734: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0"
                    735:           datatypeLibrary="http://www.example.com#">
                    736:   <empty/>
                    737: </element>
                    738: </incorrect>
                    739: </testCase>
                    740: </testSuite>
                    741: <testSuite>
                    742: <documentation>Tests for QName and NCNames in schemas</documentation>
                    743: <testCase>
                    744: <section>3</section>
                    745: <correct>
                    746: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
                    747:   <element name="&#xE14;&#xE35;">
                    748:     <empty/>
                    749:   </element>
                    750: </element>
                    751: </correct>
                    752: <valid>
                    753: <foo>&dii;</foo>
                    754: </valid>
                    755: </testCase>
                    756: <testCase>
                    757: <section>3</section>
                    758: <incorrect>
                    759: <element name="&#xE35;" xmlns="http://relaxng.org/ns/structure/1.0">
                    760:   <empty/>
                    761: </element>
                    762: </incorrect>
                    763: </testCase>
                    764: <testCase>
                    765: <section>3</section>
                    766: <incorrect>
                    767: <element name="" xmlns="http://relaxng.org/ns/structure/1.0">
                    768:   <empty/>
                    769: </element>
                    770: </incorrect>
                    771: </testCase>
                    772: <testCase>
                    773: <section>3</section>
                    774: <incorrect>
                    775: <element xmlns="http://relaxng.org/ns/structure/1.0">
                    776:   <name>&#xE35;</name>
                    777:   <empty/>
                    778: </element>
                    779: </incorrect>
                    780: </testCase>
                    781: <testCase>
                    782: <section>3</section>
                    783: <incorrect>
                    784: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
                    785:   <attribute name="&#xE35;"/>
                    786:   <empty/>
                    787: </element>
                    788: </incorrect>
                    789: </testCase>
                    790: <testCase>
                    791: <section>3</section>
                    792: <incorrect>
                    793: <grammar xmlns="http://relaxng.org/ns/structure/1.0">
                    794:   <start>
                    795:     <ref name="&#xE35;"/>
                    796:   </start>
                    797:   <define name="&#xE35;">
                    798:     <element name="foo">
                    799:       <empty/>
                    800:     </element>
                    801:   </define>
                    802: </grammar>
                    803: </incorrect>
                    804: </testCase>
                    805: <testCase>
                    806: <section>3</section>
                    807: <correct>
                    808: <grammar xmlns="http://relaxng.org/ns/structure/1.0">
                    809:   <start>
                    810:     <ref name="&#xE14;&#xE35;"/>
                    811:   </start>
                    812:   <define name="&#xE14;&#xE35;">
                    813:     <element name="foo">
                    814:       <empty/>
                    815:     </element>
                    816:   </define>
                    817: </grammar>
                    818: </correct>
                    819: <valid>
                    820: <foo/>
                    821: </valid>
                    822: </testCase>
                    823: <testCase>
                    824: <section>3</section>
                    825: <incorrect>
                    826: <grammar xmlns="http://relaxng.org/ns/structure/1.0">
                    827:   <start>
                    828:     <ref name=""/>
                    829:   </start>
                    830:   <define name="">
                    831:     <element name="foo">
                    832:       <empty/>
                    833:     </element>
                    834:   </define>
                    835: </grammar>
                    836: </incorrect>
                    837: </testCase>
                    838: <testCase>
                    839: <section>3</section>
                    840: <incorrect>
                    841: <grammar xmlns="http://relaxng.org/ns/structure/1.0">
                    842:   <start>
                    843:     <ref name="x y"/>
                    844:   </start>
                    845:   <define name="x y">
                    846:     <element name="foo">
                    847:       <empty/>
                    848:     </element>
                    849:   </define>
                    850: </grammar>
                    851: </incorrect>
                    852: </testCase>
                    853: <testCase>
                    854: <section>3</section>
                    855: <incorrect>
                    856: <grammar xmlns="http://relaxng.org/ns/structure/1.0"
                    857:          xmlns:x="http://www.example.com/x">
                    858:   <start>
                    859:     <ref name="x:y"/>
                    860:   </start>
                    861:   <define name="x:y">
                    862:     <element name="foo">
                    863:       <empty/>
                    864:     </element>
                    865:   </define>
                    866: </grammar>
                    867: </incorrect>
                    868: </testCase>
                    869: <testCase>
                    870: <section>3</section>
                    871: <incorrect>
                    872: <element xmlns="http://relaxng.org/ns/structure/1.0"
                    873:          xmlns:x="http://www.example.com/x"
                    874:          name="x:&#xE35;">
                    875:   <empty/>
                    876: </element>
                    877: </incorrect>
                    878: </testCase>
                    879: <testCase>
                    880: <section>3</section>
                    881: <incorrect>
                    882: <element xmlns="http://relaxng.org/ns/structure/1.0"
                    883:          xmlns:x="http://www.example.com/x"
                    884:          name="x:y:z">
                    885:   <empty/>
                    886: </element>
                    887: </incorrect>
                    888: </testCase>
                    889: <testCase>
                    890: <section>3</section>
                    891: <incorrect>
                    892: <element xmlns="http://relaxng.org/ns/structure/1.0"
                    893:          xmlns:x="http://www.example.com/x"
                    894:          name="x:">
                    895:   <empty/>
                    896: </element>
                    897: </incorrect>
                    898: </testCase>
                    899: </testSuite>
                    900: <testSuite>
                    901: <documentation>Tests for elements that allow only a single pattern child.</documentation>
                    902: <testCase>
                    903: <section>3</section>
                    904: <incorrect>
                    905: <grammar xmlns="http://relaxng.org/ns/structure/1.0">
                    906:   <start>
                    907:     <element name="foo">
                    908:       <empty/>
                    909:     </element>
                    910:     <empty/>
                    911:   </start>
                    912: </grammar>
                    913: </incorrect>
                    914: </testCase>
                    915: <testCase>
                    916: <section>3</section>
                    917: <incorrect>
                    918: <element xmlns="http://relaxng.org/ns/structure/1.0" name="foo">
                    919:   <attribute name="bar">
                    920:     <text/>
                    921:     <empty/>
                    922:   </attribute>
                    923: </element>
                    924: </incorrect>
                    925: </testCase>
                    926: <testCase>
                    927: <section>3</section>
                    928: <incorrect>
                    929: <element xmlns="http://relaxng.org/ns/structure/1.0" name="foo">
                    930:   <attribute>
                    931:     <name>bar</name>
                    932:     <text/>
                    933:     <empty/>
                    934:   </attribute>
                    935: </element>
                    936: </incorrect>
                    937: </testCase>
                    938: </testSuite>
                    939: <testSuite>
                    940: <documentation>Tests for foreign element and attribute handling.</documentation>
                    941: <testCase>
                    942: <section>3</section>
                    943: <incorrect>
                    944: <r:element name="foo" xmlns:r="http://relaxng.org/ns/structure/1.0" r:a="val">
                    945:   <r:empty/>
                    946: </r:element>
                    947: </incorrect>
                    948: </testCase>
                    949: <testCase>
                    950: <section>3</section>
                    951: <incorrect>
                    952: <element xmlns="http://relaxng.org/ns/structure/1.0">
                    953:   <name>foo<eg:comment xmlns:eg="http://www.example.com"/></name>
                    954:   <empty/>
                    955: </element>
                    956: </incorrect>
                    957: </testCase>
                    958: <testCase>
                    959: <section>3</section>
                    960: <incorrect>
                    961: <element xmlns="http://relaxng.org/ns/structure/1.0" name="foo">
                    962:   <value>foo<eg:comment xmlns:eg="http://www.example.com"/></value>
                    963: </element>
                    964: </incorrect>
                    965: </testCase>
                    966: <testCase>
                    967: <section>3</section>
                    968: <correct>
                    969: <element xmlns="http://relaxng.org/ns/structure/1.0" name="foo">
                    970:   <data type="string"><eg:comment xmlns:eg="http://www.example.com"/></data>
                    971: </element>
                    972: </correct>
                    973: <valid>
                    974: <foo>X</foo>
                    975: </valid>
                    976: </testCase>
                    977: <testCase>
                    978: <section>3</section>
                    979: <correct>
                    980: <element xmlns="http://relaxng.org/ns/structure/1.0" name="foo">
                    981:   <empty>
                    982:     <ext xmlns="http://www.example.com">
                    983:       <element xmlns="http://relaxng.org/ns/structure/1.0"/>
                    984:     </ext>
                    985:   </empty>
                    986: </element>
                    987: </correct>
                    988: <valid>
                    989: <foo/>
                    990: </valid>
                    991: </testCase>
                    992: <testCase>
                    993: <section>3</section>
                    994: <correct>
                    995: <grammar xmlns="http://relaxng.org/ns/structure/1.0" xmlns:eg="http://www.example.com">
                    996:   <eg:comment/>
                    997:   <eg:comment/>
                    998:   <start>
                    999:     <eg:comment/>
                   1000:     <element>
                   1001:       <eg:comment/>
                   1002:       <eg:comment/>
                   1003:       <name>foo</name>
                   1004:       <eg:comment/>
                   1005:       <data type="string"/>
                   1006:       <eg:comment/>
                   1007:       <empty>
                   1008:         <eg:comment/>
                   1009:         <eg:comment/>
                   1010:       </empty>
                   1011:       <eg:comment/>
                   1012:       <eg:comment/>
                   1013:     </element>
                   1014:     <eg:comment/>
                   1015:   </start>
                   1016:   <eg:comment/>
                   1017: </grammar>
                   1018: </correct>
                   1019: <valid>
                   1020: <foo>X</foo>
                   1021: </valid>
                   1022: </testCase>
                   1023: <testCase>
                   1024: <section>3</section>
                   1025: <correct>
                   1026: <grammar xmlns="http://relaxng.org/ns/structure/1.0"  xmlns:eg="http://www.example.com"
                   1027:   eg:comment="">
                   1028:   <start eg:comment="">
                   1029:     <element eg:comment="">
                   1030:       <name eg:comment="">foo</name>
                   1031:       <data eg:comment="" type="string"/>
                   1032:       <empty eg:comment=""/>
                   1033:     </element>
                   1034:   </start>
                   1035: </grammar>
                   1036: </correct>
                   1037: <valid>
                   1038: <foo>X</foo>
                   1039: </valid>
                   1040: </testCase>
                   1041: <testCase>
                   1042: <section>3</section>
                   1043: <correct>
                   1044: <rng:grammar xmlns:rng="http://relaxng.org/ns/structure/1.0" xmlns="http://www.example.com">
                   1045:   <comment/>
                   1046:   <comment/>
                   1047:   <rng:start>
                   1048:     <comment/>
                   1049:     <rng:element>
                   1050:       <comment/>
                   1051:       <comment/>
                   1052:       <rng:name>foo</rng:name>
                   1053:       <comment/>
                   1054:       <rng:data type="string"/>
                   1055:       <comment/>
                   1056:     </rng:element>
                   1057:     <comment/>
                   1058:   </rng:start>
                   1059:   <comment/>
                   1060: </rng:grammar>
                   1061: </correct>
                   1062: <valid>
                   1063: <foo>X</foo>
                   1064: </valid>
                   1065: </testCase>
                   1066: <testCase>
                   1067: <section>3</section>
                   1068: <correct>
                   1069: <rng:grammar xmlns:rng="http://relaxng.org/ns/structure/1.0">
                   1070:   <comment/>
                   1071:   <comment/>
                   1072:   <rng:start>
                   1073:     <comment/>
                   1074:     <rng:element>
                   1075:       <comment/>
                   1076:       <comment/>
                   1077:       <rng:name>foo</rng:name>
                   1078:       <comment/>
                   1079:       <rng:data type="string"/>
                   1080:       <comment/>
                   1081:     </rng:element>
                   1082:     <comment/>
                   1083:   </rng:start>
                   1084:   <comment/>
                   1085: </rng:grammar>
                   1086: </correct>
                   1087: <valid>
                   1088: <foo>X</foo>
                   1089: </valid>
                   1090: </testCase>
                   1091: </testSuite>
                   1092: </testSuite>
                   1093: <testSuite>
                   1094: <section>4</section>
                   1095: <testSuite>
                   1096: <section>4.2</section>
                   1097: <testCase>
                   1098: <section>4.2</section>
                   1099: <correct>
                   1100: <element name="&#xA;&#xD;&#x20;&#x9;foo&#xA;&#xD;&#x20;&#x9;" xmlns="http://relaxng.org/ns/structure/1.0">
                   1101:   <attribute name="&#xA;&#xD;&#x20;&#x9;bar&#xA;&#xD;&#x20;&#x9;"/>
                   1102: </element>
                   1103: </correct>
                   1104: <valid>
                   1105: <foo bar=""/>
                   1106: </valid>
                   1107: </testCase>
                   1108: <testCase>
                   1109: <section>4.2</section>
                   1110: <correct>
                   1111: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
                   1112:   <value type="&#xA;&#xD;&#x20;&#x9;string&#xA;&#xD;&#x20;&#x9;">bar</value>
                   1113: </element>
                   1114: </correct>
                   1115: <valid>
                   1116: <foo>bar</foo>
                   1117: </valid>
                   1118: <invalid>
                   1119: <foo>bar </foo>
                   1120: </invalid>
                   1121: </testCase>
                   1122: <testCase>
                   1123: <section>4.2</section>
                   1124: <correct>
                   1125: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
                   1126:   <data type="&#xA;&#xD;&#x20;&#x9;string&#xA;&#xD;&#x20;&#x9;"/>
                   1127: </element>
                   1128: </correct>
                   1129: <valid>
                   1130: <foo>X</foo>
                   1131: </valid>
                   1132: </testCase>
                   1133: <testCase>
                   1134: <section>4.2</section>
                   1135: <correct>
                   1136: <element xmlns="http://relaxng.org/ns/structure/1.0">
                   1137:   <name>&#xA;&#xD;&#x20;&#x9;foo&#xA;&#xD;&#x20;&#x9;</name>
                   1138:   <attribute><name>&#xA;&#xD;&#x20;&#x9;bar&#xA;&#xD;&#x20;&#x9;</name></attribute>
                   1139: </element>
                   1140: </correct>
                   1141: <valid>
                   1142: <foo bar=""/>
                   1143: </valid>
                   1144: </testCase>
                   1145: <testCase>
                   1146: <section>4.2</section>
                   1147: <correct>
                   1148: <grammar xmlns="http://relaxng.org/ns/structure/1.0">
                   1149:   <start combine="&#xA;&#xD;&#x20;&#x9;choice&#xA;&#xD;&#x20;&#x9;">
                   1150:     <ref name="&#xA;&#xD;&#x20;&#x9;x&#xA;&#xD;&#x20;&#x9;"/>
                   1151:   </start>
                   1152:   <define name="x">
                   1153:     <ref name="y"/>
                   1154:   </define>
                   1155:   <define name="&#xA;&#xD;&#x20;&#x9;y&#xA;&#xD;&#x20;&#x9;">
                   1156:     <grammar>
                   1157:       <start combine="&#xA;&#xD;&#x20;&#x9;interleave&#xA;&#xD;&#x20;&#x9;">
                   1158:         <parentRef name="&#xA;&#xD;&#x20;&#x9;z&#xA;&#xD;&#x20;&#x9;"/>
                   1159:       </start>
                   1160:     </grammar>
                   1161:   </define>
                   1162:   <define name="z">
                   1163:     <element name="foo">
                   1164:       <empty/>
                   1165:     </element>
                   1166:   </define>
                   1167: </grammar>
                   1168: </correct>
                   1169: <valid>
                   1170: <foo/>
                   1171: </valid>
                   1172: </testCase>
                   1173: </testSuite>
                   1174: <testCase>
                   1175: <section>4.4</section>
                   1176: <correct>
                   1177: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
                   1178:   <value datatypeLibrary="http://www.example.com/this-does-not-exist">bar</value>
                   1179: </element>
                   1180: </correct>
                   1181: <valid>
                   1182: <foo>bar</foo>
                   1183: </valid>
                   1184: <valid>
                   1185: <foo>
                   1186:        bar
                   1187: </foo>
                   1188: </valid>
                   1189: <valid>
                   1190: <foo> bar </foo>
                   1191: </valid>
                   1192: <invalid>
                   1193: <foo>baz</foo>
                   1194: </invalid>
                   1195: <invalid>
                   1196: <foo>ba r</foo>
                   1197: </invalid>
                   1198: </testCase>
                   1199: <testSuite>
                   1200: <section>4.5</section>
                   1201: <testCase>
                   1202: <section>4.5</section>
                   1203: <dir name="sub">
                   1204: <resource name="x">
                   1205: <element xmlns="http://relaxng.org/ns/structure/1.0" name="foo">
                   1206:   <empty/>
                   1207: </element>
                   1208: </resource>
                   1209: </dir>
                   1210: <correct>
                   1211: <externalRef xmlns="http://relaxng.org/ns/structure/1.0"
                   1212:              xml:base="sub/y" href="x"/>
                   1213: </correct>
                   1214: <valid>
                   1215: <foo/>
                   1216: </valid>
                   1217: <invalid>
                   1218: <bar/>
                   1219: </invalid>
                   1220: </testCase>
                   1221: <testCase>
                   1222: <section>4.5</section>
                   1223: <resource name="x">
                   1224: <element xmlns="http://relaxng.org/ns/structure/1.0" name="bar">
                   1225:   <empty/>
                   1226: </element>
                   1227: </resource>
                   1228: <dir name="sub1">
                   1229: <resource name="x">
                   1230: <element xmlns="http://relaxng.org/ns/structure/1.0" name="bar">
                   1231:   <empty/>
                   1232: </element>
                   1233: </resource>
                   1234: <dir name="sub3">
                   1235: <resource name="x">
                   1236: <element xmlns="http://relaxng.org/ns/structure/1.0" name="foo">
                   1237:   <empty/>
                   1238: </element>
                   1239: </resource>
                   1240: </dir>
                   1241: </dir>
                   1242: <correct>
                   1243: <group xmlns="http://relaxng.org/ns/structure/1.0" xml:base="sub1/">
                   1244:   <group>
                   1245:     <group xml:base="sub2">
                   1246:       <group>
                   1247:          <group xml:base="sub3/y">
                   1248:            <externalRef href="x"/>
                   1249:          </group>
                   1250:       </group>
                   1251:     </group>
                   1252:   </group>
                   1253: </group>
                   1254: </correct>
                   1255: <valid>
                   1256: <foo/>
                   1257: </valid>
                   1258: <invalid>
                   1259: <bar/>
                   1260: </invalid>
                   1261: </testCase>
                   1262: <testCase>
                   1263: <section>4.5</section>
                   1264: <resource name="x">
                   1265: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
                   1266:   <empty/>
                   1267: </element>
                   1268: </resource>
                   1269: <incorrect>
                   1270: <externalRef xmlns="http://relaxng.org/ns/structure/1.0" href="x#foo"/>
                   1271: </incorrect>
                   1272: </testCase>
                   1273: </testSuite>
                   1274: <testSuite>
                   1275: <section>4.6</section>
                   1276: <testCase>
                   1277: <section>4.6</section>
                   1278: <resource name="x">
                   1279: <element xmlns="http://relaxng.org/ns/structure/1.0" name="foo">
                   1280:   <empty/>
                   1281: </element>
                   1282: </resource>
                   1283: <correct>
                   1284: <externalRef xmlns="http://relaxng.org/ns/structure/1.0" href="x"/>
                   1285: </correct>
                   1286: <valid>
                   1287: <foo/>
                   1288: </valid>
                   1289: <invalid>
                   1290: <bar/>
                   1291: </invalid>
                   1292: </testCase>
                   1293: <testCase>
                   1294: <section>4.6</section>
                   1295: <resource name="x">
                   1296: <element xmlns="http://relaxng.org/ns/structure/1.0" name="foo">
                   1297:   <empty/>
                   1298: </element>
                   1299: </resource>
                   1300: <correct>
                   1301: <externalRef xmlns="http://relaxng.org/ns/structure/1.0" href="x" ns="http://www.example.com"/>
                   1302: </correct>
                   1303: <valid>
                   1304: <foo xmlns="http://www.example.com"/>
                   1305: </valid>
                   1306: <invalid>
                   1307: <foo/>
                   1308: </invalid>
                   1309: </testCase>
                   1310: <testCase>
                   1311: <section>4.6</section>
                   1312: <resource name="x">
                   1313: <externalRef xmlns="http://relaxng.org/ns/structure/1.0" href="x"/>
                   1314: </resource>
                   1315: <incorrect>
                   1316: <externalRef xmlns="http://relaxng.org/ns/structure/1.0" href="x"/>
                   1317: </incorrect>
                   1318: </testCase>
                   1319: <testCase>
                   1320: <section>4.6</section>
                   1321: <resource name="x">
                   1322: <start xmlns="http://relaxng.org/ns/structure/1.0">
                   1323:   <element name="foo">
                   1324:     <empty/>
                   1325:   </element>
                   1326: </start>
                   1327: </resource>
                   1328: <incorrect>
                   1329: <externalRef xmlns="http://relaxng.org/ns/structure/1.0" href="x"/>
                   1330: </incorrect>
                   1331: </testCase>
                   1332: <testCase>
                   1333: <section>4.6</section>
                   1334: <resource name="x">
                   1335: <externalRef xmlns="http://relaxng.org/ns/structure/1.0" href="y"/>
                   1336: </resource>
                   1337: <resource name="y">
                   1338: <externalRef xmlns="http://relaxng.org/ns/structure/1.0" href="x"/>
                   1339: </resource>
                   1340: <incorrect>
                   1341: <externalRef xmlns="http://relaxng.org/ns/structure/1.0" href="x"/>
                   1342: </incorrect>
                   1343: </testCase>
                   1344: <testCase>
                   1345: <section>4.6</section>
                   1346: <documentation>Same value of href before resolution, but not a loop.</documentation>
                   1347: <dir name="sub">
                   1348: <resource name="x">
                   1349: <externalRef xmlns="http://relaxng.org/ns/structure/1.0" href="sub/x"/>
                   1350: </resource>
                   1351: <dir name="sub">
                   1352: <resource name="x">
                   1353: <element xmlns="http://relaxng.org/ns/structure/1.0" name="foo">
                   1354:   <empty/>
                   1355: </element>
                   1356: </resource>
                   1357: </dir>
                   1358: </dir>
                   1359: <correct>
                   1360: <externalRef xmlns="http://relaxng.org/ns/structure/1.0" href="sub/x"/>
                   1361: </correct>
                   1362: <valid>
                   1363: <foo/>
                   1364: </valid>
                   1365: <invalid>
                   1366: <bar/>
                   1367: </invalid>
                   1368: </testCase>
                   1369: </testSuite>
                   1370: <testSuite>
                   1371: <section>4.7</section>
                   1372: <testCase>
                   1373: <section>4.7</section>
                   1374: <resource name="x">
                   1375: <grammar xmlns="http://relaxng.org/ns/structure/1.0">
                   1376:   <start>
                   1377:     <element name="foo">
                   1378:       <empty/>
                   1379:     </element>
                   1380:   </start>
                   1381: </grammar>
                   1382: </resource>
                   1383: <correct>
                   1384: <grammar xmlns="http://relaxng.org/ns/structure/1.0">
                   1385:   <include href="x"/>
                   1386: </grammar>
                   1387: </correct>
                   1388: <valid>
                   1389: <foo/>
                   1390: </valid>
                   1391: <invalid>
                   1392: <bar/>
                   1393: </invalid>
                   1394: </testCase>
                   1395: <testCase>
                   1396: <section>4.7</section>
                   1397: <resource name="x">
                   1398: <grammar xmlns="http://relaxng.org/ns/structure/1.0">
                   1399:   <start>
                   1400:     <element name="foo">
                   1401:       <empty/>
                   1402:     </element>
                   1403:   </start>
                   1404: </grammar>
                   1405: </resource>
                   1406: <correct>
                   1407: <grammar xmlns="http://relaxng.org/ns/structure/1.0">
                   1408:   <include href="x" ns="http://www.example.com"/>
                   1409: </grammar>
                   1410: </correct>
                   1411: <valid>
                   1412: <foo xmlns="http://www.example.com"/>
                   1413: </valid>
                   1414: <invalid>
                   1415: <foo/>
                   1416: </invalid>
                   1417: </testCase>
                   1418: <testCase>
                   1419: <section>4.7</section>
                   1420: <resource name="x">
                   1421: <grammar xmlns="http://relaxng.org/ns/structure/1.0">
                   1422:   <include href="y"/>
                   1423: </grammar>
                   1424: </resource>
                   1425: <resource name="y">
                   1426: <grammar xmlns="http://relaxng.org/ns/structure/1.0">
                   1427:   <start>
                   1428:     <element name="foo">
                   1429:       <empty/>
                   1430:     </element>
                   1431:   </start>
                   1432: </grammar>
                   1433: </resource>
                   1434: <correct>
                   1435: <grammar xmlns="http://relaxng.org/ns/structure/1.0">
                   1436:   <include href="x"/>
                   1437: </grammar>
                   1438: </correct>
                   1439: <valid>
                   1440: <foo/>
                   1441: </valid>
                   1442: <invalid>
                   1443: <bar/>
                   1444: </invalid>
                   1445: </testCase>
                   1446: <testCase>
                   1447: <section>4.7</section>
                   1448: <resource name="x">
                   1449: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
                   1450:   <empty/>
                   1451: </element>
                   1452: </resource>
                   1453: <incorrect>
                   1454: <grammar xmlns="http://relaxng.org/ns/structure/1.0">
                   1455:   <include href="x"/>
                   1456: </grammar>
                   1457: </incorrect>
                   1458: </testCase>
                   1459: <testCase>
                   1460: <section>4.7</section>
                   1461: <resource name="x">
                   1462: <grammar xmlns="http://relaxng.org/ns/structure/1.0">
                   1463:   <include href="x"/>
                   1464: </grammar>
                   1465: </resource>
                   1466: <incorrect>
                   1467: <grammar xmlns="http://relaxng.org/ns/structure/1.0">
                   1468:   <include href="x"/>
                   1469: </grammar>
                   1470: </incorrect>
                   1471: </testCase>
                   1472: <testCase>
                   1473: <section>4.7</section>
                   1474: <resource name="x">
                   1475: <grammar xmlns="http://relaxng.org/ns/structure/1.0">
                   1476:   <include href="y"/>
                   1477: </grammar>
                   1478: </resource>
                   1479: <resource name="y">
                   1480: <grammar xmlns="http://relaxng.org/ns/structure/1.0">
                   1481:   <include href="x"/>
                   1482: </grammar>
                   1483: </resource>
                   1484: <incorrect>
                   1485: <grammar xmlns="http://relaxng.org/ns/structure/1.0">
                   1486:   <include href="x"/>
                   1487: </grammar>
                   1488: </incorrect>
                   1489: </testCase>
                   1490: <testCase>
                   1491: <section>4.7</section>
                   1492: <dir name="sub">
                   1493: <resource name="x">
                   1494: <grammar xmlns="http://relaxng.org/ns/structure/1.0">
                   1495:   <include href="sub/x"/>
                   1496: </grammar>
                   1497: </resource>
                   1498: <dir name="sub">
                   1499: <resource name="x">
                   1500: <grammar xmlns="http://relaxng.org/ns/structure/1.0">
                   1501:   <start>
                   1502:     <element name="foo">
                   1503:       <empty/>
                   1504:     </element>
                   1505:   </start>
                   1506: </grammar>
                   1507: </resource>
                   1508: </dir>
                   1509: </dir>
                   1510: <correct>
                   1511: <grammar xmlns="http://relaxng.org/ns/structure/1.0">
                   1512:   <include href="sub/x"/>
                   1513: </grammar>
                   1514: </correct>
                   1515: <valid>
                   1516: <foo/>
                   1517: </valid>
                   1518: <invalid>
                   1519: <bar/>
                   1520: </invalid>
                   1521: </testCase>
                   1522: <testCase>
                   1523: <section>4.7</section>
                   1524: <resource name="x">
                   1525: <grammar xmlns="http://relaxng.org/ns/structure/1.0">
                   1526:   <define name="foo">
                   1527:     <element name="foo">
                   1528:       <empty/>
                   1529:     </element>
                   1530:   </define>
                   1531: </grammar>
                   1532: </resource>
                   1533: <incorrect>
                   1534: <grammar xmlns="http://relaxng.org/ns/structure/1.0">
                   1535:   <include href="x">
                   1536:     <start>
                   1537:       <ref name="foo"/>
                   1538:     </start>
                   1539:   </include>
                   1540: </grammar>
                   1541: </incorrect>
                   1542: </testCase>
                   1543: <testCase>
                   1544: <section>4.7</section>
                   1545: <resource name="x">
                   1546: <grammar xmlns="http://relaxng.org/ns/structure/1.0">
                   1547:   <define name="foo">
                   1548:     <element name="foo">
                   1549:       <empty/>
                   1550:     </element>
                   1551:   </define>
                   1552: </grammar>
                   1553: </resource>
                   1554: <correct>
                   1555: <grammar xmlns="http://relaxng.org/ns/structure/1.0">
                   1556:   <include href="x"/>
                   1557:   <start>
                   1558:     <ref name="foo"/>
                   1559:   </start>
                   1560: </grammar>
                   1561: </correct>
                   1562: <valid><foo/></valid>
                   1563: <invalid><bar/></invalid>
                   1564: </testCase>
                   1565: <testCase>
                   1566: <section>4.7</section>
                   1567: <resource name="x">
                   1568: <grammar xmlns="http://relaxng.org/ns/structure/1.0">
                   1569:   <start>
                   1570:     <ref name="foo"/>
                   1571:   </start>
                   1572: </grammar>
                   1573: </resource>
                   1574: <incorrect>
                   1575: <grammar xmlns="http://relaxng.org/ns/structure/1.0">
                   1576:   <include href="x">
                   1577:     <define name="foo">
                   1578:       <element name="foo">
                   1579:         <empty/>
                   1580:       </element>
                   1581:     </define>
                   1582:   </include>
                   1583: </grammar>
                   1584: </incorrect>
                   1585: </testCase>
                   1586: <testCase>
                   1587: <section>4.7</section>
                   1588: <resource name="x">
                   1589: <grammar xmlns="http://relaxng.org/ns/structure/1.0">
                   1590:   <start>
                   1591:     <ref name="foo"/>
                   1592:   </start>
                   1593: </grammar>
                   1594: </resource>
                   1595: <correct>
                   1596: <grammar xmlns="http://relaxng.org/ns/structure/1.0">
                   1597:   <include href="x"/>
                   1598:   <define name="foo">
                   1599:     <element name="foo">
                   1600:       <empty/>
                   1601:     </element>
                   1602:   </define>
                   1603: </grammar>
                   1604: </correct>
                   1605: <valid><foo/></valid>
                   1606: <invalid><bar/></invalid>
                   1607: </testCase>
                   1608: <testCase>
                   1609: <section>4.7</section>
                   1610: <resource name="x">
                   1611: <grammar xmlns="http://relaxng.org/ns/structure/1.0">
                   1612:   <define name="foo" combine="choice">
                   1613:     <element name="foo3">
                   1614:       <empty/>
                   1615:     </element>
                   1616:   </define>
                   1617: </grammar>
                   1618: </resource>
                   1619: <correct>
                   1620: <grammar xmlns="http://relaxng.org/ns/structure/1.0">
                   1621:   <start>
                   1622:     <ref name="foo"/>
                   1623:   </start>
                   1624:   <include href="x">
                   1625:     <define name="foo" combine="choice">
                   1626:       <element name="foo1">
                   1627:        <empty/>
                   1628:       </element>
                   1629:     </define>
                   1630:   </include>
                   1631:   <define name="foo">
                   1632:     <element name="foo2">
                   1633:       <empty/>
                   1634:     </element>
                   1635:   </define>
                   1636: </grammar>
                   1637: </correct>
                   1638: <valid><foo1/></valid>
                   1639: <valid><foo2/></valid>
                   1640: <invalid><foo3/></invalid>
                   1641: </testCase>
                   1642: <testCase>
                   1643: <section>4.7</section>
                   1644: <resource name="level1.rng">
                   1645: <grammar xmlns="http://relaxng.org/ns/structure/1.0">
                   1646: <include href="level2.rng">
                   1647:   <define name="foo">
                   1648:     <element name="bar">
                   1649:       <empty/>
                   1650:     </element>
                   1651:   </define>
                   1652: </include>
                   1653: </grammar>
                   1654: </resource>
                   1655: <resource name="level2.rng">
                   1656: <grammar xmlns="http://relaxng.org/ns/structure/1.0">
                   1657:   <define name="bar">
                   1658:     <element name="bar">
                   1659:       <empty/>
                   1660:     </element>
                   1661:   </define>
                   1662: </grammar>
                   1663: </resource>
                   1664: <incorrect>
                   1665: <grammar xmlns="http://relaxng.org/ns/structure/1.0">
                   1666: <start>
                   1667:   <ref name="foo"/>
                   1668: </start>
                   1669: <include href="level1.rng">
                   1670:   <define name="foo">
                   1671:     <element name="foo">
                   1672:       <empty/>
                   1673:     </element>
                   1674:   </define>
                   1675: </include>
                   1676: </grammar>
                   1677: </incorrect>
                   1678: </testCase>
                   1679: </testSuite>
                   1680: <testSuite>
                   1681: <section>4.8</section>
                   1682: <testCase>
                   1683: <section>4.8</section>
                   1684: <correct>
                   1685: <element xmlns="http://relaxng.org/ns/structure/1.0" ns="http://www.example.com" name="foo">
                   1686:   <attribute name="bar" ns="http://www.example.com"/>
                   1687: </element>
                   1688: </correct>
                   1689: <valid>
                   1690: <eg:foo eg:bar="x" xmlns:eg="http://www.example.com"/>
                   1691: </valid>
                   1692: <invalid>
                   1693: <eg:foo xmlns:eg="http://www.example.com" bar="x"/>
                   1694: </invalid>
                   1695: </testCase>
                   1696: <testCase>
                   1697: <section>4.8</section>
                   1698: <correct>
                   1699: <element xmlns="http://relaxng.org/ns/structure/1.0" ns="http://www.example.com" name="foo">
                   1700:   <attribute name="bar"/>
                   1701: </element>
                   1702: </correct>
                   1703: <invalid>
                   1704: <eg:foo xmlns:eg="http://www.example.com" eg:bar="x"/>
                   1705: </invalid>
                   1706: <valid>
                   1707: <eg:foo xmlns:eg="http://www.example.com" bar="x"/>
                   1708: </valid>
                   1709: </testCase>
                   1710: </testSuite>
                   1711: <testSuite>
                   1712: <section>4.9</section>
                   1713: <testCase>
                   1714: <section>4.9</section>
                   1715: <correct>
                   1716: <element xmlns="http://relaxng.org/ns/structure/1.0" ns="http://www.example.com" name="foo">
                   1717:   <attribute>
                   1718:     <name>bar</name>
                   1719:   </attribute>
                   1720: </element>
                   1721: </correct>
                   1722: <valid>
                   1723: <eg:foo xmlns:eg="http://www.example.com" eg:bar="x"/>
                   1724: </valid>
                   1725: <invalid>
                   1726: <eg:foo xmlns:eg="http://www.example.com" bar="x"/>
                   1727: </invalid>
                   1728: </testCase>
                   1729: <testCase>
                   1730: <section>4.6</section>
                   1731: <section>4.9</section>
                   1732: <resource name="x">
                   1733: <element xmlns="http://relaxng.org/ns/structure/1.0" name="foo">
                   1734:   <empty/>
                   1735: </element>
                   1736: </resource>
                   1737: <correct>
                   1738: <group ns="http://www.example.com" xmlns="http://relaxng.org/ns/structure/1.0" >
                   1739: <externalRef href="x"/>
                   1740: </group>
                   1741: </correct>
                   1742: <valid>
                   1743: <foo xmlns="http://www.example.com"/>
                   1744: </valid>
                   1745: <invalid>
                   1746: <foo/>
                   1747: </invalid>
                   1748: </testCase>
                   1749: <testCase>
                   1750: <correct>
                   1751: <group xmlns="http://relaxng.org/ns/structure/1.0">
                   1752:   <element ns="http://www.example.com">
                   1753:     <name>foo</name>
                   1754:     <empty/>
                   1755:   </element>
                   1756: </group>
                   1757: </correct>
                   1758: <valid><foo xmlns="http://www.example.com"/></valid>
                   1759: <invalid><foo/></invalid>
                   1760: </testCase>
                   1761: <testCase>
                   1762: <correct>
                   1763: <element ns="http://www.example.com" xmlns="http://relaxng.org/ns/structure/1.0">
                   1764:   <name>foo</name>
                   1765:   <empty/>
                   1766: </element>
                   1767: </correct>
                   1768: <valid><foo xmlns="http://www.example.com"/></valid>
                   1769: <invalid><foo/></invalid>
                   1770: </testCase>
                   1771: <testCase>
                   1772: <correct>
                   1773: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
                   1774:   <attribute ns="http://www.example.com">
                   1775:     <name>bar</name>
                   1776:     <text/>
                   1777:   </attribute>
                   1778: </element>
                   1779: </correct>
                   1780: <valid><foo xmlns:x="http://www.example.com" x:bar="whatever"/></valid>
                   1781: <invalid><foo bar="whatever"/></invalid>
                   1782: </testCase>
                   1783: </testSuite>
                   1784: <testSuite>
                   1785: <section>4.10</section>
                   1786: <testCase>
                   1787: <section>4.10</section>
                   1788: <incorrect>
                   1789: <element xmlns="http://relaxng.org/ns/structure/1.0" name="foo:bar">
                   1790:   <empty/>
                   1791: </element>
                   1792: </incorrect>
                   1793: </testCase>
                   1794: <testCase>
                   1795: <section>4.10</section>
                   1796: <correct>
                   1797: <element xmlns="http://relaxng.org/ns/structure/1.0" name="eg:foo" xmlns:eg="http://www.example.com">
                   1798:   <empty/>
                   1799: </element>
                   1800: </correct>
                   1801: <valid>
                   1802: <foo xmlns="http://www.example.com"/>
                   1803: </valid>
                   1804: <invalid>
                   1805: <foo xmlns="http://www.example.com/"/>
                   1806: </invalid>
                   1807: </testCase>
                   1808: <testCase>
                   1809: <section>4.10</section>
                   1810: <correct>
                   1811: <element xmlns="http://relaxng.org/ns/structure/1.0" name="foo" xmlns:eg="http://www.example.com">
                   1812:   <attribute name="eg:bar"/>
                   1813: </element>
                   1814: </correct>
                   1815: <valid>
                   1816: <foo xmlns:ex="http://www.example.com" ex:bar="x"/>
                   1817: </valid>
                   1818: <invalid>
                   1819: <foo xmlns:ex="http://www.example.com/" ex:bar="x"/>
                   1820: </invalid>
                   1821: </testCase>
                   1822: <testCase>
                   1823: <section>4.10</section>
                   1824: <correct>
                   1825: <element xmlns="http://relaxng.org/ns/structure/1.0" name="foo">
                   1826:   <attribute name="xml:lang"/>
                   1827: </element>
                   1828: </correct>
                   1829: <valid>
                   1830: <foo xml:lang="en"/>
                   1831: </valid>
                   1832: <invalid>
                   1833: <foo lang="en"/>
                   1834: </invalid>
                   1835: </testCase>
                   1836: </testSuite>
                   1837: <testSuite>
                   1838: <section>4.11</section>
                   1839: <testCase>
                   1840: <section>4.11</section>
                   1841: <correct>
                   1842: <grammar xmlns="http://relaxng.org/ns/structure/1.0">
                   1843:   <div ns="http://www.example.com">
                   1844:     <div>
                   1845:       <start>
                   1846:         <ref name="foo"/>
                   1847:       </start>
                   1848:     </div>
                   1849:     <define name="foo">
                   1850:       <element name="foo">
                   1851:         <empty/>
                   1852:       </element>
                   1853:     </define>
                   1854:   </div>
                   1855:   <div/>
                   1856: </grammar>
                   1857: </correct>
                   1858: <valid>
                   1859: <foo xmlns="http://www.example.com"/>
                   1860: </valid>
                   1861: <invalid>
                   1862: <foo/>
                   1863: </invalid>
                   1864: </testCase>
                   1865: </testSuite>
                   1866: <testSuite>
                   1867: <testCase>
                   1868: <section>4.12</section>
                   1869: <correct>
                   1870: <grammar xmlns="http://relaxng.org/ns/structure/1.0">
                   1871: 
                   1872: <start>
                   1873:   <element name="foo">
                   1874:     <ref name="bars"/>
                   1875:   </element>
                   1876: </start>
                   1877: 
                   1878: <define name="bars">
                   1879:   <element name="bar">
                   1880:     <empty/>
                   1881:   </element>
                   1882:   <element name="bar">
                   1883:     <empty/>
                   1884:   </element>
                   1885:   <element name="bar">
                   1886:     <empty/>
                   1887:   </element>
                   1888: </define>
                   1889: 
                   1890: </grammar>
                   1891: </correct>
                   1892: <valid>
                   1893: <foo><bar/><bar/><bar/></foo>
                   1894: </valid>
                   1895: <invalid>
                   1896: <foo><bar/><bar/><bar/><bar/><bar/><bar/></foo>
                   1897: </invalid>
                   1898: <invalid>
                   1899: <foo><bar/><bar/></foo>
                   1900: </invalid>
                   1901: <invalid>
                   1902: <foo><bar/></foo>
                   1903: </invalid>
                   1904: <invalid>
                   1905: <foo></foo>
                   1906: </invalid>
                   1907: <invalid>
                   1908: <foo>X</foo>
                   1909: </invalid>
                   1910: <invalid>
                   1911: <foo><bar/>X<bar/><bar/></foo>
                   1912: </invalid>
                   1913: <invalid>
                   1914: <foo><bar/><bar/><bar/><bar/></foo>
                   1915: </invalid>
                   1916: </testCase>
                   1917: <testCase>
                   1918: <section>4.12</section>
                   1919: <correct>
                   1920: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
                   1921:   <oneOrMore>
                   1922:     <element name="bar">
                   1923:       <empty/>
                   1924:     </element>
                   1925:     <element name="bar">
                   1926:       <empty/>
                   1927:     </element>
                   1928:     <element name="bar">
                   1929:       <empty/>
                   1930:     </element>
                   1931:   </oneOrMore>
                   1932: </element>
                   1933: </correct>
                   1934: <valid>
                   1935: <foo><bar/><bar/><bar/></foo>
                   1936: </valid>
                   1937: <valid>
                   1938: <foo><bar/><bar/><bar/><bar/><bar/><bar/></foo>
                   1939: </valid>
                   1940: <invalid>
                   1941: <foo><bar/><bar/></foo>
                   1942: </invalid>
                   1943: <invalid>
                   1944: <foo><bar/></foo>
                   1945: </invalid>
                   1946: <invalid>
                   1947: <foo></foo>
                   1948: </invalid>
                   1949: <invalid>
                   1950: <foo>X</foo>
                   1951: </invalid>
                   1952: <invalid>
                   1953: <foo><bar/>X<bar/><bar/></foo>
                   1954: </invalid>
                   1955: <invalid>
                   1956: <foo><bar/><bar/><bar/><bar/></foo>
                   1957: </invalid>
                   1958: </testCase>
                   1959: <testCase>
                   1960: <section>4.12</section>
                   1961: <section>4.15</section>
                   1962: <correct>
                   1963: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
                   1964:   <zeroOrMore>
                   1965:     <element name="bar">
                   1966:       <empty/>
                   1967:     </element>
                   1968:     <element name="bar">
                   1969:       <empty/>
                   1970:     </element>
                   1971:     <element name="bar">
                   1972:       <empty/>
                   1973:     </element>
                   1974:   </zeroOrMore>
                   1975: </element>
                   1976: </correct>
                   1977: <valid>
                   1978: <foo><bar/><bar/><bar/></foo>
                   1979: </valid>
                   1980: <valid>
                   1981: <foo><bar/><bar/><bar/><bar/><bar/><bar/></foo>
                   1982: </valid>
                   1983: <invalid>
                   1984: <foo><bar/><bar/></foo>
                   1985: </invalid>
                   1986: <invalid>
                   1987: <foo><bar/></foo>
                   1988: </invalid>
                   1989: <valid>
                   1990: <foo></foo>
                   1991: </valid>
                   1992: <invalid>
                   1993: <foo>X</foo>
                   1994: </invalid>
                   1995: <invalid>
                   1996: <foo><bar/>X<bar/><bar/></foo>
                   1997: </invalid>
                   1998: <invalid>
                   1999: <foo><bar/><bar/><bar/><bar/></foo>
                   2000: </invalid>
                   2001: </testCase>
                   2002: <testCase>
                   2003: <section>4.12</section>
                   2004: <section>4.14</section>
                   2005: <correct>
                   2006: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
                   2007:   <optional>
                   2008:     <element name="bar">
                   2009:       <empty/>
                   2010:     </element>
                   2011:     <element name="bar">
                   2012:       <empty/>
                   2013:     </element>
                   2014:     <element name="bar">
                   2015:       <empty/>
                   2016:     </element>
                   2017:   </optional>
                   2018: </element>
                   2019: </correct>
                   2020: <valid>
                   2021: <foo><bar/><bar/><bar/></foo>
                   2022: </valid>
                   2023: <invalid>
                   2024: <foo><bar/><bar/><bar/><bar/><bar/><bar/></foo>
                   2025: </invalid>
                   2026: <invalid>
                   2027: <foo><bar/><bar/></foo>
                   2028: </invalid>
                   2029: <invalid>
                   2030: <foo><bar/></foo>
                   2031: </invalid>
                   2032: <valid>
                   2033: <foo></foo>
                   2034: </valid>
                   2035: <invalid>
                   2036: <foo>X</foo>
                   2037: </invalid>
                   2038: <invalid>
                   2039: <foo><bar/>X<bar/><bar/></foo>
                   2040: </invalid>
                   2041: <invalid>
                   2042: <foo><bar/><bar/><bar/><bar/></foo>
                   2043: </invalid>
                   2044: </testCase>
                   2045: <testCase>
                   2046: <section>4.12</section>
                   2047: <correct>
                   2048: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
                   2049:   <list>
                   2050:     <value>x</value>
                   2051:     <value>y</value>
                   2052:     <value>z</value>
                   2053:   </list>
                   2054: </element>
                   2055: </correct>
                   2056: <valid>
                   2057: <foo>x y z</foo>
                   2058: </valid>
                   2059: <invalid>
                   2060: <foo>x</foo>
                   2061: </invalid>
                   2062: </testCase>
                   2063: <testCase>
                   2064: <section>4.12</section>
                   2065: <section>4.13</section>
                   2066: <correct>
                   2067: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
                   2068:   <mixed>
                   2069:     <element name="bar">
                   2070:       <empty/>
                   2071:     </element>
                   2072:     <element name="bar">
                   2073:       <empty/>
                   2074:     </element>
                   2075:     <element name="bar">
                   2076:       <empty/>
                   2077:     </element>
                   2078:   </mixed>
                   2079: </element>
                   2080: </correct>
                   2081: <valid>
                   2082: <foo><bar/><bar/><bar/></foo>
                   2083: </valid>
                   2084: <invalid>
                   2085: <foo><bar/><bar/><bar/><bar/><bar/><bar/></foo>
                   2086: </invalid>
                   2087: <invalid>
                   2088: <foo><bar/><bar/></foo>
                   2089: </invalid>
                   2090: <invalid>
                   2091: <foo><bar/></foo>
                   2092: </invalid>
                   2093: <invalid>
                   2094: <foo></foo>
                   2095: </invalid>
                   2096: <valid>
                   2097: <foo><bar/>X<bar/><bar/></foo>
                   2098: </valid>
                   2099: <invalid>
                   2100: <foo>X</foo>
                   2101: </invalid>
                   2102: <invalid>
                   2103: <foo><bar/><bar/><bar/><bar/></foo>
                   2104: </invalid>
                   2105: </testCase>
                   2106: <testCase>
                   2107: <section>4.12</section>
                   2108: <correct>
                   2109: <element xmlns="http://relaxng.org/ns/structure/1.0">
                   2110:   <name>foo</name>
                   2111:   <element name="bar">
                   2112:     <empty/>
                   2113:   </element>
                   2114:   <element name="bar">
                   2115:     <empty/>
                   2116:   </element>
                   2117:   <element name="bar">
                   2118:     <empty/>
                   2119:   </element>
                   2120: </element>
                   2121: </correct>
                   2122: <valid>
                   2123: <foo><bar/><bar/><bar/></foo>
                   2124: </valid>
                   2125: <invalid>
                   2126: <foo><bar/><bar/><bar/><bar/><bar/><bar/></foo>
                   2127: </invalid>
                   2128: <invalid>
                   2129: <foo><bar/><bar/></foo>
                   2130: </invalid>
                   2131: <invalid>
                   2132: <foo><bar/></foo>
                   2133: </invalid>
                   2134: <invalid>
                   2135: <foo></foo>
                   2136: </invalid>
                   2137: <invalid>
                   2138: <foo>X</foo>
                   2139: </invalid>
                   2140: <invalid>
                   2141: <foo><bar/>X<bar/><bar/></foo>
                   2142: </invalid>
                   2143: <invalid>
                   2144: <foo><bar/><bar/><bar/><bar/></foo>
                   2145: </invalid>
                   2146: </testCase>
                   2147: <testCase>
                   2148: <section>4.12</section>
                   2149: <correct>
                   2150: <element xmlns="http://relaxng.org/ns/structure/1.0">
                   2151:   <anyName>
                   2152:     <except>
                   2153:       <name>foo</name>
                   2154:       <name>bar</name>
                   2155:       <name>baz</name>
                   2156:     </except>
                   2157:   </anyName>
                   2158:   <empty/>
                   2159: </element>
                   2160: </correct>
                   2161: <valid><xyzzy/></valid>
                   2162: <invalid><foo/></invalid>
                   2163: <invalid><bar/></invalid>
                   2164: <invalid><baz/></invalid>
                   2165: </testCase>
                   2166: <testCase>
                   2167: <section>4.12</section>
                   2168: <correct>
                   2169: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
                   2170:   <data type="token">
                   2171:     <except>
                   2172:       <value>x</value>
                   2173:       <value>y</value>
                   2174:       <value>z</value>
                   2175:     </except>
                   2176:   </data>
                   2177: </element>
                   2178: </correct>
                   2179: <valid><foo/></valid>
                   2180: <valid><foo>xyz</foo></valid>
                   2181: <invalid><foo>x</foo></invalid>
                   2182: <invalid><foo>y</foo></invalid>
                   2183: <invalid><foo>y</foo></invalid>
                   2184: </testCase>
                   2185: <testCase>
                   2186: <section>4.12</section>
                   2187: <correct>
                   2188: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
                   2189:   <attribute name="bar"/>
                   2190: </element>
                   2191: </correct>
                   2192: <valid>
                   2193: <foo bar=""/>
                   2194: </valid>
                   2195: <valid>
                   2196: <foo bar="x"/>
                   2197: </valid>
                   2198: <invalid>
                   2199: <foo/>
                   2200: </invalid>
                   2201: </testCase>
                   2202: <testCase>
                   2203: <section>4.12</section>
                   2204: <correct>
                   2205: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
                   2206:   <attribute>
                   2207:     <name>bar</name>
                   2208:   </attribute>
                   2209: </element>
                   2210: </correct>
                   2211: <valid>
                   2212: <foo bar=""/>
                   2213: </valid>
                   2214: <valid>
                   2215: <foo bar="x"/>
                   2216: </valid>
                   2217: <invalid>
                   2218: <foo/>
                   2219: </invalid>
                   2220: </testCase>
                   2221: <testCase>
                   2222: <section>4.12</section>
                   2223: <correct>
                   2224: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
                   2225:   <group>
                   2226:     <element name="bar">
                   2227:       <empty/>
                   2228:     </element>
                   2229:     <element name="bar">
                   2230:       <empty/>
                   2231:     </element>
                   2232:     <element name="bar">
                   2233:       <empty/>
                   2234:     </element>
                   2235:   </group>
                   2236: </element>
                   2237: </correct>
                   2238: <valid>
                   2239: <foo><bar/><bar/><bar/></foo>
                   2240: </valid>
                   2241: <invalid>
                   2242: <foo><bar/><bar/><bar/><bar/><bar/><bar/></foo>
                   2243: </invalid>
                   2244: <invalid>
                   2245: <foo><bar/><bar/></foo>
                   2246: </invalid>
                   2247: <invalid>
                   2248: <foo><bar/></foo>
                   2249: </invalid>
                   2250: <invalid>
                   2251: <foo></foo>
                   2252: </invalid>
                   2253: <invalid>
                   2254: <foo>X</foo>
                   2255: </invalid>
                   2256: <invalid>
                   2257: <foo><bar/>X<bar/><bar/></foo>
                   2258: </invalid>
                   2259: <invalid>
                   2260: <foo><bar/><bar/><bar/><bar/></foo>
                   2261: </invalid>
                   2262: </testCase>
                   2263: <testCase>
                   2264: <section>4.12</section>
                   2265: <correct>
                   2266: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
                   2267:   <choice>
                   2268:     <element name="bar1">
                   2269:       <empty/>
                   2270:     </element>
                   2271:     <element name="bar2">
                   2272:       <empty/>
                   2273:     </element>
                   2274:     <element name="bar3">
                   2275:       <empty/>
                   2276:     </element>
                   2277:   </choice>
                   2278: </element>
                   2279: </correct>
                   2280: <valid><foo><bar1/></foo></valid>
                   2281: <valid><foo><bar2/></foo></valid>
                   2282: <valid><foo><bar3/></foo></valid>
                   2283: <invalid><foo/></invalid>
                   2284: </testCase>
                   2285: <testCase>
                   2286: <section>4.12</section>
                   2287: <correct>
                   2288: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
                   2289:   <interleave>
                   2290:     <element name="bar1">
                   2291:       <empty/>
                   2292:     </element>
                   2293:     <element name="bar2">
                   2294:       <empty/>
                   2295:     </element>
                   2296:     <element name="bar3">
                   2297:       <empty/>
                   2298:     </element>
                   2299:   </interleave>
                   2300: </element>
                   2301: </correct>
                   2302: <valid><foo><bar1/><bar2/><bar3/></foo></valid>
                   2303: <valid><foo><bar1/><bar3/><bar2/></foo></valid>
                   2304: <valid><foo><bar2/><bar1/><bar3/></foo></valid>
                   2305: <valid><foo><bar2/><bar3/><bar1/></foo></valid>
                   2306: <valid><foo><bar3/><bar1/><bar2/></foo></valid>
                   2307: <valid><foo><bar3/><bar2/><bar1/></foo></valid>
                   2308: <invalid><foo><bar2/><bar1/></foo></invalid>
                   2309: <invalid><foo><bar1/><bar3/><bar2/><bar1/></foo></invalid>
                   2310: </testCase>
                   2311: <testCase>
                   2312: <section>4.12</section>
                   2313: <correct>
                   2314: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
                   2315:   <group>
                   2316:     <element name="bar">
                   2317:       <empty/>
                   2318:     </element>
                   2319:   </group>
                   2320: </element>
                   2321: </correct>
                   2322: <valid><foo><bar/></foo></valid>
                   2323: <invalid><foo/></invalid>
                   2324: </testCase>
                   2325: <testCase>
                   2326: <section>4.12</section>
                   2327: <correct>
                   2328: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
                   2329:   <interleave>
                   2330:     <element name="bar">
                   2331:       <empty/>
                   2332:     </element>
                   2333:   </interleave>
                   2334: </element>
                   2335: </correct>
                   2336: <valid><foo><bar/></foo></valid>
                   2337: <invalid><foo/></invalid>
                   2338: </testCase>
                   2339: <testCase>
                   2340: <section>4.12</section>
                   2341: <correct>
                   2342: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
                   2343:   <choice>
                   2344:     <element name="bar">
                   2345:       <empty/>
                   2346:     </element>
                   2347:   </choice>
                   2348: </element>
                   2349: </correct>
                   2350: <valid><foo><bar/></foo></valid>
                   2351: <invalid><foo/></invalid>
                   2352: </testCase>
                   2353: </testSuite>
                   2354: <testSuite>
                   2355: <section>4.13</section>
                   2356: <testCase>
                   2357: <section>4.13</section>
                   2358: <correct>
                   2359: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
                   2360:   <mixed>
                   2361:     <element name="bar">
                   2362:       <empty/>
                   2363:     </element>
                   2364:   </mixed>
                   2365: </element>
                   2366: </correct>
                   2367: <valid><foo>x<bar/></foo></valid>
                   2368: <valid><foo><bar/></foo></valid>
                   2369: <valid><foo><bar/>x</foo></valid>
                   2370: <valid><foo>x<bar/>y</foo></valid>
                   2371: <invalid><foo/></invalid>
                   2372: <invalid><foo><bar/><bar/></foo></invalid>
                   2373: </testCase>
                   2374: </testSuite>
                   2375: <testSuite>
                   2376: <section>4.14</section>
                   2377: <testCase>
                   2378: <section>4.14</section>
                   2379: <correct>
                   2380: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
                   2381:   <optional>
                   2382:     <element name="bar">
                   2383:       <empty/>
                   2384:     </element>
                   2385:   </optional>
                   2386: </element>
                   2387: </correct>
                   2388: <valid><foo><bar/></foo></valid>
                   2389: <valid><foo/></valid>
                   2390: <invalid><foo>x<bar/></foo></invalid>
                   2391: <invalid><foo><bar/><bar/></foo></invalid>
                   2392: </testCase>
                   2393: </testSuite>
                   2394: <testSuite>
                   2395: <section>4.15</section>
                   2396: <testCase>
                   2397: <section>4.15</section>
                   2398: <correct>
                   2399: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
                   2400:   <zeroOrMore>
                   2401:     <element name="bar">
                   2402:       <empty/>
                   2403:     </element>
                   2404:   </zeroOrMore>
                   2405: </element>
                   2406: </correct>
                   2407: <valid><foo><bar/></foo></valid>
                   2408: <valid><foo/></valid>
                   2409: <invalid><foo>x<bar/></foo></invalid>
                   2410: <invalid><foo><baz/></foo></invalid>
                   2411: <valid><foo><bar/><bar/></foo></valid>
                   2412: </testCase>
                   2413: </testSuite>
                   2414: <testSuite>
                   2415: <section>4.16</section>
                   2416: <testCase>
                   2417: <section>4.16</section>
                   2418: <incorrect>
                   2419: <grammar xmlns="http://relaxng.org/ns/structure/1.0">
                   2420: <start>
                   2421:   <element>
                   2422:     <anyName>
                   2423:       <except>
                   2424:         <anyName/>
                   2425:       </except>
                   2426:     </anyName>
                   2427:     <empty/>
                   2428:   </element>
                   2429: </start>
                   2430: </grammar>
                   2431: </incorrect>
                   2432: </testCase>
                   2433: <testCase>
                   2434: <section>4.16</section>
                   2435: <incorrect>
                   2436: <grammar xmlns="http://relaxng.org/ns/structure/1.0">
                   2437: <start>
                   2438:   <element>
                   2439:     <anyName>
                   2440:       <except>
                   2441:         <choice>
                   2442:           <anyName/>
                   2443:           <name>foo</name>
                   2444:         </choice>
                   2445:       </except>
                   2446:     </anyName>
                   2447:     <empty/>
                   2448:   </element>
                   2449: </start>
                   2450: </grammar>
                   2451: </incorrect>
                   2452: </testCase>
                   2453: <testCase>
                   2454: <section>4.16</section>
                   2455: <incorrect>
                   2456: <grammar xmlns="http://relaxng.org/ns/structure/1.0">
                   2457: <start>
                   2458:   <element>
                   2459:     <nsName ns="">
                   2460:       <except>
                   2461:         <nsName ns=""/>
                   2462:       </except>
                   2463:     </nsName>
                   2464:     <empty/>
                   2465:   </element>
                   2466: </start>
                   2467: </grammar>
                   2468: </incorrect>
                   2469: </testCase>
                   2470: <testCase>
                   2471: <section>4.16</section>
                   2472: <incorrect>
                   2473: <grammar xmlns="http://relaxng.org/ns/structure/1.0">
                   2474: <start>
                   2475:   <element>
                   2476:     <nsName ns="">
                   2477:       <except>
                   2478:         <choice>
                   2479:           <nsName ns=""/>
                   2480:           <name>foo</name>
                   2481:         </choice>
                   2482:       </except>
                   2483:     </nsName>
                   2484:     <empty/>
                   2485:   </element>
                   2486: </start>
                   2487: </grammar>
                   2488: </incorrect>
                   2489: </testCase>
                   2490: <testCase>
                   2491: <section>4.16</section>
                   2492: <incorrect>
                   2493: <grammar xmlns="http://relaxng.org/ns/structure/1.0">
                   2494: <start>
                   2495:   <element>
                   2496:     <nsName ns="">
                   2497:       <except>
                   2498:         <anyName/>
                   2499:       </except>
                   2500:     </nsName>
                   2501:     <empty/>
                   2502:   </element>
                   2503: </start>
                   2504: </grammar>
                   2505: </incorrect>
                   2506: </testCase>
                   2507: <testCase>
                   2508: <section>4.16</section>
                   2509: <incorrect>
                   2510: <grammar xmlns="http://relaxng.org/ns/structure/1.0">
                   2511: <start>
                   2512:   <element>
                   2513:     <nsName ns="">
                   2514:       <except>
                   2515:         <choice>
                   2516:           <anyName/>
                   2517:           <name>foo</name>
                   2518:         </choice>
                   2519:       </except>
                   2520:     </nsName>
                   2521:     <empty/>
                   2522:   </element>
                   2523: </start>
                   2524: </grammar>
                   2525: </incorrect>
                   2526: </testCase>
                   2527: <testCase>
                   2528: <section>4.16</section>
                   2529: <documentation>Tests that 4.16 is before 4.20.</documentation>
                   2530: <incorrect>
                   2531: <grammar xmlns="http://relaxng.org/ns/structure/1.0">
                   2532: <start>
                   2533:   <element name="foo">
                   2534:     <zeroOrMore>
                   2535:       <attribute>
                   2536:        <anyName>
                   2537:          <except>
                   2538:            <anyName/>
                   2539:          </except>
                   2540:        </anyName>
                   2541:        <text/>
                   2542:       </attribute>
                   2543:       <notAllowed/>
                   2544:     </zeroOrMore>
                   2545:   </element>
                   2546: </start>
                   2547: </grammar>
                   2548: </incorrect>
                   2549: </testCase>
                   2550: <testCase>
                   2551: <section>4.16</section>
                   2552: <documentation>Tests that 4.16 is before removal of unreachable definitions.</documentation>
                   2553: <incorrect>
                   2554: <grammar xmlns="http://relaxng.org/ns/structure/1.0">
                   2555: <start>
                   2556:   <element name="foo">
                   2557:     <empty/>
                   2558:   </element>
                   2559: </start>
                   2560: <define name="bar">
                   2561:   <element>
                   2562:     <anyName>
                   2563:       <except>
                   2564:        <anyName/>
                   2565:       </except>
                   2566:     </anyName>
                   2567:     <empty/>
                   2568:   </element>
                   2569: </define>
                   2570: </grammar>
                   2571: </incorrect>
                   2572: </testCase>
                   2573: <testCase>
                   2574: <section>4.16</section>
                   2575: <incorrect>
                   2576: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
                   2577:   <attribute name="xmlns">
                   2578:     <text/>
                   2579:   </attribute>
                   2580: </element>
                   2581: </incorrect>
                   2582: </testCase>
                   2583: <testCase>
                   2584: <section>4.16</section>
                   2585: <correct>
                   2586: <element name="xmlns" xmlns="http://relaxng.org/ns/structure/1.0">
                   2587:   <empty/>
                   2588: </element>
                   2589: </correct>
                   2590: <valid><xmlns/></valid>
                   2591: </testCase>
                   2592: <testCase>
                   2593: <section>4.16</section>
                   2594: <incorrect>
                   2595: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
                   2596:   <attribute name=" xmlns">
                   2597:     <text/>
                   2598:   </attribute>
                   2599: </element>
                   2600: </incorrect>
                   2601: </testCase>
                   2602: <testCase>
                   2603: <section>4.16</section>
                   2604: <incorrect>
                   2605: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
                   2606:   <optional>
                   2607:     <notAllowed/>
                   2608:     <attribute name="xmlns">
                   2609:       <text/>
                   2610:     </attribute>
                   2611:   </optional>
                   2612: </element>
                   2613: </incorrect>
                   2614: </testCase>
                   2615: <testCase>
                   2616: <section>4.16</section>
                   2617: <incorrect>
                   2618: <grammar xmlns="http://relaxng.org/ns/structure/1.0">
                   2619:   <start>
                   2620:     <element name="foo">
                   2621:       <empty/>
                   2622:     </element>
                   2623:   </start>
                   2624:   <define name="foo">
                   2625:     <attribute name="xmlns">
                   2626:       <text/>
                   2627:     </attribute>
                   2628:   </define>
                   2629: </grammar>
                   2630: </incorrect>
                   2631: </testCase>
                   2632: <testCase>
                   2633: <section>4.16</section>
                   2634: <incorrect>
                   2635: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
                   2636:   <attribute name="xmlns" ns="">
                   2637:     <text/>
                   2638:   </attribute>
                   2639: </element>
                   2640: </incorrect>
                   2641: </testCase>
                   2642: <testCase>
                   2643: <section>4.16</section>
                   2644: <incorrect>
                   2645: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
                   2646:   <attribute>
                   2647:     <choice>
                   2648:       <name ns="">xmlns</name>
                   2649:       <name>foo</name>
                   2650:     </choice>
                   2651:     <text/>
                   2652:   </attribute>
                   2653: </element>
                   2654: </incorrect>
                   2655: </testCase>
                   2656: <testCase>
                   2657: <section>4.16</section>
                   2658: <incorrect>
                   2659: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
                   2660:   <attribute>
                   2661:     <name ns="">xmlns</name>
                   2662:     <text/>
                   2663:   </attribute>
                   2664: </element>
                   2665: </incorrect>
                   2666: </testCase>
                   2667: <testCase>
                   2668: <section>4.16</section>
                   2669: <incorrect>
                   2670: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
                   2671:   <attribute>
                   2672:     <name>xmlns</name>
                   2673:     <text/>
                   2674:   </attribute>
                   2675: </element>
                   2676: </incorrect>
                   2677: </testCase>
                   2678: <testCase>
                   2679: <section>4.16</section>
                   2680: <incorrect>
                   2681: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
                   2682:   <attribute>
                   2683:     <name>
                   2684:       xmlns
                   2685:     </name>
                   2686:     <text/>
                   2687:   </attribute>
                   2688: </element>
                   2689: </incorrect>
                   2690: </testCase>
                   2691: <testCase>
                   2692: <section>4.16</section>
                   2693: <incorrect>
                   2694: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
                   2695:   <attribute>
                   2696:     <choice>
                   2697:       <name>foo</name>
                   2698:       <name ns="">xmlns</name>
                   2699:     </choice>
                   2700:     <text/>
                   2701:   </attribute>
                   2702: </element>
                   2703: </incorrect>
                   2704: </testCase>
                   2705: <testCase>
                   2706: <section>4.16</section>
                   2707: <incorrect>
                   2708: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
                   2709:   <oneOrMore>
                   2710:     <attribute>
                   2711:       <anyName>
                   2712:        <except>
                   2713:          <name>xmlns</name>
                   2714:        </except>
                   2715:       </anyName>
                   2716:       <text/>
                   2717:     </attribute>
                   2718:   </oneOrMore>
                   2719: </element>
                   2720: </incorrect>
                   2721: </testCase>
                   2722: <testCase>
                   2723: <section>4.16</section>
                   2724: <incorrect>
                   2725: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
                   2726:   <oneOrMore>
                   2727:     <attribute>
                   2728:       <nsName ns="">
                   2729:        <except>
                   2730:          <name>xmlns</name>
                   2731:        </except>
                   2732:       </nsName>
                   2733:       <text/>
                   2734:     </attribute>
                   2735:   </oneOrMore>
                   2736: </element>
                   2737: </incorrect>
                   2738: </testCase>
                   2739: <testCase>
                   2740: <section>4.16</section>
                   2741: <incorrect>
                   2742: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
                   2743:   <attribute ns="http://www.w3.org/2000/xmlns" name="bar">
                   2744:     <text/>
                   2745:   </attribute>
                   2746: </element>
                   2747: </incorrect>
                   2748: </testCase>
                   2749: <testCase>
                   2750: <section>4.16</section>
                   2751: <correct>
                   2752: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0" ns="http://www.w3.org/2000/xmlns">
                   2753:   <empty/>
                   2754: </element>
                   2755: </correct>
                   2756: <valid><foo xmlns="http://www.w3.org/2000/xmlns"/></valid>
                   2757: </testCase>
                   2758: <testCase>
                   2759: <section>4.16</section>
                   2760: <incorrect>
                   2761: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
                   2762:   <data type="token">
                   2763:     <param name="minLength">2</param>
                   2764:   </data>
                   2765: </element>
                   2766: </incorrect>
                   2767: </testCase>
                   2768: <testCase>
                   2769: <section>4.16</section>
                   2770: <incorrect>
                   2771: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
                   2772:   <data type="tok"/>
                   2773: </element>
                   2774: </incorrect>
                   2775: </testCase>
                   2776: <testCase>
                   2777: <section>4.16</section>
                   2778: <incorrect>
                   2779: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
                   2780:   <value type="tok"/>
                   2781: </element>
                   2782: </incorrect>
                   2783: </testCase>
                   2784: <testCase>
                   2785: <section>4.16</section>
                   2786: <incorrect>
                   2787: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
                   2788:   <optional>
                   2789:     <notAllowed/>
                   2790:     <data type="token">
                   2791:       <param name="minLength">2</param>
                   2792:     </data>
                   2793:   </optional>
                   2794: </element>
                   2795: </incorrect>
                   2796: </testCase>
                   2797: <testCase>
                   2798: <section>4.16</section>
                   2799: <incorrect>
                   2800: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
                   2801:   <optional>
                   2802:     <notAllowed/>
                   2803:     <data type="tok"/>
                   2804:   </optional>
                   2805: </element>
                   2806: </incorrect>
                   2807: </testCase>
                   2808: <testCase>
                   2809: <section>4.16</section>
                   2810: <incorrect>
                   2811: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
                   2812:   <optional>
                   2813:     <notAllowed/>
                   2814:     <value type="tok"/>
                   2815:   </optional>
                   2816: </element>
                   2817: </incorrect>
                   2818: </testCase>
                   2819: <testCase>
                   2820: <section>4.16</section>
                   2821: <incorrect>
                   2822: <grammar xmlns="http://relaxng.org/ns/structure/1.0">
                   2823: <start>
                   2824:   <element name="foo">
                   2825:     <empty/>
                   2826:   </element>
                   2827: </start>
                   2828: <define name="foo">
                   2829:   <data type="token">
                   2830:     <param name="minLength">2</param>
                   2831:   </data>
                   2832: </define>
                   2833: </grammar>
                   2834: </incorrect>
                   2835: </testCase>
                   2836: <testCase>
                   2837: <section>4.16</section>
                   2838: <incorrect>
                   2839: <grammar xmlns="http://relaxng.org/ns/structure/1.0">
                   2840: <start>
                   2841:   <element name="foo">
                   2842:     <empty/>
                   2843:   </element>
                   2844: </start>
                   2845: <define name="foo">
                   2846:   <data type="tok"/>
                   2847: </define>
                   2848: </grammar>
                   2849: </incorrect>
                   2850: </testCase>
                   2851: <testCase>
                   2852: <section>4.16</section>
                   2853: <incorrect>
                   2854: <grammar xmlns="http://relaxng.org/ns/structure/1.0">
                   2855: <start>
                   2856:   <element name="foo">
                   2857:     <empty/>
                   2858:   </element>
                   2859: </start>
                   2860: <define name="foo">
                   2861:   <value type="tok"/>
                   2862: </define>
                   2863: </grammar>
                   2864: </incorrect>
                   2865: </testCase>
                   2866: </testSuite>
                   2867: <testSuite>
                   2868: <section>4.17</section>
                   2869: <testCase>
                   2870: <section>4.17</section>
                   2871: <incorrect>
                   2872: <grammar xmlns="http://relaxng.org/ns/structure/1.0">
                   2873: <start>
                   2874:   <ref name="x"/>
                   2875: </start>
                   2876: <define name="x">
                   2877:   <element name="foo1">
                   2878:     <empty/>
                   2879:   </element>
                   2880: </define>
                   2881: <define name="x" combine="choice">
                   2882:   <element name="foo2">
                   2883:     <empty/>
                   2884:   </element>
                   2885: </define>
                   2886: <define name="x">
                   2887:   <element name="foo3">
                   2888:     <empty/>
                   2889:   </element>
                   2890: </define>
                   2891: </grammar>
                   2892: </incorrect>
                   2893: </testCase>
                   2894: <testCase>
                   2895: <section>4.17</section>
                   2896: <incorrect>
                   2897: <grammar xmlns="http://relaxng.org/ns/structure/1.0">
                   2898: <start name="x">
                   2899:   <element name="foo1">
                   2900:     <empty/>
                   2901:   </element>
                   2902: </start>
                   2903: <start name="x" combine="choice">
                   2904:   <element name="foo2">
                   2905:     <empty/>
                   2906:   </element>
                   2907: </start>
                   2908: <start name="x">
                   2909:   <element name="foo3">
                   2910:     <empty/>
                   2911:   </element>
                   2912: </start>
                   2913: </grammar>
                   2914: </incorrect>
                   2915: </testCase>
                   2916: <testCase>
                   2917: <section>4.17</section>
                   2918: <incorrect>
                   2919: <grammar xmlns="http://relaxng.org/ns/structure/1.0">
                   2920: <start>
                   2921:   <ref name="x"/>
                   2922: </start>
                   2923: <define name="x">
                   2924:   <element name="foo1">
                   2925:     <empty/>
                   2926:   </element>
                   2927: </define>
                   2928: <define name="x">
                   2929:   <element name="foo2">
                   2930:     <empty/>
                   2931:   </element>
                   2932: </define>
                   2933: </grammar>
                   2934: </incorrect>
                   2935: </testCase>
                   2936: <testCase>
                   2937: <section>4.17</section>
                   2938: <incorrect>
                   2939: <grammar xmlns="http://relaxng.org/ns/structure/1.0">
                   2940: <start name="x">
                   2941:   <element name="foo1">
                   2942:     <empty/>
                   2943:   </element>
                   2944: </start>
                   2945: <start name="x">
                   2946:   <element name="foo2">
                   2947:     <empty/>
                   2948:   </element>
                   2949: </start>
                   2950: </grammar>
                   2951: </incorrect>
                   2952: </testCase>
                   2953: <testCase>
                   2954: <section>4.17</section>
                   2955: <correct>
                   2956: <grammar xmlns="http://relaxng.org/ns/structure/1.0">
                   2957: <start>
                   2958:   <ref name="x"/>
                   2959: </start>
                   2960: <define name="x" combine="choice">
                   2961:   <element name="foo1">
                   2962:     <empty/>
                   2963:   </element>
                   2964: </define>
                   2965: <define name="x" combine="choice">
                   2966:   <element name="foo2">
                   2967:     <empty/>
                   2968:   </element>
                   2969: </define>
                   2970: <define name="x">
                   2971:   <element name="foo3">
                   2972:     <empty/>
                   2973:   </element>
                   2974: </define>
                   2975: </grammar>
                   2976: </correct>
                   2977: <valid>
                   2978: <foo1/>
                   2979: </valid>
                   2980: <valid>
                   2981: <foo2/>
                   2982: </valid>
                   2983: <valid>
                   2984: <foo3/>
                   2985: </valid>
                   2986: <invalid>
                   2987: <foo4/>
                   2988: </invalid>
                   2989: </testCase>
                   2990: <testCase>
                   2991: <section>4.17</section>
                   2992: <correct>
                   2993: <grammar xmlns="http://relaxng.org/ns/structure/1.0">
                   2994: <start combine="choice">
                   2995:   <element name="foo1">
                   2996:     <empty/>
                   2997:   </element>
                   2998: </start>
                   2999: <start combine="choice">
                   3000:   <element name="foo2">
                   3001:     <empty/>
                   3002:   </element>
                   3003: </start>
                   3004: <start>
                   3005:   <element name="foo3">
                   3006:     <empty/>
                   3007:   </element>
                   3008: </start>
                   3009: </grammar>
                   3010: </correct>
                   3011: <valid>
                   3012: <foo1/>
                   3013: </valid>
                   3014: <valid>
                   3015: <foo2/>
                   3016: </valid>
                   3017: <valid>
                   3018: <foo3/>
                   3019: </valid>
                   3020: <invalid>
                   3021: <foo4/>
                   3022: </invalid>
                   3023: </testCase>
                   3024: <testCase>
                   3025: <section>4.17</section>
                   3026: <incorrect>
                   3027: <grammar xmlns="http://relaxng.org/ns/structure/1.0">
                   3028: <start>
                   3029:   <element name="foo">
                   3030:     <ref name="x"/>
                   3031:   </element>
                   3032: </start>
                   3033: <define name="x" combine="choice">
                   3034:   <element name="bar1">
                   3035:     <empty/>
                   3036:   </element>
                   3037: </define>
                   3038: <define name="x">
                   3039:   <element name="bar2">
                   3040:     <empty/>
                   3041:   </element>
                   3042: </define>
                   3043: <define name="x" combine="interleave">
                   3044:   <element name="bar3">
                   3045:     <empty/>
                   3046:   </element>
                   3047: </define>
                   3048: </grammar>
                   3049: </incorrect>
                   3050: </testCase>
                   3051: <testCase>
                   3052: <section>4.17</section>
                   3053: <incorrect>
                   3054: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
                   3055: <grammar>
                   3056: <start name="x" combine="choice">
                   3057:   <element name="bar1">
                   3058:     <empty/>
                   3059:   </element>
                   3060: </start>
                   3061: <start name="x">
                   3062:   <element name="bar2">
                   3063:     <empty/>
                   3064:   </element>
                   3065: </start>
                   3066: <start name="x" combine="interleave">
                   3067:   <element name="bar3">
                   3068:     <empty/>
                   3069:   </element>
                   3070: </start>
                   3071: </grammar>
                   3072: </element>
                   3073: </incorrect>
                   3074: </testCase>
                   3075: <testCase>
                   3076: <section>4.17</section>
                   3077: <correct>
                   3078: <grammar xmlns="http://relaxng.org/ns/structure/1.0">
                   3079: <start>
                   3080:   <element name="foo">
                   3081:     <ref name="x"/>
                   3082:   </element>
                   3083: </start>
                   3084: <define name="x" combine="interleave">
                   3085:   <element name="bar1">
                   3086:     <empty/>
                   3087:   </element>
                   3088: </define>
                   3089: <define name="x" combine="interleave">
                   3090:   <element name="bar2">
                   3091:     <empty/>
                   3092:   </element>
                   3093: </define>
                   3094: <define name="x">
                   3095:   <element name="bar3">
                   3096:     <empty/>
                   3097:   </element>
                   3098: </define>
                   3099: </grammar>
                   3100: </correct>
                   3101: <valid>
                   3102: <foo><bar1/><bar2/><bar3/></foo>
                   3103: </valid>
                   3104: <valid>
                   3105: <foo><bar1/><bar3/><bar2/></foo>
                   3106: </valid>
                   3107: <valid>
                   3108: <foo><bar2/><bar3/><bar1/></foo>
                   3109: </valid>
                   3110: <invalid>
                   3111: <foo><bar2/><bar3/><bar1/><bar2/></foo>
                   3112: </invalid>
                   3113: </testCase>
                   3114: <testCase>
                   3115: <section>4.17</section>
                   3116: <correct>
                   3117: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
                   3118: <grammar>
                   3119: <start combine="interleave">
                   3120:   <element name="bar1">
                   3121:     <empty/>
                   3122:   </element>
                   3123: </start>
                   3124: <start>
                   3125:   <element name="bar2">
                   3126:     <empty/>
                   3127:   </element>
                   3128: </start>
                   3129: <start combine="interleave">
                   3130:   <element name="bar3">
                   3131:     <empty/>
                   3132:   </element>
                   3133: </start>
                   3134: </grammar>
                   3135: </element>
                   3136: </correct>
                   3137: <valid>
                   3138: <foo><bar1/><bar2/><bar3/></foo>
                   3139: </valid>
                   3140: <valid>
                   3141: <foo><bar1/><bar3/><bar2/></foo>
                   3142: </valid>
                   3143: <valid>
                   3144: <foo><bar2/><bar3/><bar1/></foo>
                   3145: </valid>
                   3146: <invalid>
                   3147: <foo><bar2/><bar3/><bar1/><bar2/></foo>
                   3148: </invalid>
                   3149: </testCase>
                   3150: <testCase>
                   3151: <section>4.17</section>
                   3152: <incorrect>
                   3153: <grammar xmlns="http://relaxng.org/ns/structure/1.0">
                   3154: <start>
                   3155:   <element name="foo">
                   3156:     <ref name="x"/>
                   3157:   </element>
                   3158: </start>
                   3159: <define name="x">
                   3160:   <element name="bar1">
                   3161:     <empty/>
                   3162:   </element>
                   3163: </define>
                   3164: <define name="x" combine="interleave">
                   3165:   <element name="bar2">
                   3166:     <empty/>
                   3167:   </element>
                   3168: </define>
                   3169: <define name="x">
                   3170:   <element name="bar3">
                   3171:     <empty/>
                   3172:   </element>
                   3173: </define>
                   3174: </grammar>
                   3175: </incorrect>
                   3176: </testCase>
                   3177: <testCase>
                   3178: <section>4.17</section>
                   3179: <incorrect>
                   3180: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0"> 
                   3181: <grammar>
                   3182: <start name="x">
                   3183:   <element name="bar1">
                   3184:     <empty/>
                   3185:   </element>
                   3186: </start>
                   3187: <start name="x" combine="interleave">
                   3188:   <element name="bar2">
                   3189:     <empty/>
                   3190:   </element>
                   3191: </start>
                   3192: <start name="x">
                   3193:   <element name="bar3">
                   3194:     <empty/>
                   3195:   </element>
                   3196: </start>
                   3197: </grammar>
                   3198: </element>
                   3199: </incorrect>
                   3200: </testCase>
                   3201: </testSuite>
                   3202: <testSuite>
                   3203: <section>4.18</section>
                   3204: <testCase>
                   3205: <section>4.18</section>
                   3206: <documentation>grammar must have a start</documentation>
                   3207: <incorrect>
                   3208: <grammar xmlns="http://relaxng.org/ns/structure/1.0">
                   3209:   <define name="foo">
                   3210:     <element name="foo">
                   3211:       <empty/>
                   3212:     </element>
                   3213:   </define>
                   3214: </grammar>   
                   3215: </incorrect>
                   3216: </testCase>
                   3217: <testCase>
                   3218: <section>4.18</section>
                   3219: <documentation>4.17 is before 4.18</documentation>
                   3220: <incorrect>
                   3221: <grammar xmlns="http://relaxng.org/ns/structure/1.0">
                   3222:   <start>
                   3223:     <element name="foo">
                   3224:       <empty/>
                   3225:     </element>
                   3226:   </start>
                   3227:   <define name="bar">
                   3228:     <grammar xmlns="http://relaxng.org/ns/structure/1.0">
                   3229:       <define name="foo">
                   3230:        <element name="foo">
                   3231:          <empty/>
                   3232:        </element>
                   3233:       </define>
                   3234:     </grammar>   
                   3235:   </define>
                   3236: </grammar>
                   3237: </incorrect>
                   3238: </testCase>
                   3239: <testCase>
                   3240: <section>4.18</section>
                   3241: <documentation>4.17 is before 4.19</documentation>
                   3242: <incorrect>
                   3243: <choice xmlns="http://relaxng.org/ns/structure/1.0">
                   3244:   <element name="foo">
                   3245:     <empty/>
                   3246:   </element>
                   3247:   <group>
                   3248:     <notAllowed/>
                   3249:     <grammar xmlns="http://relaxng.org/ns/structure/1.0">
                   3250:       <define name="foo">
                   3251:        <element name="foo">
                   3252:          <empty/>
                   3253:        </element>
                   3254:       </define>
                   3255:     </grammar>   
                   3256:   </group>
                   3257: </choice>
                   3258: </incorrect>
                   3259: </testCase>
                   3260: <testCase>
                   3261: <section>4.18</section>
                   3262: <documentation>every ref must have a def</documentation>
                   3263: <incorrect>
                   3264: <grammar xmlns="http://relaxng.org/ns/structure/1.0">
                   3265:   <start>
                   3266:     <ref name="foo"/>
                   3267:   </start>
                   3268: </grammar>
                   3269: </incorrect>
                   3270: </testCase>
                   3271: <testCase>
                   3272: <section>4.18</section>
                   3273: <documentation>4.17 is before 4.18</documentation>
                   3274: <incorrect>
                   3275: <grammar xmlns="http://relaxng.org/ns/structure/1.0">
                   3276:   <start>
                   3277:     <element name="foo">
                   3278:       <empty/>
                   3279:     </element>
                   3280:   </start>
                   3281:   <define name="foo">
                   3282:     <ref name="bar"/>
                   3283:   </define>
                   3284: </grammar>
                   3285: </incorrect>
                   3286: </testCase>
                   3287: <testCase>
                   3288: <section>4.18</section>
                   3289: <documentation>4.17 is before 4.19</documentation>
                   3290: <incorrect>
                   3291: <grammar xmlns="http://relaxng.org/ns/structure/1.0">
                   3292:   <start>
                   3293:     <choice>
                   3294:       <element name="foo">
                   3295:        <empty/>
                   3296:       </element>
                   3297:       <group>
                   3298:         <notAllowed/>
                   3299:         <ref name="foo"/>
                   3300:       </group>
                   3301:     </choice>
                   3302:   </start>
                   3303: </grammar>
                   3304: </incorrect>
                   3305: </testCase>
                   3306: <testCase>
                   3307: <section>4.18</section>
                   3308: <documentation>every parentRef must have a def</documentation>
                   3309: <incorrect>
                   3310: <grammar xmlns="http://relaxng.org/ns/structure/1.0">
                   3311:   <start>
                   3312:     <grammar xmlns="http://relaxng.org/ns/structure/1.0">
                   3313:       <start>
                   3314:        <parentRef name="foo"/>
                   3315:       </start>
                   3316:       <define name="foo">
                   3317:         <element name="foo">
                   3318:           <empty/>
                   3319:         </element>
                   3320:       </define>
                   3321:     </grammar>
                   3322:   </start>
                   3323: </grammar>
                   3324: </incorrect>
                   3325: </testCase>
                   3326: <testCase>
                   3327: <section>4.18</section>
                   3328: <documentation>4.17 is before 4.18</documentation>
                   3329: <incorrect>
                   3330: <grammar xmlns="http://relaxng.org/ns/structure/1.0">
                   3331:   <start>
                   3332:     <element name="foo">
                   3333:       <empty/>
                   3334:     </element>
                   3335:   </start>
                   3336:   <define name="bar">
                   3337:     <grammar xmlns="http://relaxng.org/ns/structure/1.0">
                   3338:       <start>
                   3339:        <parentRef name="foo"/>
                   3340:       </start>
                   3341:       <define name="foo">
                   3342:         <element name="foo">
                   3343:           <empty/>
                   3344:         </element>
                   3345:       </define>
                   3346:     </grammar>
                   3347:   </define>
                   3348: </grammar>
                   3349: </incorrect>
                   3350: </testCase>
                   3351: <testCase>
                   3352: <section>4.18</section>
                   3353: <documentation>4.17 is before 4.19</documentation>
                   3354: <incorrect>
                   3355: <grammar xmlns="http://relaxng.org/ns/structure/1.0">
                   3356:   <start>
                   3357:     <choice>
                   3358:       <element name="foo">
                   3359:        <empty/>
                   3360:       </element>
                   3361:       <group>
                   3362:        <notAllowed/>
                   3363:        <grammar xmlns="http://relaxng.org/ns/structure/1.0">
                   3364:          <start>
                   3365:            <parentRef name="foo"/>
                   3366:          </start>
                   3367:          <define name="foo">
                   3368:            <element name="foo">
                   3369:              <empty/>
                   3370:            </element>
                   3371:          </define>
                   3372:        </grammar>
                   3373:       </group>
                   3374:     </choice>
                   3375:   </start>
                   3376: </grammar>
                   3377: </incorrect>
                   3378: </testCase>
                   3379: <testCase>
                   3380: <section>4.18</section>
                   3381: <incorrect>
                   3382: <grammar xmlns="http://relaxng.org/ns/structure/1.0">
                   3383:   <start>
                   3384:     <ref name="foo"/>
                   3385:   </start>
                   3386:   <define name="foo">
                   3387:     <choice>
                   3388:       <element name="foo">
                   3389:         <empty/>
                   3390:       </element>
                   3391:       <grammar xmlns="http://relaxng.org/ns/structure/1.0">
                   3392:         <start>
                   3393:          <parentRef name="foo"/>
                   3394:         </start>
                   3395:       </grammar>
                   3396:     </choice>
                   3397:   </define>
                   3398: </grammar>
                   3399: </incorrect>
                   3400: </testCase>
                   3401: <testCase>
                   3402: <section>4.18</section>
                   3403: <correct>
                   3404: <grammar xmlns="http://relaxng.org/ns/structure/1.0">
                   3405:   <start>
                   3406:     <ref name="foo"/>
                   3407:   </start>
                   3408:   <define name="foo">
                   3409:     <grammar xmlns="http://relaxng.org/ns/structure/1.0">
                   3410:       <start>
                   3411:        <ref name="foo"/>
                   3412:       </start>
                   3413:       <define name="foo">
                   3414:        <element name="foo">
                   3415:          <empty/>
                   3416:        </element>
                   3417:       </define>
                   3418:     </grammar>
                   3419:   </define>
                   3420: </grammar>
                   3421: </correct>
                   3422: <valid><foo/></valid>
                   3423: </testCase>
                   3424: <testCase>
                   3425: <section>4.18</section>
                   3426: <correct>
                   3427: <grammar xmlns="http://relaxng.org/ns/structure/1.0">
                   3428:   <start>
                   3429:     <grammar>
                   3430:       <start>
                   3431:         <ref name="foo"/>
                   3432:       </start>
                   3433:       <define name="foo">
                   3434:         <element name="innerFoo">
                   3435:            <parentRef name="foo"/>
                   3436:         </element>
                   3437:       </define>
                   3438:     </grammar>
                   3439:   </start>
                   3440:   <define name="foo">
                   3441:     <element name="outerFoo">
                   3442:       <empty/>
                   3443:     </element>
                   3444:   </define>
                   3445: </grammar>
                   3446: </correct>
                   3447: <valid><innerFoo><outerFoo/></innerFoo></valid>
                   3448: <invalid><outerFoo/></invalid>
                   3449: </testCase>
                   3450: <testCase>
                   3451: <section>4.18</section>
                   3452: <correct>
                   3453: <grammar xmlns="http://relaxng.org/ns/structure/1.0">
                   3454:   <start>
                   3455:     <ref name="foo"/>
                   3456:   </start>
                   3457:   <define name="foo">
                   3458:     <element name="outerFoo">
                   3459:       <grammar>
                   3460:        <start>
                   3461:          <ref name="foo"/>
                   3462:        </start>
                   3463:        <define name="foo">
                   3464:          <element name="innerFoo">
                   3465:             <empty/>
                   3466:          </element>
                   3467:        </define>
                   3468:       </grammar>
                   3469:     </element>
                   3470:   </define>
                   3471: </grammar>
                   3472: </correct>
                   3473: <valid><outerFoo><innerFoo/></outerFoo></valid>
                   3474: <invalid><innerFoo/></invalid>
                   3475: </testCase>
                   3476: </testSuite>
                   3477: <testSuite>
                   3478: <section>4.19</section>
                   3479: <testCase>
                   3480: <section>4.19</section>
                   3481: <incorrect>
                   3482: <grammar xmlns="http://relaxng.org/ns/structure/1.0">
                   3483:   <start>
                   3484:     <element name="foo">
                   3485:       <ref name="bar"/>
                   3486:     </element>
                   3487:   </start>
                   3488:   <define name="bar">
                   3489:     <optional>
                   3490:       <element name="bar">
                   3491:         <empty/>
                   3492:       </element>
                   3493:       <ref name="bar"/>
                   3494:     </optional>
                   3495:   </define>
                   3496: </grammar>
                   3497: </incorrect>
                   3498: </testCase>
                   3499: <testCase>
                   3500: <section>4.19</section>
                   3501: <correct>
                   3502: <grammar xmlns="http://relaxng.org/ns/structure/1.0">
                   3503:   <start>
                   3504:     <element name="foo">
                   3505:       <ref name="bar"/>
                   3506:     </element>
                   3507:   </start>
                   3508:   <define name="bar">
                   3509:     <element name="bar">
                   3510:       <optional>
                   3511:         <ref name="bar"/>
                   3512:       </optional>
                   3513:     </element>
                   3514:   </define>
                   3515: </grammar>
                   3516: </correct>
                   3517: <valid>
                   3518: <foo><bar/></foo>
                   3519: </valid>
                   3520: <valid>
                   3521: <foo><bar><bar/></bar></foo>
                   3522: </valid>
                   3523: <invalid>
                   3524: <foo/>
                   3525: </invalid>
                   3526: </testCase>
                   3527: <testCase>
                   3528: <section>4.19</section>
                   3529: <correct>
                   3530: <grammar xmlns="http://relaxng.org/ns/structure/1.0">
                   3531:   <start>
                   3532:     <element name="foo">
                   3533:       <empty/>
                   3534:     </element>
                   3535:   </start>
                   3536:   <define name="bar">
                   3537:     <ref name="bar"/>
                   3538:   </define>
                   3539: </grammar>
                   3540: </correct>
                   3541: <valid><foo/></valid>
                   3542: </testCase>
                   3543: <testCase>
                   3544: <section>4.19</section>
                   3545: <section>4.20</section>
                   3546: <documentation>Tests that recursion detection happens before
                   3547: normalization of notAllowed.</documentation>
                   3548: <incorrect>
                   3549: <grammar xmlns="http://relaxng.org/ns/structure/1.0">
                   3550:   <start>
                   3551:     <choice>
                   3552:       <element name="foo">
                   3553:         <empty/>
                   3554:       </element>
                   3555:       <group>
                   3556:         <notAllowed/>
                   3557:         <ref name="bar"/>
                   3558:       </group>
                   3559:     </choice>
                   3560:   </start>
                   3561:   <define name="bar">
                   3562:     <element name="bar">
                   3563:       <empty/>
                   3564:     </element>
                   3565:     <optional>
                   3566:       <ref name="bar"/>
                   3567:     </optional>
                   3568:   </define>
                   3569: </grammar>
                   3570: </incorrect>
                   3571: </testCase>
                   3572: </testSuite>
                   3573: </testSuite>
                   3574: <testSuite>
                   3575: <section>6</section>
                   3576: <testSuite>
                   3577: <section>6.1</section>
                   3578: <testCase>
                   3579: <section>6.1</section>
                   3580: <correct>
                   3581: <element xmlns="http://relaxng.org/ns/structure/1.0">
                   3582:   <anyName/>
                   3583:   <empty/>
                   3584: </element>
                   3585: </correct>
                   3586: <valid>
                   3587: <foo/>
                   3588: </valid>
                   3589: <valid>
                   3590: <foo xmlns="http://www.example.com"/>
                   3591: </valid>
                   3592: </testCase>
                   3593: <testCase>
                   3594: <section>6.1</section>
                   3595: <correct>
                   3596: <element xmlns="http://relaxng.org/ns/structure/1.0">
                   3597:   <anyName>
                   3598:     <except>
                   3599:       <name ns="">foo</name>
                   3600:     </except>
                   3601:   </anyName>
                   3602:   <empty/>
                   3603: </element>
                   3604: </correct>
                   3605: <invalid>
                   3606: <foo/>
                   3607: </invalid>
                   3608: <valid>
                   3609: <foo xmlns="http://www.example.com"/>
                   3610: </valid>
                   3611: <valid>
                   3612: <bar/>
                   3613: </valid>
                   3614: </testCase>
                   3615: <testCase>
                   3616: <section>6.1</section>
                   3617: <correct>
                   3618: <element xmlns="http://relaxng.org/ns/structure/1.0">
                   3619:   <anyName>
                   3620:     <except>
                   3621:       <nsName ns=""/>
                   3622:     </except>
                   3623:   </anyName>
                   3624:   <empty/>
                   3625: </element>
                   3626: </correct>
                   3627: <invalid>
                   3628: <foo/>
                   3629: </invalid>
                   3630: <valid>
                   3631: <foo xmlns="http://www.example.com"/>
                   3632: </valid>
                   3633: </testCase>
                   3634: <testCase>
                   3635: <section>6.1</section>
                   3636: <correct>
                   3637: <element xmlns="http://relaxng.org/ns/structure/1.0">
                   3638:   <nsName ns=""/>
                   3639:   <empty/>
                   3640: </element>
                   3641: </correct>
                   3642: <valid>
                   3643: <foo/>
                   3644: </valid>
                   3645: <invalid>
                   3646: <foo xmlns="http://www.example.com"/>
                   3647: </invalid>
                   3648: </testCase>
                   3649: <testCase>
                   3650: <section>6.1</section>
                   3651: <correct>
                   3652: <element xmlns="http://relaxng.org/ns/structure/1.0">
                   3653:   <nsName ns="http://www.example.com"/>
                   3654:   <empty/>
                   3655: </element>
                   3656: </correct>
                   3657: <invalid>
                   3658: <foo/>
                   3659: </invalid>
                   3660: <invalid>
                   3661: <foo xmlns="HTTP://www.example.com"/>
                   3662: </invalid>
                   3663: <invalid>
                   3664: <foo xmlns="http://www.example.com/"/>
                   3665: </invalid>
                   3666: <valid>
                   3667: <foo xmlns="http://www.example.com"/>
                   3668: </valid>
                   3669: </testCase>
                   3670: <testCase>
                   3671: <section>6.1</section>
                   3672: <correct>
                   3673: <element xmlns="http://relaxng.org/ns/structure/1.0">
                   3674:   <nsName ns="http://www.example.com">
                   3675:     <except>
                   3676:       <name ns="http://www.example.com">foo</name>
                   3677:     </except>
                   3678:   </nsName>
                   3679:   <empty/>
                   3680: </element>
                   3681: </correct>
                   3682: <invalid>
                   3683: <foo/>
                   3684: </invalid>
                   3685: <invalid>
                   3686: <foo xmlns="http://www.example.com"/>
                   3687: </invalid>
                   3688: <valid>
                   3689: <bar xmlns="http://www.example.com"/>
                   3690: </valid>
                   3691: </testCase>
                   3692: <testCase>
                   3693: <section>6.1</section>
                   3694: <correct>
                   3695: <element xmlns="http://relaxng.org/ns/structure/1.0">
                   3696:   <nsName ns="http://www.example.com">
                   3697:     <except>
                   3698:       <name ns="">foo</name>
                   3699:     </except>
                   3700:   </nsName>
                   3701:   <empty/>
                   3702: </element>
                   3703: </correct>
                   3704: <invalid>
                   3705: <bar/>
                   3706: </invalid>
                   3707: <invalid>
                   3708: <foo/>
                   3709: </invalid>
                   3710: <valid>
                   3711: <foo xmlns="http://www.example.com"/>
                   3712: </valid>
                   3713: <valid>
                   3714: <bar xmlns="http://www.example.com"/>
                   3715: </valid>
                   3716: </testCase>
                   3717: <testCase>
                   3718: <section>6.1</section>
                   3719: <correct>
                   3720: <element xmlns="http://relaxng.org/ns/structure/1.0">
                   3721:   <name ns="http://www.example.com">foo</name>
                   3722:   <empty/>
                   3723: </element>
                   3724: </correct>
                   3725: <valid>
                   3726: <foo xmlns="http://www.example.com"/>
                   3727: </valid>
                   3728: <invalid>
                   3729: <foo/>
                   3730: </invalid>
                   3731: <invalid>
                   3732: <bar xmlns="http://www.example.com"/>
                   3733: </invalid>
                   3734: <invalid>
                   3735: <foo xmlns="http://www.example.org"/>
                   3736: </invalid>
                   3737: </testCase>
                   3738: <testCase>
                   3739: <section>6.1</section>
                   3740: <correct>
                   3741: <element xmlns="http://relaxng.org/ns/structure/1.0">
                   3742:   <name ns="">foo</name>
                   3743:   <empty/>
                   3744: </element>
                   3745: </correct>
                   3746: <invalid>
                   3747: <foo xmlns="http://www.example.com"/>
                   3748: </invalid>
                   3749: <valid>
                   3750: <foo/>
                   3751: </valid>
                   3752: <invalid>
                   3753: <bar xmlns="http://www.example.com"/>
                   3754: </invalid>
                   3755: <invalid>
                   3756: <bar/>
                   3757: </invalid>
                   3758: </testCase>
                   3759: <testCase>
                   3760: <section>6.1</section>
                   3761: <correct>
                   3762: <element xmlns="http://relaxng.org/ns/structure/1.0">
                   3763:   <choice>
                   3764:     <name ns="">foo</name>
                   3765:     <name ns="">bar</name>
                   3766:   </choice>
                   3767:   <empty/>
                   3768: </element>
                   3769: </correct>
                   3770: <invalid>
                   3771: <baz/>
                   3772: </invalid>
                   3773: <valid>
                   3774: <foo/>
                   3775: </valid>
                   3776: <valid>
                   3777: <bar/>
                   3778: </valid>
                   3779: </testCase>
                   3780: </testSuite>
                   3781: <testSuite>
                   3782: <section>6.2</section>
                   3783: <testSuite>
                   3784: <section>6.2.1</section>
                   3785: <testCase>
                   3786: <section>6.2.1</section>
                   3787: <correct>
                   3788: <choice xmlns="http://relaxng.org/ns/structure/1.0">
                   3789:   <element name="foo">
                   3790:     <empty/>
                   3791:   </element>
                   3792:   <element name="bar">
                   3793:     <empty/>
                   3794:   </element>
                   3795: </choice>
                   3796: </correct>
                   3797: <valid>
                   3798: <foo/>
                   3799: </valid>
                   3800: <valid>
                   3801: <bar/>
                   3802: </valid>
                   3803: <invalid>
                   3804: <baz/>
                   3805: </invalid>
                   3806: </testCase>
                   3807: <testCase>
                   3808: <section>6.2.1</section>
                   3809: <correct>
                   3810: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
                   3811:   <choice>
                   3812:     <group>
                   3813:       <element name="bar1">
                   3814:         <empty/>
                   3815:       </element>
                   3816:       <element name="bar2">
                   3817:         <empty/>
                   3818:       </element>
                   3819:     </group>
                   3820:     <group>
                   3821:       <element name="bar1">
                   3822:         <empty/>
                   3823:       </element>
                   3824:       <element name="bar3">
                   3825:         <empty/>
                   3826:       </element>
                   3827:     </group>
                   3828:   </choice>
                   3829: </element>
                   3830: </correct>
                   3831: <valid>
                   3832: <foo><bar1/><bar2/></foo>
                   3833: </valid>
                   3834: <valid>
                   3835: <foo><bar1/><bar3/></foo>
                   3836: </valid>
                   3837: <invalid>
                   3838: <foo><bar1/></foo>
                   3839: </invalid>
                   3840: <invalid>
                   3841: <foo/>
                   3842: </invalid>
                   3843: <invalid>
                   3844: <foo><bar2/></foo>
                   3845: </invalid>
                   3846: <invalid>
                   3847: <foo><bar3/></foo>
                   3848: </invalid>
                   3849: <invalid>
                   3850: <foo><bar1/><bar2/><bar3/></foo>
                   3851: </invalid>
                   3852: </testCase>
                   3853: <testCase>
                   3854: <section>6.2.1</section>
                   3855: <correct>
                   3856: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
                   3857:   <choice>
                   3858:     <group>
                   3859:       <attribute name="bar1">
                   3860:         <text/>
                   3861:       </attribute>
                   3862:       <attribute name="bar2">
                   3863:         <text/>
                   3864:       </attribute>
                   3865:     </group>
                   3866:     <group>
                   3867:       <attribute name="bar1">
                   3868:         <text/>
                   3869:       </attribute>
                   3870:       <attribute name="bar3">
                   3871:         <text/>
                   3872:       </attribute>
                   3873:     </group>
                   3874:   </choice>
                   3875: </element>
                   3876: </correct>
                   3877: <valid>
                   3878: <foo bar1="x" bar2="x"/>
                   3879: </valid>
                   3880: <valid>
                   3881: <foo bar1="x" bar3="x"/>
                   3882: </valid>
                   3883: <invalid>
                   3884: <foo/>
                   3885: </invalid>
                   3886: <invalid>
                   3887: <foo bar1="x"/>
                   3888: </invalid>
                   3889: <invalid>
                   3890: <foo bar2="x"/>
                   3891: </invalid>
                   3892: <invalid>
                   3893: <foo bar3="x"/>
                   3894: </invalid>
                   3895: <invalid>
                   3896: <foo bar1="x" bar2="x" bar3="x"/>
                   3897: </invalid>
                   3898: </testCase>
                   3899: <testCase>
                   3900: <section>6.2.1</section>
                   3901: <correct>
                   3902: <choice xmlns="http://relaxng.org/ns/structure/1.0">
                   3903:   <element name="foo">
                   3904:     <element name="bar">
                   3905:       <empty/>
                   3906:     </element>
                   3907:   </element>
                   3908:   <element name="foo">
                   3909:     <element name="baz">
                   3910:       <empty/>
                   3911:     </element>
                   3912:   </element>
                   3913: </choice>
                   3914: </correct>
                   3915: <valid>
                   3916: <foo><bar/></foo>
                   3917: </valid>
                   3918: <valid>
                   3919: <foo><baz/></foo>
                   3920: </valid>
                   3921: <invalid>
                   3922: <foo/>
                   3923: </invalid>
                   3924: <invalid>
                   3925: <foo><bar/><bar/></foo>
                   3926: </invalid>
                   3927: <invalid>
                   3928: <foo><foo/></foo>
                   3929: </invalid>
                   3930: <invalid>
                   3931: <bar/>
                   3932: </invalid>
                   3933: <invalid>
                   3934: <fobaz/>
                   3935: </invalid>
                   3936: </testCase>
                   3937: </testSuite>
                   3938: <testSuite>
                   3939: <section>6.2.2</section>
                   3940: <testCase>
                   3941: <section>6.2.2</section>
                   3942: <correct>
                   3943: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
                   3944:   <group>
                   3945:     <element name="bar">
                   3946:       <empty/>
                   3947:     </element>
                   3948:     <element name="baz">
                   3949:       <empty/>
                   3950:     </element>
                   3951:   </group>
                   3952: </element>
                   3953: </correct>
                   3954: <valid>
                   3955: <foo><bar/><baz/></foo>
                   3956: </valid>
                   3957: <invalid>
                   3958: <foo><baz/><bar/></foo>
                   3959: </invalid>
                   3960: <invalid>
                   3961: <foo><bar/><baz/><bar/><baz/></foo>
                   3962: </invalid>
                   3963: <invalid>
                   3964: <foo/>
                   3965: </invalid>
                   3966: <invalid>
                   3967: <foo><bar/></foo>
                   3968: </invalid>
                   3969: <invalid>
                   3970: <foo><baz/></foo>
                   3971: </invalid>
                   3972: </testCase>
                   3973: <testCase>
                   3974: <section>6.2.2</section>
                   3975: <correct>
                   3976: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
                   3977:   <group>
                   3978:     <attribute name="bar">
                   3979:       <text/>
                   3980:     </attribute>
                   3981:     <attribute name="baz">
                   3982:       <text/>
                   3983:     </attribute>
                   3984:   </group>
                   3985: </element>
                   3986: </correct>
                   3987: <valid>
                   3988: <foo bar="x" baz="x"/>
                   3989: </valid>
                   3990: <invalid>
                   3991: <foo/>
                   3992: </invalid>
                   3993: </testCase>
                   3994: <testCase>
                   3995: <section>6.2.2</section>
                   3996: <correct>
                   3997: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
                   3998:   <group>
                   3999:     <attribute name="bar">
                   4000:       <text/>
                   4001:     </attribute>
                   4002:     <attribute name="baz">
                   4003:       <text/>
                   4004:     </attribute>
                   4005:   </group>
                   4006: </element>
                   4007: </correct>
                   4008: <valid>
                   4009: <foo bar="x" baz="x"/>
                   4010: </valid>
                   4011: <invalid>
                   4012: <foo/>
                   4013: </invalid>
                   4014: <invalid>
                   4015: <foo bar="x"/>
                   4016: </invalid>
                   4017: <invalid>
                   4018: <foo baz="x"/>
                   4019: </invalid>
                   4020: </testCase>
                   4021: <testCase>
                   4022: <section>6.2.2</section>
                   4023: <correct>
                   4024: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
                   4025:   <group>
                   4026:     <attribute name="baz">
                   4027:       <text/>
                   4028:     </attribute>
                   4029:     <attribute name="bar">
                   4030:       <text/>
                   4031:     </attribute>
                   4032:   </group>
                   4033: </element>
                   4034: </correct>
                   4035: <valid>
                   4036: <foo bar="x" baz="x"/>
                   4037: </valid>
                   4038: <invalid>
                   4039: <foo/>
                   4040: </invalid>
                   4041: <invalid>
                   4042: <foo bar="x"/>
                   4043: </invalid>
                   4044: <invalid>
                   4045: <foo baz="x"/>
                   4046: </invalid>
                   4047: </testCase>
                   4048: <testCase>
                   4049: <section>6.2.2</section>
                   4050: <correct>
                   4051: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
                   4052:   <group>
                   4053:     <attribute name="bar">
                   4054:       <text/>
                   4055:     </attribute>
                   4056:     <element name="baz">
                   4057:       <empty/>
                   4058:     </element>
                   4059:   </group>
                   4060: </element>
                   4061: </correct>
                   4062: <valid>
                   4063: <foo bar="x"><baz/></foo>
                   4064: </valid>
                   4065: <invalid>
                   4066: <foo><baz/></foo>
                   4067: </invalid>
                   4068: <invalid>
                   4069: <foo bar="x"/>
                   4070: </invalid>
                   4071: <invalid>
                   4072: <foo baz="x"><bar/></foo>
                   4073: </invalid>
                   4074: </testCase>
                   4075: <testCase>
                   4076: <section>6.2.2</section>
                   4077: <correct>
                   4078: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
                   4079:   <group>
                   4080:     <element name="baz">
                   4081:       <empty/>
                   4082:     </element>
                   4083:     <attribute name="bar">
                   4084:       <text/>
                   4085:     </attribute>
                   4086:   </group>
                   4087: </element>
                   4088: </correct>
                   4089: <valid>
                   4090: <foo bar="x"><baz/></foo>
                   4091: </valid>
                   4092: <invalid>
                   4093: <foo><baz/></foo>
                   4094: </invalid>
                   4095: <invalid>
                   4096: <foo bar="x"/>
                   4097: </invalid>
                   4098: <invalid>
                   4099: <foo baz="x"><bar/></foo>
                   4100: </invalid>
                   4101: </testCase>
                   4102: </testSuite>
                   4103: <testSuite>
                   4104: <section>6.2.3</section>
                   4105: <testCase>
                   4106: <section>6.2.3</section>
                   4107: <correct>
                   4108: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
                   4109:   <empty/>
                   4110: </element>
                   4111: </correct>
                   4112: <valid>
                   4113: <foo/>
                   4114: </valid>
                   4115: <valid>
                   4116: <foo> </foo>
                   4117: </valid>
                   4118: <valid>
                   4119: <foo>
                   4120: 
                   4121: 
                   4122: </foo>
                   4123: </valid>
                   4124: <valid>
                   4125: <foo>
                   4126: <?target data?>
                   4127: <?target data?>
                   4128: <?target data?>
                   4129: <?target data?>
                   4130: </foo>
                   4131: </valid>
                   4132: <invalid>
                   4133: <foo>x</foo>
                   4134: </invalid>
                   4135: <invalid>
                   4136: <foo><bar/></foo>
                   4137: </invalid>
                   4138: <invalid>
                   4139: <foo bar="x"/>
                   4140: </invalid>
                   4141: </testCase>
                   4142: <testCase>
                   4143: <section>6.2.3</section>
                   4144: <correct>
                   4145: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
                   4146:   <attribute name="bar">
                   4147:     <empty/>
                   4148:   </attribute>
                   4149: </element>
                   4150: </correct>
                   4151: <valid><foo bar=""/></valid>
                   4152: <valid><foo bar=" "/></valid>
                   4153: <invalid><foo bar="x"/></invalid>
                   4154: </testCase>
                   4155: <testCase>
                   4156: <section>6.2.3</section>
                   4157: <correct>
                   4158: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
                   4159:   <list>
                   4160:     <empty/>
                   4161:   </list>
                   4162: </element>
                   4163: </correct>
                   4164: <valid><foo/></valid>
                   4165: <valid><foo> </foo></valid>
                   4166: <invalid><foo>x</foo></invalid>
                   4167: <invalid><foo><bar/></foo></invalid>
                   4168: <invalid><foo bar=""/></invalid>
                   4169: </testCase>
                   4170: <testCase>
                   4171: <section>6.2.3</section>
                   4172: <correct>
                   4173: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
                   4174:   <attribute name="bar">
                   4175:     <list>
                   4176:       <empty/>
                   4177:     </list>
                   4178:   </attribute>
                   4179: </element>
                   4180: </correct>
                   4181: <valid><foo bar=""/></valid>
                   4182: <valid><foo bar=" "/></valid>
                   4183: <invalid><foo bar="x"/></invalid>
                   4184: </testCase>
                   4185: <testCase>
                   4186: <section>6.2.3</section>
                   4187: <correct>
                   4188: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
                   4189:   <group>
                   4190:     <element name="bar">
                   4191:       <empty/>
                   4192:     </element>
                   4193:     <choice>
                   4194:       <empty/>
                   4195:       <element name="baz">
                   4196:         <empty/>
                   4197:       </element>
                   4198:     </choice>
                   4199:   </group>
                   4200: </element>
                   4201: </correct>
                   4202: <valid>
                   4203: <foo><bar/><baz/></foo>
                   4204: </valid>
                   4205: <valid>
                   4206: <foo><bar/></foo>
                   4207: </valid>
                   4208: <invalid>
                   4209: <foo></foo>
                   4210: </invalid>
                   4211: <invalid>
                   4212: <foo><bar/><baz/><baz/></foo>
                   4213: </invalid>
                   4214: </testCase>
                   4215: <testCase>
                   4216: <correct>
                   4217: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
                   4218:   <choice>
                   4219:     <empty/>
                   4220:     <attribute name="bar">
                   4221:       <text/>
                   4222:     </attribute>
                   4223:   </choice>
                   4224: </element>
                   4225: </correct>
                   4226: <valid>
                   4227: <foo bar="x"/>
                   4228: </valid>
                   4229: <valid>
                   4230: <foo/>
                   4231: </valid>
                   4232: <invalid>
                   4233: <foo baz="x"/>
                   4234: </invalid>
                   4235: <invalid>
                   4236: <foo><bar/></foo>
                   4237: </invalid>
                   4238: </testCase>
                   4239: </testSuite>
                   4240: <testSuite>
                   4241: <section>6.2.4</section>
                   4242: <testCase>
                   4243: <section>6.2.4</section>
                   4244: <correct>
                   4245: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
                   4246:   <text/>
                   4247: </element>
                   4248: </correct>
                   4249: <valid>
                   4250: <foo/>
                   4251: </valid>
                   4252: <valid>
                   4253: <foo> </foo>
                   4254: </valid>
                   4255: <valid>
                   4256: <foo>x</foo>
                   4257: </valid>
                   4258: <valid>
                   4259: <foo>
                   4260: x
                   4261: <?target data?>
                   4262: y
                   4263: </foo>
                   4264: </valid>
                   4265: <invalid>
                   4266: <foo><bar/></foo>
                   4267: </invalid>
                   4268: </testCase>
                   4269: <testCase>
                   4270: <section>6.2.4</section>
                   4271: <correct>
                   4272: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
                   4273:   <group>
                   4274:     <text/>
                   4275:     <element name="bar">
                   4276:       <empty/>
                   4277:     </element>
                   4278:   </group>
                   4279: </element>
                   4280: </correct>
                   4281: <valid>
                   4282: <foo><bar/></foo>
                   4283: </valid>
                   4284: <valid>
                   4285: <foo>
                   4286: <bar/>
                   4287: </foo>
                   4288: </valid>
                   4289: <valid>
                   4290: <foo>
                   4291: x
                   4292: <bar/>
                   4293: </foo>
                   4294: </valid>
                   4295: <valid>
                   4296: <foo>
                   4297: x
                   4298: <?target data?>
                   4299: y
                   4300: <bar/></foo>
                   4301: </valid>
                   4302: <invalid>
                   4303: <foo/>
                   4304: </invalid>
                   4305: <invalid>
                   4306: <foo><bar/>x</foo>
                   4307: </invalid>
                   4308: </testCase>
                   4309: <testCase>
                   4310: <section>6.2.4</section>
                   4311: <correct>
                   4312: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
                   4313:   <group>
                   4314:     <element name="bar">
                   4315:       <empty/>
                   4316:     </element>
                   4317:     <text/>
                   4318:   </group>
                   4319: </element>
                   4320: </correct>
                   4321: <valid>
                   4322: <foo><bar/></foo>
                   4323: </valid>
                   4324: <valid>
                   4325: <foo>
                   4326: <bar/>
                   4327: </foo>
                   4328: </valid>
                   4329: <invalid>
                   4330: <foo>
                   4331: x
                   4332: <bar/>
                   4333: </foo>
                   4334: </invalid>
                   4335: <valid>
                   4336: <foo>
                   4337: <bar/>
                   4338: x
                   4339: <?target data?>
                   4340: y
                   4341: </foo>
                   4342: </valid>
                   4343: <invalid>
                   4344: <foo/>
                   4345: </invalid>
                   4346: <valid>
                   4347: <foo><bar/>x</foo>
                   4348: </valid>
                   4349: </testCase>
                   4350: <testCase>
                   4351: <section>6.2.4</section>
                   4352: <correct>
                   4353: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
                   4354:   <interleave>
                   4355:     <element name="bar">
                   4356:       <empty/>
                   4357:     </element>
                   4358:     <text/>
                   4359:   </interleave>
                   4360: </element>
                   4361: </correct>
                   4362: <valid>
                   4363: <foo><bar/></foo>
                   4364: </valid>
                   4365: <valid>
                   4366: <foo>
                   4367: <bar/>
                   4368: </foo>
                   4369: </valid>
                   4370: <valid>
                   4371: <foo>
                   4372: x
                   4373: <bar/>
                   4374: </foo>
                   4375: </valid>
                   4376: <valid>
                   4377: <foo>
                   4378: <bar/>
                   4379: x
                   4380: <?target data?>
                   4381: y
                   4382: </foo>
                   4383: </valid>
                   4384: <invalid>
                   4385: <foo/>
                   4386: </invalid>
                   4387: <valid>
                   4388: <foo><bar/>x</foo>
                   4389: </valid>
                   4390: <valid>
                   4391: <foo>x<bar/>x</foo>
                   4392: </valid>
                   4393: <invalid>
                   4394: <foo>x<bar/>x<bar/></foo>
                   4395: </invalid>
                   4396: </testCase>
                   4397: <testCase>
                   4398: <section>6.2.4</section>
                   4399: <correct>
                   4400: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
                   4401:   <attribute name="bar">
                   4402:     <text/>
                   4403:   </attribute>
                   4404: </element>
                   4405: </correct>
                   4406: <valid>
                   4407: <foo bar=""/>
                   4408: </valid>
                   4409: <valid>
                   4410: <foo bar="x"/>
                   4411: </valid>
                   4412: <valid>
                   4413: <foo bar=" "/>
                   4414: </valid>
                   4415: <invalid>
                   4416: <foo/>
                   4417: </invalid>
                   4418: <invalid>
                   4419: <foo><bar/>x<bar/></foo>
                   4420: </invalid>
                   4421: </testCase>
                   4422: </testSuite>
                   4423: <testSuite>
                   4424: <section>6.2.5</section>
                   4425: <testCase>
                   4426: <section>6.2.5</section>
                   4427: <correct>
                   4428: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
                   4429:   <oneOrMore>
                   4430:     <element name="bar">
                   4431:       <empty/>
                   4432:     </element>
                   4433:   </oneOrMore>
                   4434: </element>
                   4435: </correct>
                   4436: <valid>
                   4437: <foo><bar/></foo>
                   4438: </valid>
                   4439: <valid>
                   4440: <foo><bar/><bar/></foo>
                   4441: </valid>
                   4442: <valid>
                   4443: <foo><bar/><bar/><bar/></foo>
                   4444: </valid>
                   4445: <invalid>
                   4446: <foo/>
                   4447: </invalid>
                   4448: </testCase>
                   4449: <testCase>
                   4450: <section>6.2.5</section>
                   4451: <correct>
                   4452: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
                   4453:   <oneOrMore>
                   4454:     <group>
                   4455:       <element name="bar">
                   4456:        <empty/>
                   4457:       </element>
                   4458:       <element name="bar">
                   4459:        <empty/>
                   4460:       </element>
                   4461:     </group>
                   4462:   </oneOrMore>
                   4463: </element>
                   4464: </correct>
                   4465: <valid>
                   4466: <foo><bar/><bar/></foo>
                   4467: </valid>
                   4468: <valid>
                   4469: <foo><bar/><bar/><bar/><bar/></foo>
                   4470: </valid>
                   4471: <valid>
                   4472: <foo><bar/><bar/><bar/><bar/><bar/><bar/></foo>
                   4473: </valid>
                   4474: <invalid>
                   4475: <foo><bar/></foo>
                   4476: </invalid>
                   4477: <invalid>
                   4478: <foo/>
                   4479: </invalid>
                   4480: <invalid>
                   4481: <foo><bar/><bar/><bar/></foo>
                   4482: </invalid>
                   4483: </testCase>
                   4484: <testCase>
                   4485: <section>6.2.5</section>
                   4486: <correct>
                   4487: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
                   4488:   <oneOrMore>
                   4489:     <attribute>
                   4490:       <nsName ns=""/>
                   4491:       <text/>
                   4492:     </attribute>
                   4493:   </oneOrMore>
                   4494: </element>
                   4495: </correct>
                   4496: <valid>
                   4497: <foo x=""/>
                   4498: </valid>
                   4499: <valid>
                   4500: <foo x="" y=""/>
                   4501: </valid>
                   4502: <valid>
                   4503: <foo x="" y="" z=""/>
                   4504: </valid>
                   4505: <invalid>
                   4506: <foo/>
                   4507: </invalid>
                   4508: <invalid>
                   4509: <foo xmlns:ns="http://www.example.com" ns:x=""/>
                   4510: </invalid>
                   4511: <invalid>
                   4512: <foo x="" xmlns:ns="http://www.example.com" ns:x=""/>
                   4513: </invalid>
                   4514: </testCase>
                   4515: <testCase>
                   4516: <section>6.2.5</section>
                   4517: <correct>
                   4518: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
                   4519:   <oneOrMore>
                   4520:     <choice>
                   4521:       <attribute name="bar">
                   4522:         <text/>
                   4523:       </attribute>
                   4524:       <element name="bar">
                   4525:         <text/>
                   4526:       </element>
                   4527:     </choice>
                   4528:   </oneOrMore>
                   4529: </element>
                   4530: </correct>
                   4531: <valid>
                   4532: <foo bar=""><bar/><bar/></foo>
                   4533: </valid>
                   4534: <valid>
                   4535: <foo><bar/></foo>
                   4536: </valid>
                   4537: <valid>
                   4538: <foo bar=""/>
                   4539: </valid>
                   4540: <invalid>
                   4541: <foo/>
                   4542: </invalid>
                   4543: </testCase>
                   4544: </testSuite>
                   4545: <testSuite>
                   4546: <section>6.2.6</section>
                   4547: <testCase>
                   4548: <section>6.2.6</section>
                   4549: <correct>
                   4550: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
                   4551:   <interleave>
                   4552:     <element name="bar">
                   4553:       <empty/>
                   4554:     </element>
                   4555:     <element name="baz">
                   4556:       <empty/>
                   4557:     </element>
                   4558:   </interleave>
                   4559: </element>
                   4560: </correct>
                   4561: <valid>
                   4562: <foo><bar/><baz/></foo>
                   4563: </valid>
                   4564: <valid>
                   4565: <foo><baz/><bar/></foo>
                   4566: </valid>
                   4567: <invalid>
                   4568: <foo><bar/></foo>
                   4569: </invalid>
                   4570: <invalid>
                   4571: <foo><baz/></foo>
                   4572: </invalid>
                   4573: <invalid>
                   4574: <foo><bar/><bar/></foo>
                   4575: </invalid>
                   4576: <invalid>
                   4577: <foo/>
                   4578: </invalid>
                   4579: </testCase>
                   4580: <testCase>
                   4581: <section>6.2.6</section>
                   4582: <correct>
                   4583: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
                   4584:   <interleave>
                   4585:     <group>
                   4586:       <element name="bar1">
                   4587:         <empty/>
                   4588:       </element>
                   4589:       <element name="bar2">
                   4590:         <empty/>
                   4591:       </element>
                   4592:     </group>
                   4593:     <element name="baz">
                   4594:       <empty/>
                   4595:     </element>
                   4596:   </interleave>
                   4597: </element>
                   4598: </correct>
                   4599: <valid>
                   4600: <foo><baz/><bar1/><bar2/></foo>
                   4601: </valid>
                   4602: <valid>
                   4603: <foo><bar1/><baz/><bar2/></foo>
                   4604: </valid>
                   4605: <valid>
                   4606: <foo><bar1/><bar2/><baz/></foo>
                   4607: </valid>
                   4608: <invalid>
                   4609: <foo><baz/><bar2/><bar1/></foo>
                   4610: </invalid>
                   4611: <invalid>
                   4612: <foo><bar2/><bar1/></foo>
                   4613: </invalid>
                   4614: <invalid>
                   4615: <foo><baz/><bar2/><bar1/></foo>
                   4616: </invalid>
                   4617: <invalid>
                   4618: <foo><baz/><bar1/></foo>
                   4619: </invalid>
                   4620: <invalid>
                   4621: <foo><baz/><bar2/></foo>
                   4622: </invalid>
                   4623: </testCase>
                   4624: <testCase>
                   4625: <section>6.2.6</section>
                   4626: <correct>
                   4627: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
                   4628:   <interleave>
                   4629:     <attribute name="bar">
                   4630:       <text/>
                   4631:     </attribute>
                   4632:     <attribute name="baz">
                   4633:       <text/>
                   4634:     </attribute>
                   4635:   </interleave>
                   4636: </element>
                   4637: </correct>
                   4638: <valid>
                   4639: <foo bar="" baz=""/>
                   4640: </valid>
                   4641: <invalid>
                   4642: <foo/>
                   4643: </invalid>
                   4644: <invalid>
                   4645: <foo/>
                   4646: </invalid>
                   4647: <invalid>
                   4648: <foo bar=""/>
                   4649: </invalid>
                   4650: <invalid>
                   4651: <foo baz=""/>
                   4652: </invalid>
                   4653: </testCase>
                   4654: <testCase>
                   4655: <section>6.2.6</section>
                   4656: <correct>
                   4657: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
                   4658:   <interleave>
                   4659:     <element name="bar">
                   4660:       <empty/>
                   4661:     </element>
                   4662:     <attribute name="baz">
                   4663:       <text/>
                   4664:     </attribute>
                   4665:   </interleave>
                   4666: </element>
                   4667: </correct>
                   4668: <valid>
                   4669: <foo baz=""><bar/></foo>
                   4670: </valid>
                   4671: <invalid>
                   4672: <foo/>
                   4673: </invalid>
                   4674: <invalid>
                   4675: <foo bar=""/>
                   4676: </invalid>
                   4677: <invalid>
                   4678: <foo bar=""><baz/><baz/></foo>
                   4679: </invalid>
                   4680: <invalid>
                   4681: <foo><baz/><baz/></foo>
                   4682: </invalid>
                   4683: </testCase>
                   4684: </testSuite>
                   4685: <testSuite>
                   4686: <section>6.2.7</section>
                   4687: <testCase>
                   4688: <section>6.2.7</section>
                   4689: <correct>
                   4690: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
                   4691:   <attribute>
                   4692:     <name ns="">bar</name>
                   4693:     <value type="string" datatypeLibrary="">baz</value>
                   4694:   </attribute>
                   4695: </element>
                   4696: </correct>
                   4697: <valid>
                   4698: <foo bar="baz"/>
                   4699: </valid>
                   4700: <invalid>
                   4701: <foo bar=" baz"/>
                   4702: </invalid>
                   4703: <invalid>
                   4704: <foo bar="b"/>
                   4705: </invalid>
                   4706: <invalid>
                   4707: <foo bar=""/>
                   4708: </invalid>
                   4709: <invalid>
                   4710: <foo bar=" "/>
                   4711: </invalid>
                   4712: <invalid>
                   4713: <foo><bar>baz</bar></foo>
                   4714: </invalid>
                   4715: </testCase>
                   4716: <testCase>
                   4717: <section>6.2.7</section>
                   4718: <correct>
                   4719: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
                   4720:   <attribute>
                   4721:     <name ns="">bar</name>
                   4722:     <choice>
                   4723:       <value type="string" datatypeLibrary="">baz</value>
                   4724:       <empty/>
                   4725:     </choice>
                   4726:   </attribute>
                   4727: </element>
                   4728: </correct>
                   4729: <valid>
                   4730: <foo bar="baz"/>
                   4731: </valid>
                   4732: <valid>
                   4733: <foo bar=""/>
                   4734: </valid>
                   4735: <invalid>
                   4736: <foo bar=" baz"/>
                   4737: </invalid>
                   4738: <invalid>
                   4739: <foo bar="b"/>
                   4740: </invalid>
                   4741: <invalid>
                   4742: <foo><bar>baz</bar></foo>
                   4743: </invalid>
                   4744: <invalid>
                   4745: <foo><bar/></foo>
                   4746: </invalid>
                   4747: <invalid>
                   4748: <foo/>
                   4749: </invalid>
                   4750: </testCase>
                   4751: <testCase>
                   4752: <section>6.2.7</section>
                   4753: <correct>
                   4754: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
                   4755:   <attribute>
                   4756:     <name ns="">bar</name>
                   4757:     <value type="string"/>
                   4758:   </attribute>
                   4759: </element>
                   4760: </correct>
                   4761: <valid>
                   4762: <foo bar=""/>
                   4763: </valid>
                   4764: <invalid>
                   4765: <foo bar=" "/>
                   4766: </invalid>
                   4767: <invalid>
                   4768: <foo bar="x"/>
                   4769: </invalid>
                   4770: </testCase>
                   4771: <testCase>
                   4772: <section>6.2.7</section>
                   4773: <correct>
                   4774: <element xmlns="http://relaxng.org/ns/structure/1.0">
                   4775:   <name ns="">foo</name>
                   4776:   <group>
                   4777:     <element>
                   4778:       <name ns="">bar</name>
                   4779:       <empty/>
                   4780:     </element>
                   4781:     <element>
                   4782:       <name ns="">baz</name>
                   4783:       <empty/>
                   4784:     </element>
                   4785:   </group>
                   4786: </element>
                   4787: </correct>
                   4788: <valid>
                   4789: <foo><bar/><baz/></foo>
                   4790: </valid>
                   4791: <valid>
                   4792: <foo>
                   4793: <bar/>
                   4794: <baz/>
                   4795: </foo>
                   4796: </valid>
                   4797: <valid>
                   4798: <foo>
                   4799: <bar/>
                   4800: &#xD;
                   4801: <baz/>
                   4802: </foo>
                   4803: </valid>
                   4804: <invalid>
                   4805: <foo/>
                   4806: </invalid>
                   4807: <invalid>
                   4808: <bar><bar/><baz/></bar>
                   4809: </invalid>
                   4810: </testCase>
                   4811: <testCase>
                   4812: <section>6.2.7</section>
                   4813: <section>6.2.8</section>
                   4814: <correct>
                   4815: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
                   4816:   <value type="string"/>
                   4817: </element>
                   4818: </correct>
                   4819: <valid><foo/></valid>
                   4820: <invalid><foo> </foo></invalid>
                   4821: <invalid><foo>x</foo></invalid>
                   4822: </testCase>
                   4823: <testCase>
                   4824: <section>6.2.7</section>
                   4825: <section>6.2.8</section>
                   4826: <correct>
                   4827: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
                   4828:   <choice>
                   4829:     <value type="string"/>
                   4830:     <empty/>
                   4831:   </choice>
                   4832: </element>
                   4833: </correct>
                   4834: <valid><foo/></valid>
                   4835: <valid><foo> </foo></valid>
                   4836: <invalid><foo>x</foo></invalid>
                   4837: </testCase>
                   4838: <testCase>
                   4839: <section>6.2.7</section>
                   4840: <section>6.2.8</section>
                   4841: <section>6.2.10</section>
                   4842: <correct>
                   4843: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
                   4844:   <list>
                   4845:     <data type="token"/>
                   4846:   </list>
                   4847: </element>
                   4848: </correct>
                   4849: <invalid><foo/></invalid>
                   4850: <invalid><foo> </foo></invalid>
                   4851: <valid><foo>x</foo></valid>
                   4852: <valid><foo> x </foo></valid>
                   4853: <invalid><foo>x y</foo></invalid>
                   4854: </testCase>
                   4855: <testCase>
                   4856: <section>6.2.7</section>
                   4857: <section>6.2.8</section>
                   4858: <requires datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"/>
                   4859: <correct>
                   4860: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
                   4861:  <data type="string"
                   4862:        datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
                   4863:    <param name="minLength">2</param>
                   4864:  </data>
                   4865: </element>
                   4866: </correct>
                   4867: <valid><foo>xx</foo></valid>
                   4868: <valid><foo>xxx</foo></valid>
                   4869: <valid><foo>  </foo></valid>
                   4870: <valid><foo>   </foo></valid>
                   4871: <invalid><foo>x</foo></invalid>
                   4872: <invalid><foo> </foo></invalid>
                   4873: <invalid><foo/></invalid>
                   4874: </testCase>
                   4875: <testCase>
                   4876: <section>6.2.7</section>
                   4877: <section>6.2.8</section>
                   4878: <correct>
                   4879: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
                   4880:   <choice>
                   4881:     <value>x</value>
                   4882:     <element name="bar">
                   4883:       <empty/>
                   4884:     </element>
                   4885:   </choice>
                   4886: </element>
                   4887: </correct>
                   4888: <valid><foo> x </foo></valid>
                   4889: <valid><foo>x</foo></valid>
                   4890: <invalid><foo>y</foo></invalid>
                   4891: <valid><foo><bar/></foo></valid>
                   4892: <valid>
                   4893: <foo>
                   4894: <bar/>
                   4895: </foo>
                   4896: </valid>
                   4897: <invalid><foo>x<bar/></foo></invalid>
                   4898: <invalid><foo/></invalid>
                   4899: <invalid><foo><bar/>x</foo></invalid>
                   4900: </testCase>
                   4901: <testCase>
                   4902: <section>6.2.7</section>
                   4903: <section>6.2.8</section>
                   4904: <correct>
                   4905: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
                   4906:   <choice>
                   4907:     <value>x</value>
                   4908:     <mixed>
                   4909:       <element name="bar">
                   4910:         <empty/>
                   4911:       </element>
                   4912:     </mixed>
                   4913:   </choice>
                   4914: </element>
                   4915: </correct>
                   4916: <valid><foo> x </foo></valid>
                   4917: <valid><foo>x</foo></valid>
                   4918: <invalid><foo>y</foo></invalid>
                   4919: <valid><foo><bar/></foo></valid>
                   4920: <valid>
                   4921: <foo>
                   4922: <bar/>
                   4923: </foo>
                   4924: </valid>
                   4925: <valid><foo>x<bar/></foo></valid>
                   4926: <invalid><foo/></invalid>
                   4927: <valid><foo><bar/>x</foo></valid>
                   4928: </testCase>
                   4929: </testSuite>
                   4930: <testSuite>
                   4931: <section>6.2.8</section>
                   4932: <testCase>
                   4933: <section>6.2.8</section>
                   4934: <correct>
                   4935: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
                   4936:   <data type="string">
                   4937:     <except>
                   4938:       <choice>
                   4939:         <value>x</value>
                   4940:         <value>y</value>
                   4941:       </choice>
                   4942:     </except>
                   4943:   </data>
                   4944: </element>
                   4945: </correct>
                   4946: <valid>
                   4947: <foo>xyzzy</foo>
                   4948: </valid>
                   4949: <invalid>
                   4950: <foo>x</foo>
                   4951: </invalid>
                   4952: <invalid>
                   4953: <foo>y</foo>
                   4954: </invalid>
                   4955: <invalid>
                   4956: <foo> x</foo>
                   4957: </invalid>
                   4958: </testCase>
                   4959: <testCase>
                   4960: <section>6.2.8</section>
                   4961: <correct>
                   4962: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
                   4963:   <data type="string"/>
                   4964: </element>
                   4965: </correct>
                   4966: <valid>
                   4967: <foo/>
                   4968: </valid>
                   4969: </testCase>
                   4970: <testCase>
                   4971: <section>6.2.8</section>
                   4972: <correct>
                   4973: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
                   4974:   <value/>
                   4975: </element>
                   4976: </correct>
                   4977: <valid>
                   4978: <foo/>
                   4979: </valid>
                   4980: </testCase>
                   4981: <testCase>
                   4982: <section>6.2.8</section>
                   4983: <correct>
                   4984: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
                   4985:   <data type="string">
                   4986:     <except>
                   4987:       <value/>
                   4988:     </except>
                   4989:   </data>
                   4990: </element>
                   4991: </correct>
                   4992: <invalid>
                   4993: <foo/>
                   4994: </invalid>
                   4995: <valid>
                   4996: <foo>x</foo>
                   4997: </valid>
                   4998: </testCase>
                   4999: </testSuite>
                   5000: <testSuite>
                   5001: <section>6.2.9</section>
                   5002: <testCase>
                   5003: <section>6.2.9</section>
                   5004: <correct>
                   5005: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
                   5006:   <data type="string" datatypeLibrary=""/>
                   5007: </element>
                   5008: </correct>
                   5009: <valid>
                   5010: <foo>xyzzy</foo>
                   5011: </valid>
                   5012: <valid>
                   5013: <foo>
                   5014: x
                   5015: <?target data?>
                   5016: y
                   5017: <?target data?>
                   5018: z
                   5019: </foo>
                   5020: </valid>
                   5021: <valid>
                   5022: <foo></foo>
                   5023: </valid>
                   5024: <valid>
                   5025: <foo>
                   5026: </foo>
                   5027: </valid>
                   5028: <invalid>
                   5029: <foo><bar/></foo>
                   5030: </invalid>
                   5031: <invalid>
                   5032: <foo bar=""/>
                   5033: </invalid>
                   5034: </testCase>
                   5035: <testCase>
                   5036: <section>6.2.9</section>
                   5037: <correct>
                   5038: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
                   5039:   <data type="token" datatypeLibrary=""/>
                   5040: </element>
                   5041: </correct>
                   5042: <valid>
                   5043: <foo>xyzzy</foo>
                   5044: </valid>
                   5045: <valid>
                   5046: <foo>
                   5047: x
                   5048: <?target data?>
                   5049: y
                   5050: <?target data?>
                   5051: z
                   5052: </foo>
                   5053: </valid>
                   5054: <valid>
                   5055: <foo></foo>
                   5056: </valid>
                   5057: <valid>
                   5058: <foo>
                   5059: </foo>
                   5060: </valid>
                   5061: <invalid>
                   5062: <foo><bar/></foo>
                   5063: </invalid>
                   5064: <invalid>
                   5065: <foo bar=""/>
                   5066: </invalid>
                   5067: </testCase>
                   5068: <testCase>
                   5069: <section>6.2.9</section>
                   5070: <correct>
                   5071: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
                   5072:   <value type="string" datatypeLibrary="">x</value>
                   5073: </element>
                   5074: </correct>
                   5075: <valid><foo>x</foo></valid>
                   5076: <invalid><foo>xy</foo></invalid>
                   5077: <invalid><foo> x</foo></invalid>
                   5078: <invalid><foo/></invalid>
                   5079: </testCase>
                   5080: <testCase>
                   5081: <section>6.2.9</section>
                   5082: <correct>
                   5083: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
                   5084:   <value type="string" datatypeLibrary=""> x</value>
                   5085: </element>
                   5086: </correct>
                   5087: <valid><foo> x</foo></valid>
                   5088: <invalid><foo> xy</foo></invalid>
                   5089: <invalid><foo>x</foo></invalid>
                   5090: <invalid><foo/></invalid>
                   5091: </testCase>
                   5092: <testCase>
                   5093: <section>6.2.9</section>
                   5094: <correct>
                   5095: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
                   5096:   <value type="token" datatypeLibrary="">x</value>
                   5097: </element>
                   5098: </correct>
                   5099: <valid><foo>x</foo></valid>
                   5100: <valid><foo> x</foo></valid>
                   5101: <valid><foo>x </foo></valid>
                   5102: <valid><foo>&#xA;&#xD;&#x9;&#x20;x&#xA;&#xD;&#x9;&#x20;</foo></valid>
                   5103: <invalid><foo/></invalid>
                   5104: <invalid><foo>xy</foo></invalid>
                   5105: </testCase>
                   5106: <testCase>
                   5107: <section>6.2.9</section>
                   5108: <correct>
                   5109: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
                   5110:   <value type="token" datatypeLibrary="">x y</value>
                   5111: </element>
                   5112: </correct>
                   5113: <valid><foo>x y</foo></valid>
                   5114: <valid><foo> x   y </foo></valid>
                   5115: <valid><foo>x&#xA;&#xD;&#x9;&#x20;y</foo></valid>
                   5116: <invalid><foo>xy</foo></invalid>
                   5117: </testCase>
                   5118: <testCase>
                   5119: <section>6.2.9</section>
                   5120: <correct>
                   5121: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
                   5122:   <value type="token" datatypeLibrary="">&#xA;&#xD;&#x9;&#x20;x&#xA;&#xD;&#x9;&#x20;</value>
                   5123: </element>
                   5124: </correct>
                   5125: <valid><foo>x</foo></valid>
                   5126: <valid><foo> x</foo></valid>
                   5127: <valid><foo>x </foo></valid>
                   5128: <valid><foo>&#xD;&#x9;x&#x20;&#xA;</foo></valid>
                   5129: <invalid><foo/></invalid>
                   5130: <invalid><foo>xy</foo></invalid>
                   5131: </testCase>
                   5132: <testCase>
                   5133: <section>6.2.9</section>
                   5134: <correct>
                   5135: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
                   5136:   <value type="token" datatypeLibrary="">x&#xA;&#xD;&#x9;&#x20;y</value>
                   5137: </element>
                   5138: </correct>
                   5139: <valid><foo>x y</foo></valid>
                   5140: <valid><foo>x  y</foo></valid>
                   5141: <valid><foo> x y </foo></valid>
                   5142: <valid><foo>x&#xD;&#x9;y</foo></valid>
                   5143: <valid><foo>x&#x20;&#xA;y</foo></valid>
                   5144: <invalid><foo/></invalid>
                   5145: <invalid><foo>xy</foo></invalid>
                   5146: </testCase>
                   5147: <testCase>
                   5148: <section>6.2.9</section>
                   5149: <incorrect>
                   5150: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
                   5151:   <data type="decimal" datatypeLibrary=""/>
                   5152: </element>
                   5153: </incorrect>
                   5154: </testCase>
                   5155: <testCase>
                   5156: <section>6.2.9</section>
                   5157: <incorrect>
                   5158: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
                   5159:   <value type="decimal" datatypeLibrary=""/>
                   5160: </element>
                   5161: </incorrect>
                   5162: </testCase>
                   5163: <testCase>
                   5164: <section>6.2.9</section>
                   5165: <incorrect>
                   5166: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
                   5167:   <data type="string" datatypeLibrary="">
                   5168:     <param name="length">2</param>
                   5169:   </data>
                   5170: </element>
                   5171: </incorrect>
                   5172: </testCase>
                   5173: <testCase>
                   5174: <section>6.2.9</section>
                   5175: <incorrect>
                   5176: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
                   5177:   <data type="token" datatypeLibrary="">
                   5178:     <param name="length">2</param>
                   5179:   </data>
                   5180: </element>
                   5181: </incorrect>
                   5182: </testCase>
                   5183: </testSuite>
                   5184: <testSuite>
                   5185: <section>6.2.10</section>
                   5186: <testCase>
                   5187: <section>6.2.10</section>
                   5188: <correct>
                   5189: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
                   5190:   <list>
                   5191:     <value type="string">x</value>
                   5192:   </list>
                   5193: </element>
                   5194: </correct>
                   5195: <valid>
                   5196: <foo>x</foo>
                   5197: </valid>
                   5198: <valid>
                   5199: <foo> x </foo>
                   5200: </valid>
                   5201: <invalid>
                   5202: <foo>x x</foo>
                   5203: </invalid>
                   5204: </testCase>
                   5205: <testCase>
                   5206: <section>6.2.10</section>
                   5207: <correct>
                   5208: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
                   5209:   <list>
                   5210:     <oneOrMore>
                   5211:       <value type="string">x</value>
                   5212:     </oneOrMore>
                   5213:   </list>
                   5214: </element>
                   5215: </correct>
                   5216: <valid>
                   5217: <foo>x</foo>
                   5218: </valid>
                   5219: <valid>
                   5220: <foo> x x x x </foo>
                   5221: </valid>
                   5222: <invalid>
                   5223: <foo/>
                   5224: </invalid>
                   5225: <invalid>
                   5226: <foo>x y</foo>
                   5227: </invalid>
                   5228: </testCase>
                   5229: <testCase>
                   5230: <section>6.2.10</section>
                   5231: <correct>
                   5232: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
                   5233:   <list>
                   5234:     <group>
                   5235:       <value type="string">x</value>
                   5236:       <value type="string">y</value>
                   5237:     </group>
                   5238:   </list>
                   5239: </element>
                   5240: </correct>
                   5241: <valid>
                   5242: <foo>x y</foo>
                   5243: </valid>
                   5244: <valid>
                   5245: <foo>x  y</foo>
                   5246: </valid>
                   5247: <valid>
                   5248: <foo>&#xD;x&#xA;y&#x9;</foo>
                   5249: </valid>
                   5250: <invalid>
                   5251: <foo>x</foo>
                   5252: </invalid>
                   5253: </testCase>
                   5254: <testCase>
                   5255: <section>6.2.10</section>
                   5256: <correct>
                   5257: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
                   5258:   <list>
                   5259:     <group>
                   5260:       <data type="token"/>
                   5261:       <data type="token"/>
                   5262:     </group>
                   5263:   </list>
                   5264: </element>
                   5265: </correct>
                   5266: <valid>
                   5267: <foo>x y</foo>
                   5268: </valid>
                   5269: <invalid>
                   5270: <foo/>
                   5271: </invalid>
                   5272: <invalid>
                   5273: <foo>x y z</foo>
                   5274: </invalid>
                   5275: </testCase>
                   5276: <testCase>
                   5277: <section>6.2.10</section>
                   5278: <correct>
                   5279: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
                   5280:   <list>
                   5281:     <value>x y</value>
                   5282:   </list>
                   5283: </element>
                   5284: </correct>
                   5285: <invalid>
                   5286: <foo>x y</foo>
                   5287: </invalid>
                   5288: </testCase>
                   5289: </testSuite>
                   5290: </testSuite>
                   5291: </testSuite>
                   5292: <testSuite>
                   5293: <section>7</section>
                   5294: <testSuite>
                   5295: <section>7.1</section>
                   5296: <testCase>
                   5297: <section>7.1.1</section>
                   5298: <incorrect>
                   5299: <grammar xmlns="http://relaxng.org/ns/structure/1.0">
                   5300: <start>
                   5301:   <element name="foo">
                   5302:     <attribute name="bar">
                   5303:       <element name="baz">
                   5304:         <empty/>
                   5305:       </element>
                   5306:     </attribute>
                   5307:   </element>
                   5308: </start>
                   5309: </grammar>
                   5310: </incorrect>
                   5311: </testCase>
                   5312: <testCase>
                   5313: <section>7.1.1</section>
                   5314: <incorrect>
                   5315: <grammar xmlns="http://relaxng.org/ns/structure/1.0">
                   5316: <start>
                   5317:   <element name="foo">
                   5318:     <attribute name="bar">
                   5319:       <choice>
                   5320:         <element name="baz">
                   5321:           <empty/>
                   5322:         </element>
                   5323:         <text/>
                   5324:       </choice>
                   5325:     </attribute>
                   5326:   </element>
                   5327: </start>
                   5328: </grammar>
                   5329: </incorrect>
                   5330: </testCase>
                   5331: <testCase>
                   5332: <section>7.1.1</section>
                   5333: <incorrect>
                   5334: <grammar xmlns="http://relaxng.org/ns/structure/1.0">
                   5335: <start>
                   5336:   <element name="foo">
                   5337:     <attribute name="bar">
                   5338:       <attribute name="baz"/>
                   5339:     </attribute>
                   5340:   </element>
                   5341: </start>
                   5342: </grammar>
                   5343: </incorrect>
                   5344: </testCase>
                   5345: <testCase>
                   5346: <section>7.1.1</section>
                   5347: <incorrect>
                   5348: <grammar xmlns="http://relaxng.org/ns/structure/1.0">
                   5349: <start>
                   5350:   <element name="foo">
                   5351:     <attribute name="bar">
                   5352:       <choice>
                   5353:         <attribute name="baz"/>
                   5354:         <text/>
                   5355:       </choice>
                   5356:     </attribute>
                   5357:   </element>
                   5358: </start>
                   5359: </grammar>
                   5360: </incorrect>
                   5361: </testCase>
                   5362: <testCase>
                   5363: <section>7.1.2</section>
                   5364: <incorrect>
                   5365: <grammar xmlns="http://relaxng.org/ns/structure/1.0">
                   5366: <start>
                   5367:   <element name="foo">
                   5368:     <oneOrMore>
                   5369:       <group>
                   5370:         <attribute name="bar"/>
                   5371:         <attribute name="baz"/>
                   5372:       </group>
                   5373:     </oneOrMore>
                   5374:   </element>
                   5375: </start>
                   5376: </grammar>
                   5377: </incorrect>
                   5378: </testCase>
                   5379: <testCase>
                   5380: <section>7.1.2</section>
                   5381: <incorrect>
                   5382: <grammar xmlns="http://relaxng.org/ns/structure/1.0">
                   5383: <start>
                   5384:   <element name="foo">
                   5385:     <oneOrMore>
                   5386:       <group>
                   5387:         <attribute>
                   5388:           <anyName/>
                   5389:         </attribute>
                   5390:         <attribute>
                   5391:           <anyName/>
                   5392:         </attribute>
                   5393:       </group>
                   5394:     </oneOrMore>
                   5395:   </element>
                   5396: </start>
                   5397: </grammar>
                   5398: </incorrect>
                   5399: </testCase>
                   5400: <testCase>
                   5401: <section>7.1.2</section>
                   5402: <incorrect>
                   5403: <grammar xmlns="http://relaxng.org/ns/structure/1.0">
                   5404: <start>
                   5405:   <element name="foo">
                   5406:     <oneOrMore>
                   5407:       <choice>
                   5408:         <group>
                   5409:           <choice>
                   5410:             <attribute name="bar"/>
                   5411:             <attribute name="baz"/>
                   5412:           </choice>
                   5413:           <choice>
                   5414:             <attribute name="bar"/>
                   5415:             <attribute name="baz"/>
                   5416:           </choice>
                   5417:         </group>
                   5418:         <attribute name="bar"/>
                   5419:       </choice>
                   5420:     </oneOrMore>
                   5421:   </element>
                   5422: </start>
                   5423: </grammar>
                   5424: </incorrect>
                   5425: </testCase>
                   5426: <testCase>
                   5427: <section>7.1.2</section>
                   5428: <incorrect>
                   5429: <grammar xmlns="http://relaxng.org/ns/structure/1.0">
                   5430: <start>
                   5431:   <element name="foo">
                   5432:     <oneOrMore>
                   5433:       <interleave>
                   5434:         <attribute name="bar"/>
                   5435:         <attribute name="baz"/>
                   5436:       </interleave>
                   5437:     </oneOrMore>
                   5438:   </element>
                   5439: </start>
                   5440: </grammar>
                   5441: </incorrect>
                   5442: </testCase>
                   5443: <testCase>
                   5444: <section>7.1.2</section>
                   5445: <incorrect>
                   5446: <grammar xmlns="http://relaxng.org/ns/structure/1.0">
                   5447: <start>
                   5448:   <element name="foo">
                   5449:     <oneOrMore>
                   5450:       <interleave>
                   5451:         <attribute>
                   5452:           <anyName/>
                   5453:         </attribute>
                   5454:         <attribute>
                   5455:           <anyName/>
                   5456:         </attribute>
                   5457:       </interleave>
                   5458:     </oneOrMore>
                   5459:   </element>
                   5460: </start>
                   5461: </grammar>
                   5462: </incorrect>
                   5463: </testCase>
                   5464: <testCase>
                   5465: <section>7.1.2</section>
                   5466: <incorrect>
                   5467: <grammar xmlns="http://relaxng.org/ns/structure/1.0">
                   5468: <start>
                   5469:   <element name="foo">
                   5470:     <oneOrMore>
                   5471:       <choice>
                   5472:         <interleave>
                   5473:           <choice>
                   5474:             <attribute name="bar"/>
                   5475:             <attribute name="baz"/>
                   5476:           </choice>
                   5477:           <choice>
                   5478:             <attribute name="bar"/>
                   5479:             <attribute name="baz"/>
                   5480:           </choice>
                   5481:         </interleave>
                   5482:         <attribute name="bar"/>
                   5483:       </choice>
                   5484:     </oneOrMore>
                   5485:   </element>
                   5486: </start>
                   5487: </grammar>
                   5488: </incorrect>
                   5489: </testCase>
                   5490: <testCase>
                   5491: <section>7.1.3</section>
                   5492: <incorrect>
                   5493: <grammar xmlns="http://relaxng.org/ns/structure/1.0">
                   5494: <start>
                   5495:   <element name="foo">
                   5496:     <list>
                   5497:       <list>
                   5498:         <data type="token"/>
                   5499:       </list>
                   5500:     </list>
                   5501:   </element>
                   5502: </start>
                   5503: </grammar>
                   5504: </incorrect>
                   5505: </testCase>
                   5506: <testCase>
                   5507: <section>7.1.3</section>
                   5508: <incorrect>
                   5509: <grammar xmlns="http://relaxng.org/ns/structure/1.0">
                   5510: <start>
                   5511:   <element name="foo">
                   5512:     <list>
                   5513:       <choice>
                   5514:         <list>
                   5515:           <data type="token"/>
                   5516:         </list>
                   5517:         <data type="token"/>
                   5518:       </choice>
                   5519:     </list>
                   5520:   </element>
                   5521: </start>
                   5522: </grammar>
                   5523: </incorrect>
                   5524: </testCase>
                   5525: <testCase>
                   5526: <section>7.1.3</section>
                   5527: <incorrect>
                   5528: <grammar xmlns="http://relaxng.org/ns/structure/1.0">
                   5529: <start>
                   5530:   <element name="foo">
                   5531:     <list>
                   5532:       <element name="bar">
                   5533:         <empty/>
                   5534:       </element>
                   5535:     </list>
                   5536:   </element>
                   5537: </start>
                   5538: </grammar>
                   5539: </incorrect>
                   5540: </testCase>
                   5541: <testCase>
                   5542: <section>7.1.3</section>
                   5543: <incorrect>
                   5544: <grammar xmlns="http://relaxng.org/ns/structure/1.0">
                   5545: <start>
                   5546:   <element name="foo">
                   5547:     <list>
                   5548:       <choice>
                   5549:         <data type="token"/>
                   5550:         <element name="bar">
                   5551:           <empty/>
                   5552:         </element>
                   5553:       </choice>
                   5554:     </list>
                   5555:   </element>
                   5556: </start>
                   5557: </grammar>
                   5558: </incorrect>
                   5559: </testCase>
                   5560: <testCase>
                   5561: <section>7.1.3</section>
                   5562: <incorrect>
                   5563: <grammar xmlns="http://relaxng.org/ns/structure/1.0">
                   5564: <start>
                   5565:   <element name="foo">
                   5566:     <list>
                   5567:       <attribute name="bar">
                   5568:         <empty/>
                   5569:       </attribute>
                   5570:     </list>
                   5571:   </element>
                   5572: </start>
                   5573: </grammar>
                   5574: </incorrect>
                   5575: </testCase>
                   5576: <testCase>
                   5577: <section>7.1.3</section>
                   5578: <incorrect>
                   5579: <grammar xmlns="http://relaxng.org/ns/structure/1.0">
                   5580: <start>
                   5581:   <element name="foo">
                   5582:     <list>
                   5583:       <choice>
                   5584:         <attribute name="bar">
                   5585:           <empty/>
                   5586:         </attribute>
                   5587:         <data type="token"/>
                   5588:       </choice>
                   5589:     </list>
                   5590:   </element>
                   5591: </start>
                   5592: </grammar>
                   5593: </incorrect>
                   5594: </testCase>
                   5595: <testCase>
                   5596: <section>7.1.3</section>
                   5597: <incorrect>
                   5598: <grammar xmlns="http://relaxng.org/ns/structure/1.0">
                   5599: <start>
                   5600:   <element name="foo">
                   5601:     <list>
                   5602:       <choice>
                   5603:         <text/>
                   5604:         <data type="token"/>
                   5605:       </choice>
                   5606:     </list>
                   5607:   </element>
                   5608: </start>
                   5609: </grammar>
                   5610: </incorrect>
                   5611: </testCase>
                   5612: <testCase>
                   5613: <section>7.1.3</section>
                   5614: <incorrect>
                   5615: <grammar xmlns="http://relaxng.org/ns/structure/1.0">
                   5616: <start>
                   5617:   <element name="foo">
                   5618:     <list>
                   5619:       <interleave>
                   5620:         <value>x</value>
                   5621:         <value>y</value>
                   5622:       </interleave>
                   5623:     </list>
                   5624:   </element>
                   5625: </start>
                   5626: </grammar>
                   5627: </incorrect>
                   5628: </testCase>
                   5629: <testCase>
                   5630: <section>7.1.3</section>
                   5631: <incorrect>
                   5632: <grammar xmlns="http://relaxng.org/ns/structure/1.0">
                   5633: <start>
                   5634:   <element name="foo">
                   5635:     <list>
                   5636:       <choice>
                   5637:        <interleave>
                   5638:          <value>x</value>
                   5639:          <value>y</value>
                   5640:        </interleave>
                   5641:         <value>z</value>
                   5642:       </choice>
                   5643:     </list>
                   5644:   </element>
                   5645: </start>
                   5646: </grammar>
                   5647: </incorrect>
                   5648: </testCase>
                   5649: <testCase>
                   5650: <section>7.1.4</section>
                   5651: <incorrect>
                   5652: <grammar xmlns="http://relaxng.org/ns/structure/1.0">
                   5653: <start>
                   5654:   <element name="foo">
                   5655:     <data type="string">
                   5656:       <except>
                   5657:         <attribute name="bar"/>
                   5658:       </except>
                   5659:     </data>
                   5660:   </element>
                   5661: </start>
                   5662: </grammar>
                   5663: </incorrect>
                   5664: </testCase>
                   5665: <testCase>
                   5666: <section>7.1.4</section>
                   5667: <incorrect>
                   5668: <grammar xmlns="http://relaxng.org/ns/structure/1.0">
                   5669: <start>
                   5670:   <element name="foo">
                   5671:     <data type="string">
                   5672:       <except>
                   5673:         <element name="bar">
                   5674:           <empty/>
                   5675:         </element>
                   5676:       </except>
                   5677:     </data>
                   5678:   </element>
                   5679: </start>
                   5680: </grammar>
                   5681: </incorrect>
                   5682: </testCase>
                   5683: <testCase>
                   5684: <section>7.1.4</section>
                   5685: <incorrect>
                   5686: <grammar xmlns="http://relaxng.org/ns/structure/1.0">
                   5687: <start>
                   5688:   <element name="foo">
                   5689:     <data type="string">
                   5690:       <except>
                   5691:         <text/>
                   5692:       </except>
                   5693:     </data>
                   5694:   </element>
                   5695: </start>
                   5696: </grammar>
                   5697: </incorrect>
                   5698: </testCase>
                   5699: <testCase>
                   5700: <section>7.1.4</section>
                   5701: <incorrect>
                   5702: <grammar xmlns="http://relaxng.org/ns/structure/1.0">
                   5703: <start>
                   5704:   <element name="foo">
                   5705:     <data type="string">
                   5706:       <except>
                   5707:         <list>
                   5708:           <data type="token"/>
                   5709:         </list>
                   5710:       </except>
                   5711:     </data>
                   5712:   </element>
                   5713: </start>
                   5714: </grammar>
                   5715: </incorrect>
                   5716: </testCase>
                   5717: <testCase>
                   5718: <section>7.1.4</section>
                   5719: <incorrect>
                   5720: <grammar xmlns="http://relaxng.org/ns/structure/1.0">
                   5721: <start>
                   5722:   <element name="foo">
                   5723:     <data type="string">
                   5724:       <except>
                   5725:         <group>
                   5726:           <data type="token"/>
                   5727:           <data type="token"/>
                   5728:         </group>
                   5729:       </except>
                   5730:     </data>
                   5731:   </element>
                   5732: </start>
                   5733: </grammar>
                   5734: </incorrect>
                   5735: </testCase>
                   5736: <testCase>
                   5737: <section>7.1.4</section>
                   5738: <incorrect>
                   5739: <grammar xmlns="http://relaxng.org/ns/structure/1.0">
                   5740: <start>
                   5741:   <element name="foo">
                   5742:     <data type="string">
                   5743:       <except>
                   5744:         <interleave>
                   5745:           <data type="token"/>
                   5746:           <data type="token"/>
                   5747:         </interleave>
                   5748:       </except>
                   5749:     </data>
                   5750:   </element>
                   5751: </start>
                   5752: </grammar>
                   5753: </incorrect>
                   5754: </testCase>
                   5755: <testCase>
                   5756: <section>7.1.4</section>
                   5757: <incorrect>
                   5758: <grammar xmlns="http://relaxng.org/ns/structure/1.0">
                   5759: <start>
                   5760:   <element name="foo">
                   5761:     <data type="string">
                   5762:       <except>
                   5763:         <oneOrMore>
                   5764:           <data type="token"/>
                   5765:         </oneOrMore>
                   5766:       </except>
                   5767:     </data>
                   5768:   </element>
                   5769: </start>
                   5770: </grammar>
                   5771: </incorrect>
                   5772: </testCase>
                   5773: <testCase>
                   5774: <section>7.1.4</section>
                   5775: <incorrect>
                   5776: <grammar xmlns="http://relaxng.org/ns/structure/1.0">
                   5777: <start>
                   5778:   <element name="foo">
                   5779:     <data type="string">
                   5780:       <except>
                   5781:         <empty/>
                   5782:       </except>
                   5783:     </data>
                   5784:   </element>
                   5785: </start>
                   5786: </grammar>
                   5787: </incorrect>
                   5788: </testCase>
                   5789: <testCase>
                   5790: <section>7.1.5</section>
                   5791: <incorrect>
                   5792: <grammar xmlns="http://relaxng.org/ns/structure/1.0">
                   5793: <start>
                   5794:   <attribute name="foo"/>
                   5795: </start>
                   5796: </grammar>
                   5797: </incorrect>
                   5798: </testCase>
                   5799: <testCase>
                   5800: <section>7.1.5</section>
                   5801: <incorrect>
                   5802: <grammar xmlns="http://relaxng.org/ns/structure/1.0">
                   5803: <start>
                   5804:   <data type="string"/>
                   5805: </start>
                   5806: </grammar>
                   5807: </incorrect>
                   5808: </testCase>
                   5809: <testCase>
                   5810: <section>7.1.5</section>
                   5811: <incorrect>
                   5812: <grammar xmlns="http://relaxng.org/ns/structure/1.0">
                   5813: <start>
                   5814:   <choice>
                   5815:     <data type="string"/>
                   5816:     <element name="foo">
                   5817:       <empty/>
                   5818:     </element>
                   5819:   </choice>
                   5820: </start>
                   5821: </grammar>
                   5822: </incorrect>
                   5823: </testCase>
                   5824: <testCase>
                   5825: <section>7.1.5</section>
                   5826: <incorrect>
                   5827: <grammar xmlns="http://relaxng.org/ns/structure/1.0">
                   5828: <start>
                   5829:   <choice>
                   5830:     <value>foo</value>
                   5831:     <element name="foo">
                   5832:       <empty/>
                   5833:     </element>
                   5834:   </choice>
                   5835: </start>
                   5836: </grammar>
                   5837: </incorrect>
                   5838: </testCase>
                   5839: <testCase>
                   5840: <section>7.1.5</section>
                   5841: <incorrect>
                   5842: <grammar xmlns="http://relaxng.org/ns/structure/1.0">
                   5843: <start>
                   5844:   <text/>
                   5845: </start>
                   5846: </grammar>
                   5847: </incorrect>
                   5848: </testCase>
                   5849: <testCase>
                   5850: <section>7.1.5</section>
                   5851: <incorrect>
                   5852: <grammar xmlns="http://relaxng.org/ns/structure/1.0">
                   5853: <start>
                   5854:   <choice>
                   5855:     <text/>
                   5856:     <element name="foo">
                   5857:       <empty/>
                   5858:     </element>
                   5859:   </choice>
                   5860: </start>
                   5861: </grammar>
                   5862: </incorrect>
                   5863: </testCase>
                   5864: <testCase>
                   5865: <section>7.1.5</section>
                   5866: <incorrect>
                   5867: <grammar xmlns="http://relaxng.org/ns/structure/1.0">
                   5868: <start>
                   5869:   <list>
                   5870:     <data type="token"/>
                   5871:   </list>
                   5872: </start>
                   5873: </grammar>
                   5874: </incorrect>
                   5875: </testCase>
                   5876: <testCase>
                   5877: <section>7.1.5</section>
                   5878: <incorrect>
                   5879: <grammar xmlns="http://relaxng.org/ns/structure/1.0">
                   5880: <start>
                   5881:   <choice>
                   5882:     <element name="foo">
                   5883:       <empty/>
                   5884:     </element>
                   5885:     <list>
                   5886:       <data type="token"/>
                   5887:     </list>
                   5888:   </choice>
                   5889: </start>
                   5890: </grammar>
                   5891: </incorrect>
                   5892: </testCase>
                   5893: <testCase>
                   5894: <section>7.1.5</section>
                   5895: <incorrect>
                   5896: <grammar xmlns="http://relaxng.org/ns/structure/1.0">
                   5897: <start>
                   5898:   <group>
                   5899:     <element name="foo">
                   5900:       <empty/>
                   5901:     </element>
                   5902:     <element name="foo">
                   5903:       <empty/>
                   5904:     </element>
                   5905:   </group>
                   5906: </start>
                   5907: </grammar>
                   5908: </incorrect>
                   5909: </testCase>
                   5910: <testCase>
                   5911: <section>7.1.5</section>
                   5912: <incorrect>
                   5913: <grammar xmlns="http://relaxng.org/ns/structure/1.0">
                   5914: <start>
                   5915:   <choice>
                   5916:     <element name="foo">
                   5917:       <empty/>
                   5918:     </element>
                   5919:     <group>
                   5920:       <element name="foo">
                   5921:        <empty/>
                   5922:       </element>
                   5923:       <element name="foo">
                   5924:        <empty/>
                   5925:       </element>
                   5926:     </group>
                   5927:   </choice>
                   5928: </start>
                   5929: </grammar>
                   5930: </incorrect>
                   5931: </testCase>
                   5932: <testCase>
                   5933: <section>7.1.5</section>
                   5934: <incorrect>
                   5935: <grammar xmlns="http://relaxng.org/ns/structure/1.0">
                   5936: <start>
                   5937:   <interleave>
                   5938:     <element name="foo">
                   5939:       <empty/>
                   5940:     </element>
                   5941:     <element name="foo">
                   5942:       <empty/>
                   5943:     </element>
                   5944:   </interleave>
                   5945: </start>
                   5946: </grammar>
                   5947: </incorrect>
                   5948: </testCase>
                   5949: <testCase>
                   5950: <section>7.1.5</section>
                   5951: <incorrect>
                   5952: <grammar xmlns="http://relaxng.org/ns/structure/1.0">
                   5953: <start>
                   5954:   <choice>
                   5955:     <element name="foo">
                   5956:       <empty/>
                   5957:     </element>
                   5958:     <interleave>
                   5959:       <element name="foo">
                   5960:        <empty/>
                   5961:       </element>
                   5962:       <element name="foo">
                   5963:        <empty/>
                   5964:       </element>
                   5965:     </interleave>
                   5966:   </choice>
                   5967: </start>
                   5968: </grammar>
                   5969: </incorrect>
                   5970: </testCase>
                   5971: <testCase>
                   5972: <section>7.1.5</section>
                   5973: <incorrect>
                   5974: <grammar xmlns="http://relaxng.org/ns/structure/1.0">
                   5975: <start>
                   5976:   <oneOrMore>
                   5977:     <element name="foo">
                   5978:       <empty/>
                   5979:     </element>
                   5980:   </oneOrMore>
                   5981: </start>
                   5982: </grammar>
                   5983: </incorrect>
                   5984: </testCase>
                   5985: <testCase>
                   5986: <section>7.1.5</section>
                   5987: <incorrect>
                   5988: <grammar xmlns="http://relaxng.org/ns/structure/1.0">
                   5989: <start>
                   5990:   <choice>
                   5991:     <oneOrMore>
                   5992:       <element name="foo">
                   5993:        <empty/>
                   5994:       </element>
                   5995:     </oneOrMore>
                   5996:     <element name="foo">
                   5997:       <empty/>
                   5998:     </element>
                   5999:   </choice>
                   6000: </start>
                   6001: </grammar>
                   6002: </incorrect>
                   6003: </testCase>
                   6004: <testCase>
                   6005: <section>7.1.5</section>
                   6006: <incorrect>
                   6007: <grammar xmlns="http://relaxng.org/ns/structure/1.0">
                   6008: <start>
                   6009:   <empty/>
                   6010: </start>
                   6011: </grammar>
                   6012: </incorrect>
                   6013: </testCase>
                   6014: <testCase>
                   6015: <section>7.1.5</section>
                   6016: <incorrect>
                   6017: <grammar xmlns="http://relaxng.org/ns/structure/1.0">
                   6018: <start>
                   6019:   <choice>
                   6020:     <element name="foo">
                   6021:       <empty/>
                   6022:     </element>
                   6023:     <empty/>
                   6024:   </choice>
                   6025: </start>
                   6026: </grammar>
                   6027: </incorrect>
                   6028: </testCase>
                   6029: <testCase>
                   6030: <section>7.1.5</section>
                   6031: <section>7</section>
                   6032: <section>4.18</section>
                   6033: <documentation>Tests that constraints are post-normalization</documentation>
                   6034: <correct>
                   6035: <element xmlns="http://relaxng.org/ns/structure/1.0" name="foo">
                   6036:   <grammar>
                   6037:     <start>
                   6038:       <text/>
                   6039:     </start>
                   6040:   </grammar>
                   6041: </element>
                   6042: </correct>
                   6043: <valid>
                   6044: <foo>text</foo>
                   6045: </valid>
                   6046: </testCase>
                   6047: <testCase>
                   6048: <section>7.1.5</section>
                   6049: <section>7</section>
                   6050: <section>4.18</section>
                   6051: <incorrect>
                   6052: <text xmlns="http://relaxng.org/ns/structure/1.0"/>
                   6053: </incorrect>
                   6054: </testCase>
                   6055: <testCase>
                   6056: <section>7.1.1</section>
                   6057: <section>7</section>
                   6058: <section>4.20</section>
                   6059: <correct>
                   6060: <element xmlns="http://relaxng.org/ns/structure/1.0" name="foo">
                   6061:   <optional>
                   6062:     <attribute name="bar">
                   6063:       <group>
                   6064:         <notAllowed/>
                   6065:         <attribute name="baz"/>
                   6066:       </group>
                   6067:     </attribute>
                   6068:   </optional>
                   6069: </element>
                   6070: </correct>
                   6071: <valid>
                   6072: <foo/>
                   6073: </valid>
                   6074: </testCase>
                   6075: <testCase>
                   6076: <section>7.1.1</section>
                   6077: <section>7</section>
                   6078: <section>4.20</section>
                   6079: <documentation>The nested attribute element is normalized out because
                   6080: of the not allowed.</documentation>
                   6081: <correct>
                   6082: <element xmlns="http://relaxng.org/ns/structure/1.0" name="foo">
                   6083:   <attribute name="bar">
                   6084:     <choice>
                   6085:       <text/>
                   6086:       <group>
                   6087:         <notAllowed/>
                   6088:         <attribute name="baz"/>
                   6089:       </group>
                   6090:     </choice>
                   6091:   </attribute>
                   6092: </element>
                   6093: </correct>
                   6094: <valid>
                   6095: <foo bar="baz"/>
                   6096: </valid>
                   6097: </testCase>
                   6098: <testCase>
                   6099: <section>7.1.2</section>
                   6100: <section>7</section>
                   6101: <section>4.12</section>
                   6102: <documentation>The group element is normalized out.</documentation>
                   6103: <correct>
                   6104: <grammar xmlns="http://relaxng.org/ns/structure/1.0">
                   6105: <start>
                   6106:   <element name="foo">
                   6107:     <oneOrMore>
                   6108:       <group>
                   6109:         <attribute>
                   6110:           <anyName/>
                   6111:         </attribute>
                   6112:       </group>
                   6113:     </oneOrMore>
                   6114:   </element>
                   6115: </start>
                   6116: </grammar>
                   6117: </correct>
                   6118: <valid>
                   6119: <foo xyzzy1="val1" xyzzy2="val2"/>
                   6120: </valid>
                   6121: </testCase>
                   6122: <testCase>
                   6123: <section>7.1.2</section>
                   6124: <section>7</section>
                   6125: <section>4.21</section>
                   6126: <documentation>The group element is normalized out.</documentation>
                   6127: <correct>
                   6128: <grammar xmlns="http://relaxng.org/ns/structure/1.0">
                   6129: <start>
                   6130:   <element name="foo">
                   6131:     <oneOrMore>
                   6132:       <group>
                   6133:         <attribute>
                   6134:           <anyName/>
                   6135:         </attribute>
                   6136:         <empty/>
                   6137:       </group>
                   6138:     </oneOrMore>
                   6139:   </element>
                   6140: </start>
                   6141: </grammar>
                   6142: </correct>
                   6143: <valid>
                   6144: <foo xyzzy1="val1" xyzzy2="val2"/>
                   6145: </valid>
                   6146: </testCase>
                   6147: <testCase>
                   6148: <section>7.1.2</section>
                   6149: <section>7</section>
                   6150: <section>4.20</section>
                   6151: <documentation>The attribute elements are all normalized out.</documentation>
                   6152: <correct>
                   6153: <element xmlns="http://relaxng.org/ns/structure/1.0" name="foo">
                   6154:   <optional>
                   6155:     <attribute name="a1">
                   6156:       <attribute name="a2">
                   6157:         <attribute name="a3">
                   6158:           <notAllowed/>
                   6159:         </attribute>
                   6160:       </attribute>
                   6161:     </attribute>
                   6162:   </optional>
                   6163: </element>
                   6164: </correct>
                   6165: <valid>
                   6166: <foo/>
                   6167: </valid>
                   6168: </testCase>
                   6169: </testSuite>
                   6170: <testSuite>
                   6171: <section>7.2</section>
                   6172: <testCase>
                   6173: <section>7.2</section>
                   6174: <incorrect>
                   6175: <grammar xmlns="http://relaxng.org/ns/structure/1.0">
                   6176:   <start>
                   6177:     <element name="foo">
                   6178:       <group>
                   6179:         <data type="token"/>
                   6180:         <data type="token"/>
                   6181:       </group>
                   6182:     </element>
                   6183:   </start>
                   6184: </grammar>
                   6185: </incorrect>
                   6186: </testCase>
                   6187: <testCase>
                   6188: <documentation>Checks that normalization of notAllowed happens
                   6189: before string sequence checking.</documentation>
                   6190: <section>7.2</section>
                   6191: <section>4.20</section>
                   6192: <correct>
                   6193: <choice xmlns="http://relaxng.org/ns/structure/1.0">
                   6194:   <element name="foo">
                   6195:     <empty/>
                   6196:   </element>
                   6197:   <group>
                   6198:     <notAllowed/>
                   6199:     <element name="bar">
                   6200:       <group>
                   6201:        <data type="token"/>
                   6202:        <data type="token"/>
                   6203:       </group>
                   6204:     </element>
                   6205:   </group>
                   6206: </choice>
                   6207: </correct>
                   6208: <valid>
                   6209: <foo/>
                   6210: </valid>
                   6211: </testCase>
                   6212: <testCase>
                   6213: <section>4.20</section>
                   6214: <section>7.2</section>
                   6215: <documentation>notAllowed in an element is not normalized</documentation>
                   6216: <incorrect>
                   6217: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
                   6218:   <choice>
                   6219:     <group>
                   6220:       <element name="bar">
                   6221:         <notAllowed/>
                   6222:       </element>
                   6223:       <data type="token"/>
                   6224:       <data type="token"/>
                   6225:     </group>
                   6226:     <element name="baz">
                   6227:       <empty/>
                   6228:     </element>
                   6229:   </choice>
                   6230: </element>
                   6231: </incorrect>
                   6232: </testCase>
                   6233: </testSuite>
                   6234: <testSuite>
                   6235: <section>7.3</section>
                   6236: <testCase>
                   6237: <section>7.3</section>
                   6238: <incorrect>
                   6239: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
                   6240:   <attribute name="bar"/>
                   6241:   <attribute name="bar"/>
                   6242: </element>
                   6243: </incorrect>
                   6244: </testCase>
                   6245: <testCase>
                   6246: <section>7.3</section>
                   6247: <incorrect>
                   6248: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
                   6249:   <attribute name="bar"/>
                   6250:   <zeroOrMore>
                   6251:     <attribute name="bar"/>
                   6252:   </zeroOrMore>
                   6253: </element>
                   6254: </incorrect>
                   6255: </testCase>
                   6256: <testCase>
                   6257: <section>7.3</section>
                   6258: <correct>
                   6259: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
                   6260:   <oneOrMore>
                   6261:     <attribute name="bar"/>
                   6262:   </oneOrMore>
                   6263: </element>
                   6264: </correct>
                   6265: <valid>
                   6266: <foo bar="xx"/>
                   6267: </valid>
                   6268: </testCase>
                   6269: <testCase>
                   6270: <section>7.3</section>
                   6271: <incorrect>
                   6272: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
                   6273:   <interleave>
                   6274:     <attribute name="bar"/>
                   6275:     <attribute name="bar"/>
                   6276:   </interleave>
                   6277: </element>
                   6278: </incorrect>
                   6279: </testCase>
                   6280: <testCase>
                   6281: <section>7.3</section>
                   6282: <incorrect>
                   6283: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
                   6284:   <optional>
                   6285:     <attribute name="bar"/>
                   6286:   </optional>
                   6287:   <optional>
                   6288:     <attribute name="bar"/>
                   6289:   </optional>
                   6290: </element>
                   6291: </incorrect>
                   6292: </testCase>
                   6293: <testCase>
                   6294: <section>7.3</section>
                   6295: <incorrect>
                   6296: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
                   6297:   <attribute name="bar"/>
                   6298:   <oneOrMore>
                   6299:     <attribute>
                   6300:       <anyName/>
                   6301:     </attribute>
                   6302:   </oneOrMore>
                   6303: </element>
                   6304: </incorrect>
                   6305: </testCase>
                   6306: <testCase>
                   6307: <section>7.3</section>
                   6308: <incorrect>
                   6309: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
                   6310:   <attribute name="bar"/>
                   6311:   <oneOrMore>
                   6312:     <attribute>
                   6313:       <anyName>
                   6314:        <except>
                   6315:          <name>baz</name>
                   6316:        </except>
                   6317:       </anyName>
                   6318:     </attribute>
                   6319:   </oneOrMore>
                   6320: </element>
                   6321: </incorrect>
                   6322: </testCase>
                   6323: <testCase>
                   6324: <section>7.3</section>
                   6325: <correct>
                   6326: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
                   6327:   <attribute name="bar"/>
                   6328:   <oneOrMore>
                   6329:     <attribute>
                   6330:       <anyName>
                   6331:        <except>
                   6332:          <name>bar</name>
                   6333:        </except>
                   6334:       </anyName>
                   6335:     </attribute>
                   6336:   </oneOrMore>
                   6337: </element>
                   6338: </correct>
                   6339: <valid>
                   6340: <foo bar="val" xyzzy="anotherval"/>
                   6341: </valid>
                   6342: <valid>
                   6343: <foo bar="val" baz=""/>
                   6344: </valid>
                   6345: <invalid>
                   6346: <foo bar="val"/>
                   6347: </invalid>
                   6348: <invalid>
                   6349: <foo/>
                   6350: </invalid>
                   6351: <invalid>
                   6352: <foo xyzzy="val"/>
                   6353: </invalid>
                   6354: </testCase>
                   6355: <testCase>
                   6356: <section>7.3</section>
                   6357: <incorrect>
                   6358: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
                   6359:   <attribute name="bar"/>
                   6360:   <oneOrMore>
                   6361:     <attribute>
                   6362:       <nsName ns=""/>
                   6363:     </attribute>
                   6364:   </oneOrMore>
                   6365: </element>
                   6366: </incorrect>
                   6367: </testCase>
                   6368: <testCase>
                   6369: <section>7.3</section>
                   6370: <incorrect>
                   6371: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
                   6372:   <attribute name="bar"/>
                   6373:   <oneOrMore>
                   6374:     <attribute>
                   6375:       <nsName ns="">
                   6376:        <except>
                   6377:          <name>baz</name>
                   6378:        </except>
                   6379:        </nsName>
                   6380:     </attribute>
                   6381:   </oneOrMore>
                   6382: </element>
                   6383: </incorrect>
                   6384: </testCase>
                   6385: <testCase>
                   6386: <section>7.3</section>
                   6387: <incorrect>
                   6388: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
                   6389:   <oneOrMore>
                   6390:     <attribute>
                   6391:       <anyName/>
                   6392:     </attribute>
                   6393:   </oneOrMore>
                   6394:   <oneOrMore>
                   6395:     <attribute>
                   6396:       <nsName ns=""/>
                   6397:     </attribute>
                   6398:   </oneOrMore>
                   6399: </element>
                   6400: </incorrect>
                   6401: </testCase>
                   6402: <testCase>
                   6403: <section>7.3</section>
                   6404: <incorrect>
                   6405: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
                   6406:   <oneOrMore>
                   6407:     <attribute>
                   6408:       <anyName/>
                   6409:     </attribute>
                   6410:   </oneOrMore>
                   6411:   <oneOrMore>
                   6412:     <attribute>
                   6413:       <anyName/>
                   6414:     </attribute>
                   6415:   </oneOrMore>
                   6416: </element>
                   6417: </incorrect>
                   6418: </testCase>
                   6419: <testCase>
                   6420: <section>7.3</section>
                   6421: <incorrect>
                   6422: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
                   6423:   <oneOrMore>
                   6424:     <attribute>
                   6425:       <nsName ns=""/>
                   6426:     </attribute>
                   6427:   </oneOrMore>
                   6428:   <oneOrMore>
                   6429:     <attribute>
                   6430:       <nsName ns="">
                   6431:        <except>
                   6432:          <name>bar</name>
                   6433:        </except>
                   6434:       </nsName>
                   6435:     </attribute>
                   6436:   </oneOrMore>
                   6437: </element>
                   6438: </incorrect>
                   6439: </testCase>
                   6440: <testCase>
                   6441: <section>7.3</section>
                   6442: <incorrect>
                   6443: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
                   6444:   <oneOrMore>
                   6445:     <attribute>
                   6446:       <anyName>
                   6447:        <except>
                   6448:          <nsName>
                   6449:            <except>
                   6450:              <name>foo</name>
                   6451:            </except>
                   6452:          </nsName>
                   6453:        </except>
                   6454:       </anyName>
                   6455:     </attribute>
                   6456:   </oneOrMore>
                   6457:   <attribute name="foo"/>
                   6458: </element>
                   6459: </incorrect>
                   6460: </testCase>
                   6461: <testCase>
                   6462: <section>7.3</section>
                   6463: <incorrect>
                   6464: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
                   6465:   <oneOrMore>
                   6466:     <attribute>
                   6467:       <anyName>
                   6468:        <except>
                   6469:          <nsName>
                   6470:            <except>
                   6471:              <name>foo</name>
                   6472:            </except>
                   6473:          </nsName>
                   6474:        </except>
                   6475:       </anyName>
                   6476:     </attribute>
                   6477:   </oneOrMore>
                   6478:   <oneOrMore>
                   6479:     <attribute>
                   6480:       <nsName/>
                   6481:     </attribute>
                   6482:   </oneOrMore>
                   6483: </element>
                   6484: </incorrect>
                   6485: </testCase>
                   6486: <testCase>
                   6487: <section>7.3</section>
                   6488: <correct>
                   6489: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
                   6490:   <oneOrMore>
                   6491:     <attribute>
                   6492:       <anyName>
                   6493:        <except>
                   6494:          <nsName>
                   6495:            <except>
                   6496:              <name>bar</name>
                   6497:            </except>
                   6498:          </nsName>
                   6499:        </except>
                   6500:       </anyName>
                   6501:     </attribute>
                   6502:   </oneOrMore>
                   6503:   <attribute name="baz"/>
                   6504: </element>
                   6505: </correct>
                   6506: <valid>
                   6507: <foo bar="xx" baz="yy"/>
                   6508: </valid>
                   6509: <invalid>
                   6510: <foo x="xx" baz="yy"/>
                   6511: </invalid>
                   6512: <valid>
                   6513: <foo xmlns:eg="http://www.example.com/" eg:x="xx" baz="yy"/>
                   6514: </valid>
                   6515: </testCase>
                   6516: <testCase>
                   6517: <section>7.3</section>
                   6518: <correct>
                   6519: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
                   6520:   <oneOrMore>
                   6521:     <attribute>
                   6522:       <nsName ns="http://www.example.com/1"/>
                   6523:     </attribute>
                   6524:   </oneOrMore>
                   6525:   <oneOrMore>
                   6526:     <attribute>
                   6527:       <nsName ns="http://www.example.com/2"/>
                   6528:     </attribute>
                   6529:   </oneOrMore>
                   6530: </element>
                   6531: </correct>
                   6532: <valid>
                   6533: <foo xmlns:eg1="http://www.example.com/1"
                   6534:      xmlns:eg2="http://www.example.com/2"
                   6535:      eg1:x="xx" eg2:y="yy"/>
                   6536: </valid>
                   6537: </testCase>
                   6538: <testCase>
                   6539: <section>7.3</section>
                   6540: <correct>
                   6541: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
                   6542:   <choice>
                   6543:     <attribute name="bar"/>
                   6544:     <attribute name="bar"/>
                   6545:   </choice>
                   6546: </element>
                   6547: </correct>
                   6548: <valid>
                   6549: <foo bar="xx"/>
                   6550: </valid>
                   6551: </testCase>
                   6552: <testCase>
                   6553: <section>7.3</section>
                   6554: <incorrect>
                   6555: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
                   6556:   <attribute name="bar"/>
                   6557:   <choice>
                   6558:     <attribute name="baz"/>
                   6559:     <attribute name="bar"/>
                   6560:   </choice>
                   6561: </element>
                   6562: </incorrect>
                   6563: </testCase>
                   6564: <testCase>
                   6565: <section>7.3</section>
                   6566: <incorrect>
                   6567: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
                   6568:   <attribute><anyName/><text/></attribute>
                   6569: </element>
                   6570: </incorrect>
                   6571: </testCase>
                   6572: <testCase>
                   6573: <section>7.3</section>
                   6574: <incorrect>
                   6575: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
                   6576:   <attribute><nsName ns =""/><text/></attribute>
                   6577: </element>
                   6578: </incorrect>
                   6579: </testCase>
                   6580: <testCase>
                   6581: <section>7.3</section>
                   6582: <incorrect>
                   6583: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
                   6584:   <attribute><choice><nsName ns =""/><name>foo</name></choice><text/></attribute>
                   6585: </element>
                   6586: </incorrect>
                   6587: </testCase>
                   6588: </testSuite>
                   6589: <testSuite>
                   6590: <section>7.4</section>
                   6591: <testCase>
                   6592: <section>7.4</section>
                   6593: <incorrect>
                   6594: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
                   6595:   <interleave>
                   6596:     <element name="bar">
                   6597:       <empty/>
                   6598:     </element>
                   6599:     <element name="bar">
                   6600:       <empty/>
                   6601:     </element>
                   6602:   </interleave>
                   6603: </element>
                   6604: </incorrect>
                   6605: </testCase>
                   6606: <testCase>
                   6607: <section>7.4</section>
                   6608: <incorrect>
                   6609: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
                   6610:   <interleave>
                   6611:     <element name="bar">
                   6612:       <empty/>
                   6613:     </element>
                   6614:     <interleave>
                   6615:       <element name="baz">
                   6616:        <empty/>
                   6617:       </element>
                   6618:       <element name="bar">
                   6619:        <empty/>
                   6620:       </element>
                   6621:     </interleave>
                   6622:   </interleave>
                   6623: </element>
                   6624: </incorrect>
                   6625: </testCase>
                   6626: <testCase>
                   6627: <section>7.4</section>
                   6628: <incorrect>
                   6629: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
                   6630:   <interleave>
                   6631:     <element name="bar">
                   6632:       <empty/>
                   6633:     </element>
                   6634:     <group>
                   6635:       <element name="baz">
                   6636:        <empty/>
                   6637:       </element>
                   6638:       <element name="bar">
                   6639:        <empty/>
                   6640:       </element>
                   6641:     </group>
                   6642:   </interleave>
                   6643: </element>
                   6644: </incorrect>
                   6645: </testCase>
                   6646: <testCase>
                   6647: <section>7.4</section>
                   6648: <incorrect>
                   6649: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
                   6650:   <interleave>
                   6651:     <element name="bar">
                   6652:       <empty/>
                   6653:     </element>
                   6654:     <group>
                   6655:       <element name="baz">
                   6656:        <empty/>
                   6657:       </element>
                   6658:       <interleave>
                   6659:         <element name="baz">
                   6660:           <empty/>
                   6661:         </element>
                   6662:        <element name="bar">
                   6663:          <empty/>
                   6664:        </element>
                   6665:       </interleave>
                   6666:     </group>
                   6667:   </interleave>
                   6668: </element>
                   6669: </incorrect>
                   6670: </testCase>
                   6671: <testCase>
                   6672: <section>7.4</section>
                   6673: <incorrect>
                   6674: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
                   6675:   <interleave>
                   6676:     <element name="bar">
                   6677:       <empty/>
                   6678:     </element>
                   6679:     <optional>
                   6680:       <element name="bar">
                   6681:        <empty/>
                   6682:       </element>
                   6683:     </optional>
                   6684:   </interleave>
                   6685: </element>
                   6686: </incorrect>
                   6687: </testCase>
                   6688: <testCase>
                   6689: <section>7.4</section>
                   6690: <incorrect>
                   6691: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
                   6692:   <interleave>
                   6693:     <element name="bar">
                   6694:       <empty/>
                   6695:     </element>
                   6696:     <element>
                   6697:       <nsName ns=""/>
                   6698:       <empty/>
                   6699:     </element>
                   6700:   </interleave>
                   6701: </element>
                   6702: </incorrect>
                   6703: </testCase>
                   6704: <testCase>
                   6705: <section>7.4</section>
                   6706: <incorrect>
                   6707: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
                   6708:   <interleave>
                   6709:     <element name="bar">
                   6710:       <empty/>
                   6711:     </element>
                   6712:     <element>
                   6713:       <anyName/>
                   6714:       <empty/>
                   6715:     </element>
                   6716:   </interleave>
                   6717: </element>
                   6718: </incorrect>
                   6719: </testCase>
                   6720: <testCase>
                   6721: <section>7.4</section>
                   6722: <incorrect>
                   6723: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
                   6724:   <interleave>
                   6725:     <element name="bar">
                   6726:       <empty/>
                   6727:     </element>
                   6728:     <element name="bar">
                   6729:       <notAllowed/>
                   6730:     </element>
                   6731:   </interleave>
                   6732: </element>
                   6733: </incorrect>
                   6734: </testCase>
                   6735: <testCase>
                   6736: <section>7.4</section>
                   6737: <correct>
                   6738: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
                   6739:   <interleave>
                   6740:     <element name="bar">
                   6741:       <empty/>
                   6742:     </element>
                   6743:     <element>
                   6744:       <anyName>
                   6745:         <except>
                   6746:           <name>bar</name>
                   6747:         </except>
                   6748:       </anyName>
                   6749:       <empty/>
                   6750:     </element>
                   6751:   </interleave>
                   6752: </element>
                   6753: </correct>
                   6754: <valid>
                   6755: <foo><bar/><baz/></foo>
                   6756: </valid>
                   6757: </testCase>
                   6758: <testCase>
                   6759: <section>7.4</section>
                   6760: <correct>
                   6761: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
                   6762:   <interleave>
                   6763:     <choice>
                   6764:       <element name="bar">
                   6765:        <empty/>
                   6766:       </element>
                   6767:       <element name="bar">
                   6768:        <text/>
                   6769:       </element>
                   6770:     </choice>
                   6771:     <element name="baz">
                   6772:       <empty/>
                   6773:     </element>
                   6774:   </interleave>
                   6775: </element>
                   6776: </correct>
                   6777: <valid>
                   6778: <foo><bar/><baz/></foo>
                   6779: </valid>
                   6780: </testCase>
                   6781: <testCase>
                   6782: <section>7.4</section>
                   6783: <incorrect>
                   6784: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
                   6785:   <interleave>
                   6786:     <text/>
                   6787:     <text/>
                   6788:   </interleave>
                   6789: </element>
                   6790: </incorrect>
                   6791: </testCase>
                   6792: <testCase>
                   6793: <section>7.4</section>
                   6794: <incorrect>
                   6795: <element name="foo" xmlns="http://relaxng.org/ns/structure/1.0">
                   6796:   <mixed>
                   6797:     <mixed>
                   6798:       <element name="bar">
                   6799:         <empty/>
                   6800:       </element>
                   6801:     </mixed>
                   6802:     <element name="baz">
                   6803:       <empty/>
                   6804:     </element>
                   6805:   </mixed>
                   6806: </element>
                   6807: </incorrect>
                   6808: </testCase>
                   6809: </testSuite>
                   6810: </testSuite>
                   6811: <testSuite>
                   6812: <documentation>Regressions</documentation>
                   6813: <testCase>
                   6814: <correct>
                   6815: <grammar xmlns="http://relaxng.org/ns/structure/1.0">
                   6816: <start>
                   6817:   <element name="foo">
                   6818:     <choice>
                   6819:       <group>
                   6820:         <attribute name="bar"><empty/></attribute>
                   6821:         <element name="baz1"><empty/></element>
                   6822:       </group>
                   6823:       <group>
                   6824:         <attribute name="bar"><text/></attribute>
                   6825:         <element name="baz2"><empty/></element>
                   6826:       </group>
                   6827:     </choice>
                   6828:   </element>
                   6829: </start>
                   6830: </grammar>
                   6831: </correct>
                   6832: <valid>
                   6833: <foo bar=" "><baz1/></foo>
                   6834: </valid>
                   6835: </testCase>
                   6836: <testCase>
                   6837: <correct>
                   6838: <notAllowed xmlns="http://relaxng.org/ns/structure/1.0"/>
                   6839: </correct>
                   6840: <invalid>
                   6841: <foo/>
                   6842: </invalid>
                   6843: </testCase>
                   6844: </testSuite>
                   6845: </testSuite>

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>