Annotation of embedaddon/libxml2/test/relaxng/OASIS/spectest.xml, revision 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>