Annotation of embedaddon/libxml2/test/relaxng/tutorA.rng, revision 1.1.1.1

1.1       misho       1: <grammar datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"
                      2:   ns="http://relaxng.org/ns/structure/1.0"
                      3:   xmlns="http://relaxng.org/ns/structure/1.0">
                      4: 
                      5:   <start>
                      6:     <ref name="pattern"/>
                      7:   </start>
                      8: 
                      9:   <define name="pattern">
                     10:     <choice>
                     11:       <element name="element">
                     12:         <choice>
                     13:           <attribute name="name">
                     14:             <data type="QName"/>
                     15:           </attribute>
                     16:           <ref name="open-name-class"/>
                     17:         </choice>
                     18:         <ref name="common-atts"/>
                     19:         <ref name="open-patterns"/>
                     20:       </element>
                     21:       <element name="attribute">
                     22:         <ref name="common-atts"/>
                     23:         <choice>
                     24:           <attribute name="name">
                     25:             <data type="QName"/>
                     26:           </attribute>
                     27:           <ref name="open-name-class"/>
                     28:         </choice>
                     29:         <interleave>
                     30:           <ref name="other"/>
                     31:           <optional>
                     32:             <ref name="pattern"/>
                     33:           </optional>
                     34:         </interleave>
                     35:       </element>
                     36:       <element name="group">
                     37:         <ref name="common-atts"/>
                     38:         <ref name="open-patterns"/>
                     39:       </element>
                     40:       <element name="interleave">
                     41:         <ref name="common-atts"/>
                     42:         <ref name="open-patterns"/>
                     43:       </element>
                     44:       <element name="choice">
                     45:         <ref name="common-atts"/>
                     46:         <ref name="open-patterns"/>
                     47:       </element>
                     48:       <element name="optional">
                     49:         <ref name="common-atts"/>
                     50:         <ref name="open-patterns"/>
                     51:       </element>
                     52:       <element name="zeroOrMore">
                     53:         <ref name="common-atts"/>
                     54:         <ref name="open-patterns"/>
                     55:       </element>
                     56:       <element name="oneOrMore">
                     57:         <ref name="common-atts"/>
                     58:         <ref name="open-patterns"/>
                     59:       </element>
                     60:       <element name="list">
                     61:         <ref name="common-atts"/>
                     62:         <ref name="open-patterns"/>
                     63:       </element>
                     64:       <element name="mixed">
                     65:         <ref name="common-atts"/>
                     66:         <ref name="open-patterns"/>
                     67:       </element>
                     68:       <element name="ref">
                     69:         <attribute name="name">
                     70:           <data type="NCName"/>
                     71:         </attribute>
                     72:         <ref name="common-atts"/>
                     73:         <ref name="other"/>
                     74:       </element>
                     75:       <element name="parentRef">
                     76:         <attribute name="name">
                     77:           <data type="NCName"/>
                     78:         </attribute>
                     79:         <ref name="common-atts"/>
                     80:         <ref name="other"/>
                     81:       </element>
                     82:       <element name="empty">
                     83:         <ref name="common-atts"/>
                     84:         <ref name="other"/>
                     85:       </element>
                     86:       <element name="text">
                     87:         <ref name="common-atts"/>
                     88:         <ref name="other"/>
                     89:       </element>
                     90:       <element name="value">
                     91:         <optional>
                     92:           <attribute name="type">
                     93:             <data type="NCName"/>
                     94:           </attribute>
                     95:         </optional>
                     96:         <ref name="common-atts"/>
                     97:         <text/>
                     98:       </element>
                     99:       <element name="data">
                    100:         <attribute name="type">
                    101:           <data type="NCName"/>
                    102:         </attribute>
                    103:         <ref name="common-atts"/>
                    104:         <interleave>
                    105:           <ref name="other"/>
                    106:           <group>
                    107:             <zeroOrMore>
                    108:               <element name="param">
                    109:                 <attribute name="name">
                    110:                   <data type="NCName"/>
                    111:                 </attribute>
                    112:                 <ref name="common-atts"/>
                    113:                 <text/>
                    114:               </element>
                    115:             </zeroOrMore>
                    116:             <optional>
                    117:               <element name="except">
                    118:                 <ref name="common-atts"/>
                    119:                 <ref name="open-patterns"/>
                    120:               </element>
                    121:             </optional>
                    122:           </group>
                    123:         </interleave>
                    124:       </element>
                    125:       <element name="notAllowed">
                    126:         <ref name="common-atts"/>
                    127:         <ref name="other"/>
                    128:       </element>
                    129:       <element name="externalRef">
                    130:         <attribute name="href">
                    131:           <data type="anyURI"/>
                    132:         </attribute>
                    133:         <ref name="common-atts"/>
                    134:         <ref name="other"/>
                    135:       </element>
                    136:       <element name="grammar">
                    137:         <ref name="common-atts"/>
                    138:         <ref name="grammar-content"/>
                    139:       </element>
                    140:     </choice>
                    141:   </define>
                    142: 
                    143:   <define name="grammar-content">
                    144:     <interleave>
                    145:       <ref name="other"/>
                    146:       <zeroOrMore>
                    147:         <choice>
                    148:           <ref name="start-element"/>
                    149:           <ref name="define-element"/>
                    150:           <element name="div">
                    151:             <ref name="common-atts"/>
                    152:             <ref name="grammar-content"/>
                    153:           </element>
                    154:           <element name="include">
                    155:             <attribute name="href">
                    156:               <data type="anyURI"/>
                    157:             </attribute>
                    158:             <ref name="common-atts"/>
                    159:             <ref name="include-content"/>
                    160:           </element>
                    161:         </choice>
                    162:       </zeroOrMore>
                    163:     </interleave>
                    164:   </define>
                    165: 
                    166:   <define name="include-content">
                    167:     <interleave>
                    168:       <ref name="other"/>
                    169:       <zeroOrMore>
                    170:         <choice>
                    171:           <ref name="start-element"/>
                    172:           <ref name="define-element"/>
                    173:           <element name="div">
                    174:             <ref name="common-atts"/>
                    175:             <ref name="include-content"/>
                    176:           </element>
                    177:         </choice>
                    178:       </zeroOrMore>
                    179:     </interleave>
                    180:   </define>
                    181: 
                    182:   <define name="start-element">
                    183:     <element name="start">
                    184:       <ref name="combine-att"/>
                    185:       <ref name="common-atts"/>
                    186:       <ref name="open-pattern"/>
                    187:     </element>
                    188:   </define>
                    189: 
                    190:   <define name="define-element">
                    191:     <element name="define">
                    192:       <attribute name="name">
                    193:         <data type="NCName"/>
                    194:       </attribute>
                    195:       <ref name="combine-att"/>
                    196:       <ref name="common-atts"/>
                    197:       <ref name="open-patterns"/>
                    198:     </element>
                    199:   </define>
                    200: 
                    201:   <define name="combine-att">
                    202:     <optional>
                    203:       <attribute name="combine">
                    204:         <choice>
                    205:           <value>choice</value>
                    206:           <value>interleave</value>
                    207:         </choice>
                    208:       </attribute>
                    209:     </optional>
                    210:   </define>
                    211: 
                    212:   <define name="open-patterns">
                    213:     <interleave>
                    214:       <ref name="other"/>
                    215:       <oneOrMore>
                    216:         <ref name="pattern"/>
                    217:       </oneOrMore>
                    218:     </interleave>
                    219:   </define>
                    220: 
                    221:   <define name="open-pattern">
                    222:     <interleave>
                    223:       <ref name="other"/>
                    224:       <ref name="pattern"/>
                    225:     </interleave>
                    226:   </define>
                    227: 
                    228:   <define name="name-class">
                    229:     <choice>
                    230:       <element name="name">
                    231:         <ref name="common-atts"/>
                    232:         <data type="QName"/>
                    233:       </element>
                    234:       <element name="anyName">
                    235:         <ref name="common-atts"/>
                    236:         <ref name="except-name-class"/>
                    237:       </element>
                    238:       <element name="nsName">
                    239:         <ref name="common-atts"/>
                    240:         <ref name="except-name-class"/>
                    241:       </element>
                    242:       <element name="choice">
                    243:         <ref name="common-atts"/>
                    244:         <ref name="open-name-classes"/>
                    245:       </element>
                    246:     </choice>
                    247:   </define>
                    248: 
                    249:   <define name="except-name-class">
                    250:     <interleave>
                    251:       <ref name="other"/>
                    252:       <optional>
                    253:         <element name="except">
                    254:           <ref name="open-name-classes"/>
                    255:         </element>
                    256:       </optional>
                    257:     </interleave>
                    258:   </define>
                    259: 
                    260:   <define name="open-name-classes">
                    261:     <interleave>
                    262:       <ref name="other"/>
                    263:       <oneOrMore>
                    264:         <ref name="name-class"/>
                    265:       </oneOrMore>
                    266:     </interleave>
                    267:   </define>
                    268: 
                    269:   <define name="open-name-class">
                    270:     <interleave>
                    271:       <ref name="other"/>
                    272:       <ref name="name-class"/>
                    273:     </interleave>
                    274:   </define>
                    275: 
                    276:   <define name="common-atts">
                    277:     <optional>
                    278:       <attribute name="ns"/>
                    279:     </optional>
                    280:     <optional>
                    281:       <attribute name="datatypeLibrary">
                    282:         <data type="anyURI"/>
                    283:       </attribute>
                    284:     </optional>
                    285:     <zeroOrMore>
                    286:       <attribute>
                    287:         <anyName>
                    288:           <except>
                    289:             <nsName/>
                    290:             <nsName ns=""/>
                    291:           </except>
                    292:         </anyName>
                    293:       </attribute>
                    294:     </zeroOrMore>
                    295:   </define>
                    296: 
                    297:   <define name="other">
                    298:     <zeroOrMore>
                    299:       <element>
                    300:         <anyName>
                    301:           <except>
                    302:             <nsName/>
                    303:           </except>
                    304:         </anyName>
                    305:         <zeroOrMore>
                    306:           <choice>
                    307:             <attribute>
                    308:               <anyName/>
                    309:             </attribute>
                    310:             <text/>
                    311:             <ref name="any"/>
                    312:           </choice>
                    313:         </zeroOrMore>
                    314:       </element>
                    315:     </zeroOrMore>
                    316:   </define>
                    317: 
                    318:   <define name="any">
                    319:     <element>
                    320:       <anyName/>
                    321:       <zeroOrMore>
                    322:         <choice>
                    323:           <attribute>
                    324:             <anyName/>
                    325:           </attribute>
                    326:           <text/>
                    327:           <ref name="any"/>
                    328:         </choice>
                    329:       </zeroOrMore>
                    330:     </element>
                    331:   </define>
                    332: 
                    333: </grammar>
                    334: 

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