Annotation of modules/damieng/graphical_editor/loncapa_daxe/web/config/SimplerSchema.xsd, revision 1.1

1.1     ! damieng     1: <?xml version='1.0' encoding='UTF-8'?>
        !             2: 
        !             3: <!-- ceci est une version simplifiée du schéma des schémas XML fourni par le W3C -->
        !             4: <!-- elle correspond en gros à ce que Jaxe comprend des schémas XML -->
        !             5: <!-- mais reste à peu près compatible (ce schéma est d'ailleurs un schéma XML valide) -->
        !             6: 
        !             7: <!-- this is a simplified version of the W3C's XML schema schema -->
        !             8: <!-- it features what Jaxe understands of XML schemas -->
        !             9: <!-- but keeps about compatible (this simplified schema is actually a valid XML schema) -->
        !            10: 
        !            11: <xs:schema targetNamespace="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema" xml:lang="EN">
        !            12: 
        !            13: <!-- <xs:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="http://www.w3.org/2001/xml.xsd"> -->
        !            14:  <xs:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="xml.xsd">
        !            15:    <xs:annotation>
        !            16:      <xs:documentation>
        !            17:        Get access to the xml: attribute groups for xml:lang
        !            18:        as declared on 'schema' and 'documentation' below
        !            19:      </xs:documentation>
        !            20:    </xs:annotation>
        !            21:  </xs:import>
        !            22: 
        !            23:  <xs:complexType name="annotated">
        !            24:    <xs:annotation>
        !            25:      <xs:documentation>
        !            26:        This type is extended by all types which allow annotation
        !            27:        other than &lt;schema&gt; itself
        !            28:      </xs:documentation>
        !            29:    </xs:annotation>
        !            30:    <xs:sequence>
        !            31:      <xs:element ref="xs:annotation" minOccurs="0"/>
        !            32:    </xs:sequence>
        !            33:  </xs:complexType>
        !            34: 
        !            35:  <xs:group name="schemaTop">
        !            36:   <xs:annotation>
        !            37:    <xs:documentation>
        !            38:    This group is for the
        !            39:    elements which occur freely at the top level of schemas.
        !            40:    All of their types are based on the "annotated" type by extension.</xs:documentation>
        !            41:   </xs:annotation>
        !            42:   <xs:choice>
        !            43:    <xs:group ref="xs:redefinable"/>
        !            44:    <xs:element ref="xs:element"/>
        !            45:    <xs:element ref="xs:attribute"/>
        !            46:   </xs:choice>
        !            47:  </xs:group>
        !            48:  
        !            49:  <xs:group name="redefinable">
        !            50:   <xs:annotation>
        !            51:    <xs:documentation>
        !            52:    This group is for the
        !            53:    elements which can self-redefine (see &lt;redefine> below).</xs:documentation>
        !            54:   </xs:annotation>
        !            55:   <xs:choice>
        !            56:    <xs:element ref="xs:simpleType"/>
        !            57:    <xs:element ref="xs:complexType"/>
        !            58:    <xs:element ref="xs:group"/>
        !            59:    <xs:element ref="xs:attributeGroup"/>
        !            60:   </xs:choice>
        !            61:  </xs:group>
        !            62: 
        !            63:  <xs:simpleType name="formChoice">
        !            64:   <xs:annotation>
        !            65:    <xs:documentation>
        !            66:    A utility type, not for public use</xs:documentation>
        !            67:   </xs:annotation>
        !            68:   <xs:restriction base="xs:NMTOKEN">
        !            69:    <xs:enumeration value="qualified"/>
        !            70:    <xs:enumeration value="unqualified"/>
        !            71:   </xs:restriction>
        !            72:  </xs:simpleType>
        !            73: 
        !            74:  <xs:element name="schema">
        !            75:   <xs:annotation>
        !            76:     <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-schema"/>
        !            77:   </xs:annotation>
        !            78:   <xs:complexType>
        !            79:      <xs:sequence>
        !            80:       <xs:choice minOccurs="0" maxOccurs="unbounded">
        !            81:        <xs:element ref="xs:include"/>
        !            82:        <xs:element ref="xs:import"/>
        !            83:        <xs:element ref="xs:redefine"/>
        !            84:        <xs:element ref="xs:annotation"/>
        !            85:       </xs:choice>
        !            86:       <xs:sequence minOccurs="0" maxOccurs="unbounded">
        !            87:        <xs:group ref="xs:schemaTop"/>
        !            88:        <xs:element ref="xs:annotation" minOccurs="0" maxOccurs="unbounded"/>
        !            89:       </xs:sequence>
        !            90:      </xs:sequence>
        !            91:      <xs:attribute name="targetNamespace" type="xs:anyURI"/>
        !            92:      <xs:attribute name="version" type="xs:token"/>
        !            93:      <xs:attribute name="attributeFormDefault" type="xs:formChoice" use="optional" default="unqualified"/>
        !            94:      <xs:attribute name="elementFormDefault" type="xs:formChoice" use="optional" default="unqualified"/>
        !            95:      <xs:attribute ref="xml:lang"/>
        !            96:   </xs:complexType>
        !            97:   
        !            98:   <xs:key name="element">
        !            99:    <xs:selector xpath="xs:element"/>
        !           100:    <xs:field xpath="@name"/>
        !           101:   </xs:key>
        !           102: 
        !           103:   <xs:key name="attribute">
        !           104:    <xs:selector xpath="xs:attribute"/>
        !           105:    <xs:field xpath="@name"/>
        !           106:   </xs:key>
        !           107: 
        !           108:   <xs:key name="type">
        !           109:    <xs:selector xpath="xs:complexType|xs:simpleType"/>
        !           110:    <xs:field xpath="@name"/>
        !           111:   </xs:key>
        !           112:  
        !           113:   <xs:key name="group">
        !           114:    <xs:selector xpath="xs:group"/>
        !           115:    <xs:field xpath="@name"/>
        !           116:   </xs:key>
        !           117:  
        !           118:   <xs:key name="attributeGroup">
        !           119:    <xs:selector xpath="xs:attributeGroup"/>
        !           120:    <xs:field xpath="@name"/>
        !           121:   </xs:key>
        !           122:  
        !           123:   <xs:key name="identityConstraint">
        !           124:    <xs:selector xpath=".//xs:key|.//xs:unique|.//xs:keyref"/>
        !           125:    <xs:field xpath="@name"/>
        !           126:   </xs:key>
        !           127:   
        !           128:  </xs:element>
        !           129: 
        !           130:  <xs:simpleType name="allNNI">
        !           131:   <xs:annotation><xs:documentation>
        !           132:    for maxOccurs</xs:documentation></xs:annotation>
        !           133:   <xs:union memberTypes="xs:nonNegativeInteger">
        !           134:    <xs:simpleType>
        !           135:     <xs:restriction base="xs:NMTOKEN">
        !           136:      <xs:enumeration value="unbounded"/>
        !           137:     </xs:restriction>
        !           138:    </xs:simpleType>
        !           139:   </xs:union>
        !           140:  </xs:simpleType>
        !           141: 
        !           142:  <xs:attributeGroup name="occurs">
        !           143:   <xs:annotation><xs:documentation>
        !           144:    for all particles</xs:documentation></xs:annotation>
        !           145:   <xs:attribute name="minOccurs" type="xs:nonNegativeInteger" use="optional" default="1"/>
        !           146:   <xs:attribute name="maxOccurs" type="xs:allNNI" use="optional" default="1"/>
        !           147:  </xs:attributeGroup>
        !           148: 
        !           149:  <xs:attributeGroup name="defRef">
        !           150:   <xs:annotation><xs:documentation>
        !           151:    for element, group and attributeGroup,
        !           152:    which both define and reference</xs:documentation></xs:annotation>
        !           153:   <xs:attribute name="name" type="xs:NCName"/>
        !           154:   <xs:attribute name="ref" type="xs:QName"/>
        !           155:  </xs:attributeGroup>
        !           156: 
        !           157:  <xs:group name="typeDefParticle">
        !           158:   <xs:annotation>
        !           159:     <xs:documentation>
        !           160:    'complexType' uses this</xs:documentation></xs:annotation>
        !           161:   <xs:choice>
        !           162:    <xs:element name="group" type="xs:groupRef"/>
        !           163:    <xs:element ref="xs:all"/>
        !           164:    <xs:element ref="xs:choice"/>
        !           165:    <xs:element ref="xs:sequence"/>
        !           166:   </xs:choice>
        !           167:  </xs:group>
        !           168:  
        !           169:  
        !           170:  <xs:group name="nestedParticle">
        !           171:   <xs:choice>
        !           172:    <xs:element name="element" type="xs:localElement"/>
        !           173:    <xs:element name="group" type="xs:groupRef"/>
        !           174:    <xs:element ref="xs:choice"/>
        !           175:    <xs:element ref="xs:sequence"/>
        !           176:    <xs:element ref="xs:any"/>
        !           177:   </xs:choice>
        !           178:  </xs:group>
        !           179:  
        !           180:  <xs:group name="particle">
        !           181:   <xs:choice>
        !           182:    <xs:element name="element" type="xs:localElement"/>
        !           183:    <xs:element name="group" type="xs:groupRef"/>
        !           184:    <xs:element ref="xs:all"/>
        !           185:    <xs:element ref="xs:choice"/>
        !           186:    <xs:element ref="xs:sequence"/>
        !           187:    <xs:element ref="xs:any"/>
        !           188:   </xs:choice>
        !           189:  </xs:group>
        !           190:  
        !           191:  <xs:complexType name="attribute">
        !           192:   <xs:complexContent>
        !           193:    <xs:extension base="xs:annotated">
        !           194:     <xs:sequence>
        !           195:      <xs:element name="simpleType" minOccurs="0" type="xs:localSimpleType"/>
        !           196:     </xs:sequence>
        !           197:     <xs:attributeGroup ref="xs:defRef"/>
        !           198:     <xs:attribute name="type" type="xs:QName"/>
        !           199:     <xs:attribute name="use" use="optional" default="optional">
        !           200:      <xs:simpleType>
        !           201:       <xs:restriction base="xs:NMTOKEN">
        !           202:        <xs:enumeration value="prohibited"/>
        !           203:        <xs:enumeration value="optional"/>
        !           204:        <xs:enumeration value="required"/>
        !           205:       </xs:restriction>
        !           206:      </xs:simpleType>
        !           207:     </xs:attribute>
        !           208:     <xs:attribute name="default" type="xs:string"/>
        !           209:     <xs:attribute name="fixed" type="xs:string"/>
        !           210:     <xs:attribute name="form" type="xs:formChoice"/>
        !           211:    </xs:extension>
        !           212:   </xs:complexContent>
        !           213:  </xs:complexType>
        !           214:  
        !           215:  <xs:complexType name="topLevelAttribute">
        !           216:   <xs:complexContent>
        !           217:    <xs:restriction base="xs:attribute">
        !           218:     <xs:sequence>
        !           219:      <xs:element ref="xs:annotation" minOccurs="0"/>
        !           220:      <xs:element name="simpleType" minOccurs="0" type="xs:localSimpleType"/>
        !           221:     </xs:sequence>
        !           222:     <xs:attribute name="ref" use="prohibited"/>
        !           223:     <xs:attribute name="form" use="prohibited"/>
        !           224:     <xs:attribute name="use" use="prohibited"/>
        !           225:     <xs:attribute name="name" use="required" type="xs:NCName"/>
        !           226:    </xs:restriction>
        !           227:   </xs:complexContent>
        !           228:  </xs:complexType>
        !           229: 
        !           230:  <xs:group name="attrDecls">
        !           231:   <xs:sequence>
        !           232:    <xs:choice minOccurs="0" maxOccurs="unbounded">
        !           233:     <xs:element name="attribute" type="xs:attribute"/>
        !           234:     <xs:element name="attributeGroup" type="xs:attributeGroupRef"/>
        !           235:    </xs:choice>
        !           236:   </xs:sequence>
        !           237:  </xs:group>
        !           238: 
        !           239:  <xs:group name="complexTypeModel">
        !           240:   <xs:choice>
        !           241:       <xs:element ref="xs:simpleContent"/>
        !           242:       <xs:element ref="xs:complexContent"/>
        !           243:       <xs:sequence>
        !           244:        <xs:group ref="xs:typeDefParticle" minOccurs="0"/>
        !           245:        <xs:group ref="xs:attrDecls"/>
        !           246:       </xs:sequence>
        !           247:   </xs:choice>
        !           248:  </xs:group>
        !           249: 
        !           250:  <xs:complexType name="complexType" abstract="true">
        !           251:   <xs:complexContent>
        !           252:    <xs:extension base="xs:annotated">
        !           253:     <xs:group ref="xs:complexTypeModel"/>
        !           254:     <xs:attribute name="name" type="xs:NCName">
        !           255:      <xs:annotation>
        !           256:       <xs:documentation>
        !           257:       Will be restricted to required or forbidden</xs:documentation>
        !           258:      </xs:annotation>
        !           259:     </xs:attribute>
        !           260:     <xs:attribute name="mixed" type="xs:boolean" use="optional" default="false">
        !           261:      <xs:annotation>
        !           262:       <xs:documentation>
        !           263:       Not allowed if simpleContent child is chosen.
        !           264:       May be overriden by setting on complexContent child.</xs:documentation>
        !           265:     </xs:annotation>
        !           266:     </xs:attribute>
        !           267:     <xs:attribute name="abstract" type="xs:boolean" use="optional" default="false"/>
        !           268:    </xs:extension>
        !           269:   </xs:complexContent>
        !           270:  </xs:complexType>
        !           271:  
        !           272:  <xs:complexType name="topLevelComplexType">
        !           273:   <xs:complexContent>
        !           274:    <xs:restriction base="xs:complexType">
        !           275:     <xs:sequence>
        !           276:      <xs:element ref="xs:annotation" minOccurs="0"/>
        !           277:      <xs:group ref="xs:complexTypeModel"/>
        !           278:     </xs:sequence>
        !           279:     <xs:attribute name="name" type="xs:NCName" use="required"/>
        !           280:    </xs:restriction>
        !           281:   </xs:complexContent>
        !           282:  </xs:complexType>
        !           283:  
        !           284:  <xs:complexType name="localComplexType">
        !           285:   <xs:complexContent>
        !           286:    <xs:restriction base="xs:complexType">
        !           287:     <xs:sequence>
        !           288:      <xs:element ref="xs:annotation" minOccurs="0"/>
        !           289:      <xs:group ref="xs:complexTypeModel"/>
        !           290:     </xs:sequence>
        !           291:     <xs:attribute name="name" use="prohibited"/>
        !           292:     <xs:attribute name="abstract" use="prohibited"/>
        !           293:    </xs:restriction>
        !           294:   </xs:complexContent>
        !           295:  </xs:complexType>
        !           296:  
        !           297:  <xs:complexType name="restrictionType">
        !           298:   <xs:complexContent>
        !           299:    <xs:extension base="xs:annotated">
        !           300:     <xs:sequence>
        !           301:      <xs:choice minOccurs="0">
        !           302:       <xs:group ref="xs:typeDefParticle"/>
        !           303:       <xs:group ref="xs:simpleRestrictionModel"/>
        !           304:      </xs:choice>
        !           305:      <xs:group ref="xs:attrDecls"/>
        !           306:     </xs:sequence>
        !           307:     <xs:attribute name="base" type="xs:QName" use="required"/>
        !           308:    </xs:extension>
        !           309:   </xs:complexContent>
        !           310:  </xs:complexType>
        !           311: 
        !           312:  <xs:complexType name="complexRestrictionType">
        !           313:   <xs:complexContent>
        !           314:    <xs:restriction base="xs:restrictionType">
        !           315:     <xs:sequence>
        !           316:      <xs:element ref="xs:annotation" minOccurs="0"/>
        !           317:      <xs:choice minOccurs="0">
        !           318:       <xs:annotation>
        !           319:        <xs:documentation>This choice is added simply to
        !           320:                    make this a valid restriction per the REC</xs:documentation>
        !           321:       </xs:annotation>
        !           322:       <xs:group ref="xs:typeDefParticle"/>
        !           323:      </xs:choice>
        !           324:      <xs:group ref="xs:attrDecls"/>
        !           325:     </xs:sequence>
        !           326:    </xs:restriction>
        !           327:   </xs:complexContent>
        !           328:  </xs:complexType>
        !           329:  
        !           330:  <xs:complexType name="extensionType">
        !           331:   <xs:complexContent>
        !           332:    <xs:extension base="xs:annotated">
        !           333:     <xs:sequence>
        !           334:      <xs:group ref="xs:typeDefParticle" minOccurs="0"/>
        !           335:      <xs:group ref="xs:attrDecls"/>
        !           336:     </xs:sequence>
        !           337:     <xs:attribute name="base" type="xs:QName" use="required"/>
        !           338:    </xs:extension>
        !           339:   </xs:complexContent>
        !           340:  </xs:complexType>
        !           341: 
        !           342:  <xs:element name="complexContent">
        !           343:   <xs:annotation>
        !           344:    <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-complexContent"/>
        !           345:   </xs:annotation>
        !           346:   <xs:complexType>
        !           347:    <xs:complexContent>
        !           348:     <xs:extension base="xs:annotated">
        !           349:      <xs:choice>
        !           350:       <xs:element name="restriction" type="xs:complexRestrictionType"/>
        !           351:       <xs:element name="extension" type="xs:extensionType"/>
        !           352:      </xs:choice>
        !           353:      <xs:attribute name="mixed" type="xs:boolean">
        !           354:       <xs:annotation>
        !           355:        <xs:documentation>
        !           356:        Overrides any setting on complexType parent.</xs:documentation>
        !           357:       </xs:annotation>
        !           358:     </xs:attribute>
        !           359:     </xs:extension>
        !           360:    </xs:complexContent>
        !           361:   </xs:complexType>
        !           362:  </xs:element>
        !           363:  
        !           364:  <xs:complexType name="simpleRestrictionType">
        !           365:   <xs:complexContent>
        !           366:    <xs:restriction base="xs:restrictionType">
        !           367:     <xs:sequence>
        !           368:      <xs:element ref="xs:annotation" minOccurs="0"/>
        !           369:      <xs:choice minOccurs="0">
        !           370:       <xs:annotation>
        !           371:        <xs:documentation>This choice is added simply to
        !           372:                    make this a valid restriction per the REC</xs:documentation>
        !           373:       </xs:annotation>
        !           374:       <xs:group ref="xs:simpleRestrictionModel"/>
        !           375:      </xs:choice>
        !           376:      <xs:group ref="xs:attrDecls"/>
        !           377:     </xs:sequence>
        !           378:    </xs:restriction>
        !           379:   </xs:complexContent>
        !           380:  </xs:complexType>
        !           381: 
        !           382:  <xs:complexType name="simpleExtensionType">
        !           383:   <xs:complexContent>
        !           384:    <xs:restriction base="xs:extensionType">
        !           385:     <xs:sequence>
        !           386:      <xs:annotation>
        !           387:       <xs:documentation>
        !           388:       No typeDefParticle group reference</xs:documentation>
        !           389:      </xs:annotation>
        !           390:      <xs:element ref="xs:annotation" minOccurs="0"/>
        !           391:      <xs:group ref="xs:attrDecls"/>
        !           392:     </xs:sequence>
        !           393:    </xs:restriction>
        !           394:   </xs:complexContent>
        !           395:  </xs:complexType>
        !           396: 
        !           397:  <xs:element name="simpleContent">
        !           398:   <xs:annotation>
        !           399:    <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-simpleContent"/>
        !           400:   </xs:annotation>
        !           401:   <xs:complexType>
        !           402:    <xs:complexContent>
        !           403:     <xs:extension base="xs:annotated">
        !           404:      <xs:choice>
        !           405:       <xs:element name="restriction" type="xs:simpleRestrictionType"/>
        !           406:       <xs:element name="extension" type="xs:simpleExtensionType"/>
        !           407:      </xs:choice>
        !           408:     </xs:extension>
        !           409:    </xs:complexContent>
        !           410:   </xs:complexType>
        !           411:  </xs:element>
        !           412:  
        !           413:  <xs:element name="complexType" type="xs:topLevelComplexType">
        !           414:   <xs:annotation>
        !           415:    <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-complexType"/>
        !           416:   </xs:annotation>
        !           417:  </xs:element>
        !           418:  
        !           419:  <xs:complexType name="element" abstract="true">
        !           420:   <xs:annotation>
        !           421:    <xs:documentation>
        !           422:    The element element can be used either
        !           423:    at the top level to define an element-type binding globally,
        !           424:    or within a content model to either reference a globally-defined
        !           425:    element or type or declare an element-type binding locally.
        !           426:    The ref form is not allowed at the top level.</xs:documentation>
        !           427:   </xs:annotation>
        !           428: 
        !           429:   <xs:complexContent>
        !           430:    <xs:extension base="xs:annotated">
        !           431:     <xs:sequence>
        !           432:      <xs:choice minOccurs="0">
        !           433:       <xs:element name="simpleType" type="xs:localSimpleType"/>
        !           434:       <xs:element name="complexType" type="xs:localComplexType"/>
        !           435:      </xs:choice>
        !           436:      <xs:group ref="xs:identityConstraint" minOccurs="0" maxOccurs="unbounded"/>
        !           437:     </xs:sequence>
        !           438:     <xs:attributeGroup ref="xs:defRef"/>
        !           439:     <xs:attribute name="type" type="xs:QName"/>
        !           440:     <xs:attribute name="substitutionGroup" type="xs:QName"/>
        !           441:     <xs:attributeGroup ref="xs:occurs"/>
        !           442:     <xs:attribute name="default" type="xs:string"/>
        !           443:     <xs:attribute name="fixed" type="xs:string"/>
        !           444:     <xs:attribute name="abstract" type="xs:boolean" use="optional" default="false"/>
        !           445:     <xs:attribute name="form" type="xs:formChoice"/>
        !           446:    </xs:extension>
        !           447:   </xs:complexContent>
        !           448:  </xs:complexType>
        !           449:  
        !           450:  <xs:complexType name="topLevelElement">
        !           451:   <xs:complexContent>
        !           452:    <xs:restriction base="xs:element">
        !           453:     <xs:sequence>
        !           454:      <xs:element ref="xs:annotation" minOccurs="0"/>
        !           455:      <xs:choice minOccurs="0">
        !           456:       <xs:element name="simpleType" type="xs:localSimpleType"/>
        !           457:       <xs:element name="complexType" type="xs:localComplexType"/>
        !           458:      </xs:choice>
        !           459:      <xs:group ref="xs:identityConstraint" minOccurs="0" maxOccurs="unbounded"/>
        !           460:     </xs:sequence>
        !           461:     <xs:attribute name="name" use="required" type="xs:NCName"/>
        !           462:     <xs:attribute name="ref" use="prohibited"/>
        !           463:     <xs:attribute name="form" use="prohibited"/>
        !           464:     <xs:attribute name="minOccurs" use="prohibited"/>
        !           465:     <xs:attribute name="maxOccurs" use="prohibited"/>
        !           466:    </xs:restriction>
        !           467:   </xs:complexContent>
        !           468:  </xs:complexType>
        !           469:  
        !           470:  <xs:complexType name="localElement">
        !           471:   <xs:complexContent>
        !           472:    <xs:restriction base="xs:element">
        !           473:     <xs:sequence>
        !           474:      <xs:element ref="xs:annotation" minOccurs="0"/>
        !           475:      <xs:choice minOccurs="0">
        !           476:       <xs:element name="simpleType" type="xs:localSimpleType"/>
        !           477:       <xs:element name="complexType" type="xs:localComplexType"/>
        !           478:      </xs:choice>
        !           479:      <xs:group ref="xs:identityConstraint" minOccurs="0" maxOccurs="unbounded"/>
        !           480:     </xs:sequence>
        !           481:     <xs:attribute name="substitutionGroup" use="prohibited"/>
        !           482:     <xs:attribute name="abstract" use="prohibited"/>
        !           483:    </xs:restriction>
        !           484:   </xs:complexContent>
        !           485:  </xs:complexType>
        !           486: 
        !           487:  <xs:element name="element" type="xs:topLevelElement">
        !           488:   <xs:annotation>
        !           489:    <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-element"/>
        !           490:   </xs:annotation>
        !           491:  </xs:element>
        !           492: 
        !           493:  <xs:complexType name="group" abstract="true">
        !           494:   <xs:annotation>
        !           495:    <xs:documentation>
        !           496:    group type for explicit groups, named top-level groups and
        !           497:    group references</xs:documentation>
        !           498:   </xs:annotation>
        !           499:   <xs:complexContent>
        !           500:    <xs:extension base="xs:annotated">
        !           501:     <xs:group ref="xs:particle" minOccurs="0" maxOccurs="unbounded"/>
        !           502:     <xs:attributeGroup ref="xs:defRef"/>
        !           503:     <xs:attributeGroup ref="xs:occurs"/>
        !           504:    </xs:extension>
        !           505:   </xs:complexContent>
        !           506:  </xs:complexType>
        !           507:  
        !           508:  <xs:complexType name="realGroup">
        !           509:   <xs:complexContent>
        !           510:    <xs:restriction base="xs:group">
        !           511:     <xs:sequence>
        !           512:      <xs:element ref="xs:annotation" minOccurs="0"/>
        !           513:      <xs:choice minOccurs="0" maxOccurs="1">
        !           514:       <xs:element ref="xs:all"/>
        !           515:       <xs:element ref="xs:choice"/>
        !           516:       <xs:element ref="xs:sequence"/>
        !           517:      </xs:choice>
        !           518:     </xs:sequence>
        !           519:    </xs:restriction>
        !           520:   </xs:complexContent>
        !           521:  </xs:complexType>
        !           522: 
        !           523:  <xs:complexType name="namedGroup">
        !           524:   <xs:complexContent>
        !           525:    <xs:restriction base="xs:realGroup">
        !           526:     <xs:sequence>
        !           527:      <xs:element ref="xs:annotation" minOccurs="0"/>
        !           528:      <xs:choice minOccurs="1" maxOccurs="1">
        !           529:       <xs:element name="all">
        !           530:        <xs:complexType>
        !           531:         <xs:complexContent>
        !           532:          <xs:restriction base="xs:all">
        !           533:           <xs:group ref="xs:allModel"/>
        !           534:           <xs:attribute name="minOccurs" use="prohibited"/>
        !           535:           <xs:attribute name="maxOccurs" use="prohibited"/>
        !           536:          </xs:restriction>
        !           537:         </xs:complexContent>
        !           538:        </xs:complexType>
        !           539:       </xs:element>
        !           540:       <xs:element name="choice" type="xs:simpleExplicitGroup"/>
        !           541:       <xs:element name="sequence" type="xs:simpleExplicitGroup"/>
        !           542:      </xs:choice>
        !           543:     </xs:sequence>
        !           544:     <xs:attribute name="name" use="required" type="xs:NCName"/>
        !           545:     <xs:attribute name="ref" use="prohibited"/>
        !           546:     <xs:attribute name="minOccurs" use="prohibited"/>
        !           547:     <xs:attribute name="maxOccurs" use="prohibited"/>
        !           548:    </xs:restriction>
        !           549:   </xs:complexContent>
        !           550:  </xs:complexType>
        !           551: 
        !           552:  <xs:complexType name="groupRef">
        !           553:   <xs:complexContent>
        !           554:    <xs:restriction base="xs:realGroup">
        !           555:     <xs:sequence>
        !           556:      <xs:element ref="xs:annotation" minOccurs="0"/>
        !           557:     </xs:sequence>
        !           558:     <xs:attribute name="ref" use="required" type="xs:QName"/>
        !           559:     <xs:attribute name="name" use="prohibited"/>
        !           560:    </xs:restriction>
        !           561:   </xs:complexContent>
        !           562:  </xs:complexType>
        !           563: 
        !           564:  <xs:complexType name="explicitGroup">
        !           565:   <xs:annotation>
        !           566:    <xs:documentation>
        !           567:    group type for the three kinds of group</xs:documentation>
        !           568:   </xs:annotation>
        !           569:   <xs:complexContent>
        !           570:    <xs:restriction base="xs:group">
        !           571:     <xs:sequence>
        !           572:      <xs:element ref="xs:annotation" minOccurs="0"/>
        !           573:      <xs:group ref="xs:nestedParticle" minOccurs="0" maxOccurs="unbounded"/>
        !           574:     </xs:sequence>
        !           575:     <xs:attribute name="name" type="xs:NCName" use="prohibited"/>
        !           576:     <xs:attribute name="ref" type="xs:QName" use="prohibited"/>
        !           577:    </xs:restriction>
        !           578:   </xs:complexContent>
        !           579:  </xs:complexType>
        !           580:  
        !           581:  <xs:group name="allModel">
        !           582:   <xs:sequence>
        !           583:       <xs:element ref="xs:annotation" minOccurs="0"/>
        !           584:       <xs:choice minOccurs="0" maxOccurs="unbounded">
        !           585:        <xs:annotation>
        !           586:         <xs:documentation>This choice with min/max is here to
        !           587:                           avoid a pblm with the Elt:All/Choice/Seq
        !           588:                           Particle derivation constraint</xs:documentation>
        !           589:        </xs:annotation>
        !           590:        <xs:element name="element" type="xs:narrowMaxMin"/>
        !           591:       </xs:choice>
        !           592:      </xs:sequence>
        !           593:  </xs:group>
        !           594:  
        !           595:  <xs:complexType name="narrowMaxMin">
        !           596:   <xs:annotation>
        !           597:    <xs:documentation>restricted max/min</xs:documentation>
        !           598:   </xs:annotation>
        !           599:   <xs:complexContent>
        !           600:    <xs:restriction base="xs:localElement">
        !           601:     <xs:sequence>
        !           602:      <xs:element ref="xs:annotation" minOccurs="0"/>
        !           603:      <xs:choice minOccurs="0">
        !           604:       <xs:element name="simpleType" type="xs:localSimpleType"/>
        !           605:       <xs:element name="complexType" type="xs:localComplexType"/>
        !           606:      </xs:choice>
        !           607:      <xs:group ref="xs:identityConstraint" minOccurs="0" maxOccurs="unbounded"/>
        !           608:     </xs:sequence>
        !           609:     <xs:attribute name="minOccurs" use="optional" default="1">
        !           610:      <xs:simpleType>
        !           611:       <xs:restriction base="xs:nonNegativeInteger">
        !           612:        <xs:enumeration value="0"/>
        !           613:        <xs:enumeration value="1"/>
        !           614:       </xs:restriction>
        !           615:      </xs:simpleType>
        !           616:     </xs:attribute>
        !           617:     <xs:attribute name="maxOccurs" use="optional" default="1">
        !           618:      <xs:simpleType>
        !           619:       <xs:restriction base="xs:allNNI">
        !           620:        <xs:enumeration value="0"/>
        !           621:        <xs:enumeration value="1"/>
        !           622:       </xs:restriction>
        !           623:      </xs:simpleType>
        !           624:     </xs:attribute>
        !           625:    </xs:restriction>
        !           626:   </xs:complexContent>
        !           627:  </xs:complexType>
        !           628: 
        !           629:   <xs:complexType name="all">
        !           630:    <xs:annotation>
        !           631:     <xs:documentation>
        !           632:    Only elements allowed inside</xs:documentation>
        !           633:    </xs:annotation>
        !           634:    <xs:complexContent>
        !           635:     <xs:restriction base="xs:explicitGroup">
        !           636:      <xs:group ref="xs:allModel"/>
        !           637:      <xs:attribute name="minOccurs" use="optional" default="1">
        !           638:       <xs:simpleType>
        !           639:        <xs:restriction base="xs:nonNegativeInteger">
        !           640:         <xs:enumeration value="0"/>
        !           641:         <xs:enumeration value="1"/>
        !           642:        </xs:restriction>
        !           643:       </xs:simpleType>
        !           644:      </xs:attribute>
        !           645:      <xs:attribute name="maxOccurs" use="optional" default="1">
        !           646:       <xs:simpleType>
        !           647:        <xs:restriction base="xs:allNNI">
        !           648:         <xs:enumeration value="1"/>
        !           649:        </xs:restriction>
        !           650:       </xs:simpleType>
        !           651:      </xs:attribute>
        !           652:     </xs:restriction>
        !           653:    </xs:complexContent>
        !           654:   </xs:complexType>
        !           655: 
        !           656:  <xs:element name="all" type="xs:all">
        !           657:   <xs:annotation>
        !           658:    <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-all"/>
        !           659:   </xs:annotation>
        !           660:  </xs:element>
        !           661: 
        !           662:  <xs:complexType name="simpleExplicitGroup">
        !           663:   <xs:complexContent>
        !           664:    <xs:restriction base="xs:explicitGroup">
        !           665:     <xs:sequence>
        !           666:      <xs:element ref="xs:annotation" minOccurs="0"/>
        !           667:      <xs:group ref="xs:nestedParticle" minOccurs="0" maxOccurs="unbounded"/>
        !           668:     </xs:sequence>
        !           669:     <xs:attribute name="minOccurs" use="prohibited"/>
        !           670:     <xs:attribute name="maxOccurs" use="prohibited"/>
        !           671:    </xs:restriction>
        !           672:   </xs:complexContent>
        !           673:  </xs:complexType>
        !           674:  
        !           675:  <xs:element name="choice" type="xs:explicitGroup">
        !           676:   <xs:annotation>
        !           677:    <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-choice"/>
        !           678:   </xs:annotation>
        !           679:  </xs:element>
        !           680: 
        !           681:  <xs:element name="sequence" type="xs:explicitGroup">
        !           682:   <xs:annotation>
        !           683:    <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-sequence"/>
        !           684:   </xs:annotation>
        !           685:  </xs:element>
        !           686: 
        !           687:  <xs:element name="group" type="xs:namedGroup">
        !           688:   <xs:annotation>
        !           689:    <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-group"/>
        !           690:   </xs:annotation>
        !           691:  </xs:element>
        !           692:  
        !           693:  <xs:complexType name="wildcard">
        !           694:   <xs:complexContent>
        !           695:    <xs:extension base="xs:annotated">
        !           696:     <xs:attribute name="namespace" type="xs:namespaceList" use="optional" default="##any"/>
        !           697:     <xs:attribute name="processContents" use="optional" default="strict">
        !           698:      <xs:simpleType>
        !           699:       <xs:restriction base="xs:NMTOKEN">
        !           700:        <xs:enumeration value="skip"/>
        !           701:        <xs:enumeration value="lax"/>
        !           702:        <xs:enumeration value="strict"/>
        !           703:       </xs:restriction>
        !           704:      </xs:simpleType>
        !           705:     </xs:attribute>
        !           706:    </xs:extension>
        !           707:   </xs:complexContent>
        !           708:  </xs:complexType>
        !           709:  
        !           710:  <xs:element name="any">
        !           711:   <xs:annotation>
        !           712:    <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-any"/>
        !           713:   </xs:annotation>
        !           714:   <xs:complexType>
        !           715:    <xs:complexContent>
        !           716:     <xs:extension base="xs:wildcard">
        !           717:      <xs:attributeGroup ref="xs:occurs"/>
        !           718:     </xs:extension>
        !           719:    </xs:complexContent>
        !           720:   </xs:complexType>
        !           721:  </xs:element>
        !           722:  
        !           723:   <xs:annotation>
        !           724:    <xs:documentation>
        !           725:    simple type for the value of the 'namespace' attr of
        !           726:    'any' and 'anyAttribute'</xs:documentation>
        !           727:   </xs:annotation>
        !           728:   <xs:annotation>
        !           729:    <xs:documentation>
        !           730:    Value is
        !           731:               ##any      - - any non-conflicting WFXML/attribute at all
        !           732: 
        !           733:               ##other    - - any non-conflicting WFXML/attribute from
        !           734:                               namespace other than targetNS
        !           735: 
        !           736:               ##local    - - any unqualified non-conflicting WFXML/attribute 
        !           737: 
        !           738:               one or     - - any non-conflicting WFXML/attribute from
        !           739:               more URI        the listed namespaces
        !           740:               references
        !           741:               (space separated)
        !           742: 
        !           743:     ##targetNamespace or ##local may appear in the above list, to
        !           744:         refer to the targetNamespace of the enclosing
        !           745:         schema or an absent targetNamespace respectively</xs:documentation>
        !           746:   </xs:annotation>
        !           747: 
        !           748:  <xs:simpleType name="namespaceList">
        !           749:   <xs:annotation>
        !           750:    <xs:documentation>
        !           751:    A utility type, not for public use</xs:documentation>
        !           752:   </xs:annotation>
        !           753:   <xs:union>
        !           754:    <xs:simpleType>
        !           755:     <xs:restriction base="xs:token">
        !           756:      <xs:enumeration value="##any"/>
        !           757:      <xs:enumeration value="##other"/>
        !           758:     </xs:restriction>
        !           759:    </xs:simpleType>
        !           760:    <xs:simpleType>
        !           761:     <xs:list>
        !           762:      <xs:simpleType>
        !           763:       <xs:union memberTypes="xs:anyURI">
        !           764:        <xs:simpleType>
        !           765:         <xs:restriction base="xs:token">
        !           766:          <xs:enumeration value="##targetNamespace"/>
        !           767:          <xs:enumeration value="##local"/>
        !           768:         </xs:restriction>
        !           769:        </xs:simpleType>
        !           770:       </xs:union>
        !           771:      </xs:simpleType>
        !           772:     </xs:list>
        !           773:    </xs:simpleType>
        !           774:   </xs:union>
        !           775:  </xs:simpleType>
        !           776: 
        !           777:  <xs:element name="attribute" type="xs:topLevelAttribute">
        !           778:   <xs:annotation>
        !           779:    <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-attribute"/>
        !           780:   </xs:annotation>
        !           781:  </xs:element>
        !           782:  
        !           783:  <xs:complexType name="attributeGroup" abstract="true">
        !           784:   <xs:complexContent>
        !           785:    <xs:extension base="xs:annotated">
        !           786:     <xs:group ref="xs:attrDecls"/>
        !           787:     <xs:attributeGroup ref="xs:defRef"/>
        !           788:    </xs:extension>
        !           789:   </xs:complexContent>
        !           790:  </xs:complexType>
        !           791: 
        !           792:  <xs:complexType name="namedAttributeGroup">
        !           793:   <xs:complexContent>
        !           794:    <xs:restriction base="xs:attributeGroup">
        !           795:     <xs:sequence>
        !           796:      <xs:element ref="xs:annotation" minOccurs="0"/>
        !           797:      <xs:group ref="xs:attrDecls"/>
        !           798:     </xs:sequence>
        !           799:     <xs:attribute name="name" use="required" type="xs:NCName"/>
        !           800:     <xs:attribute name="ref" use="prohibited"/>
        !           801:    </xs:restriction>
        !           802:   </xs:complexContent>
        !           803:  </xs:complexType>
        !           804: 
        !           805:  <xs:complexType name="attributeGroupRef">
        !           806:   <xs:complexContent>
        !           807:    <xs:restriction base="xs:attributeGroup">
        !           808:     <xs:sequence>
        !           809:      <xs:element ref="xs:annotation" minOccurs="0"/>
        !           810:     </xs:sequence>
        !           811:     <xs:attribute name="ref" use="required" type="xs:QName"/>
        !           812:     <xs:attribute name="name" use="prohibited"/>
        !           813:    </xs:restriction>
        !           814:   </xs:complexContent>
        !           815:  </xs:complexType>
        !           816: 
        !           817:  <xs:element name="attributeGroup" type="xs:namedAttributeGroup">
        !           818:   <xs:annotation>
        !           819:    <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-attributeGroup"/>
        !           820:   </xs:annotation>
        !           821:  </xs:element>
        !           822:  
        !           823:  <xs:element name="include">
        !           824:   <xs:annotation>
        !           825:    <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-include"/>
        !           826:   </xs:annotation>
        !           827:   <xs:complexType>
        !           828:    <xs:complexContent>
        !           829:     <xs:extension base="xs:annotated">
        !           830:      <xs:attribute name="schemaLocation" type="xs:anyURI" use="required"/>
        !           831:     </xs:extension>
        !           832:    </xs:complexContent>
        !           833:   </xs:complexType>
        !           834:  </xs:element>
        !           835: 
        !           836:  <xs:element name="redefine">
        !           837:   <xs:annotation>
        !           838:    <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-redefine"/>
        !           839:   </xs:annotation>
        !           840:   <xs:complexType>
        !           841:    <xs:choice minOccurs="0" maxOccurs="unbounded">
        !           842:     <xs:element ref="xs:annotation"/>
        !           843:     <xs:group ref="xs:redefinable"/>
        !           844:    </xs:choice>
        !           845:    <xs:attribute name="schemaLocation" type="xs:anyURI" use="required"/>
        !           846:   </xs:complexType>
        !           847:  </xs:element>
        !           848: 
        !           849:  <xs:element name="import">
        !           850:   <xs:annotation>
        !           851:    <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-import"/>
        !           852:   </xs:annotation>
        !           853:   <xs:complexType>
        !           854:    <xs:complexContent>
        !           855:     <xs:extension base="xs:annotated">
        !           856:      <xs:attribute name="namespace" type="xs:anyURI"/>
        !           857:      <xs:attribute name="schemaLocation" type="xs:anyURI"/>
        !           858:     </xs:extension>
        !           859:    </xs:complexContent>
        !           860:   </xs:complexType>
        !           861:  </xs:element>
        !           862: 
        !           863:  <xs:element name="selector">
        !           864:   <xs:annotation>
        !           865:    <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-selector"/>
        !           866:   </xs:annotation>
        !           867:   <xs:complexType>
        !           868:   <xs:complexContent>
        !           869:    <xs:extension base="xs:annotated">
        !           870:      <xs:attribute name="xpath" use="required">
        !           871:       <xs:simpleType>
        !           872:        <xs:annotation>
        !           873:         <xs:documentation>A subset of XPath expressions for use
        !           874: in selectors</xs:documentation>
        !           875:         <xs:documentation>A utility type, not for public
        !           876: use</xs:documentation>
        !           877:        </xs:annotation>
        !           878:        <xs:restriction base="xs:token">
        !           879:         <xs:annotation>
        !           880:          <xs:documentation>The following pattern is intended to allow XPath
        !           881:                            expressions per the following EBNF:
        !           882:           Selector    ::=    Path ( '|' Path )*  
        !           883:           Path    ::=    ('.//')? Step ( '/' Step )*  
        !           884:           Step    ::=    '.' | NameTest  
        !           885:           NameTest    ::=    QName | '*' | NCName ':' '*'  
        !           886:                            child:: is also allowed
        !           887:          </xs:documentation>
        !           888:         </xs:annotation>
        !           889:         <xs:pattern value="(\.//)?(((child::)?((\i\c*:)?(\i\c*|\*)))|\.)(/(((child::)?((\i\c*:)?(\i\c*|\*)))|\.))*(\|(\.//)?(((child::)?((\i\c*:)?(\i\c*|\*)))|\.)(/(((child::)?((\i\c*:)?(\i\c*|\*)))|\.))*)*">
        !           890:         </xs:pattern>
        !           891:        </xs:restriction>
        !           892:       </xs:simpleType>
        !           893:      </xs:attribute>
        !           894:    </xs:extension>
        !           895:   </xs:complexContent>
        !           896:  </xs:complexType>
        !           897:  </xs:element>
        !           898: 
        !           899:  <xs:element name="field">
        !           900:   <xs:annotation>
        !           901:    <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-field"/>
        !           902:   </xs:annotation>
        !           903:   <xs:complexType>
        !           904:   <xs:complexContent>
        !           905:    <xs:extension base="xs:annotated">
        !           906:      <xs:attribute name="xpath" use="required">
        !           907:       <xs:simpleType>
        !           908:        <xs:annotation>
        !           909:         <xs:documentation>A subset of XPath expressions for use
        !           910: in fields</xs:documentation>
        !           911:         <xs:documentation>A utility type, not for public
        !           912: use</xs:documentation>
        !           913:        </xs:annotation>
        !           914:        <xs:restriction base="xs:token">
        !           915:         <xs:annotation>
        !           916:          <xs:documentation>The following pattern is intended to allow XPath
        !           917:                            expressions per the same EBNF as for selector,
        !           918:                            with the following change:
        !           919:           Path    ::=    ('.//')? ( Step '/' )* ( Step | '@' NameTest ) 
        !           920:          </xs:documentation>
        !           921:         </xs:annotation>
        !           922:         <xs:pattern value="(\.//)?((((child::)?((\i\c*:)?(\i\c*|\*)))|\.)/)*((((child::)?((\i\c*:)?(\i\c*|\*)))|\.)|((attribute::|@)((\i\c*:)?(\i\c*|\*))))(\|(\.//)?((((child::)?((\i\c*:)?(\i\c*|\*)))|\.)/)*((((child::)?((\i\c*:)?(\i\c*|\*)))|\.)|((attribute::|@)((\i\c*:)?(\i\c*|\*)))))*">
        !           923:         </xs:pattern>
        !           924:        </xs:restriction>
        !           925:       </xs:simpleType>
        !           926:      </xs:attribute>
        !           927:    </xs:extension>
        !           928:   </xs:complexContent>
        !           929:  </xs:complexType>
        !           930:  </xs:element>
        !           931: 
        !           932:  <xs:complexType name="keybase">
        !           933:   <xs:complexContent>
        !           934:    <xs:extension base="xs:annotated">
        !           935:     <xs:sequence>
        !           936:      <xs:element ref="xs:selector"/>
        !           937:      <xs:element ref="xs:field" minOccurs="1" maxOccurs="unbounded"/>
        !           938:     </xs:sequence>
        !           939:     <xs:attribute name="name" type="xs:NCName" use="required"/>
        !           940:    </xs:extension>
        !           941:   </xs:complexContent>
        !           942:  </xs:complexType>
        !           943: 
        !           944:  <xs:group name="identityConstraint">
        !           945:   <xs:annotation>
        !           946:    <xs:documentation>The three kinds of identity constraints, all with
        !           947:                      type of or derived from 'keybase'.
        !           948:    </xs:documentation>
        !           949:   </xs:annotation>
        !           950:   <xs:choice>
        !           951:    <xs:element ref="xs:unique"/>
        !           952:    <xs:element ref="xs:key"/>
        !           953:    <xs:element ref="xs:keyref"/>
        !           954:   </xs:choice>
        !           955:  </xs:group>
        !           956: 
        !           957:  <xs:element name="unique" type="xs:keybase">
        !           958:   <xs:annotation>
        !           959:    <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-unique"/>
        !           960:   </xs:annotation>
        !           961:  </xs:element>
        !           962:  <xs:element name="key" type="xs:keybase">
        !           963:   <xs:annotation>
        !           964:    <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-key"/>
        !           965:   </xs:annotation>
        !           966:  </xs:element>
        !           967:  <xs:element name="keyref">
        !           968:   <xs:annotation>
        !           969:    <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-keyref"/>
        !           970:   </xs:annotation>
        !           971:   <xs:complexType>
        !           972:    <xs:complexContent>
        !           973:     <xs:extension base="xs:keybase">
        !           974:      <xs:attribute name="refer" type="xs:QName" use="required"/>
        !           975:     </xs:extension>
        !           976:    </xs:complexContent>
        !           977:   </xs:complexType>
        !           978:  </xs:element>
        !           979: 
        !           980:  <xs:element name="documentation">
        !           981:    <xs:annotation>
        !           982:      <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-documentation"/>
        !           983:    </xs:annotation>
        !           984:    <xs:complexType mixed="true">
        !           985:      <xs:attribute name="source" type="xs:anyURI"/>
        !           986:    <xs:attribute ref="xml:lang"/>
        !           987:    </xs:complexType>
        !           988:  </xs:element>
        !           989: 
        !           990:  <xs:element name="annotation">
        !           991:    <xs:annotation>
        !           992:      <xs:documentation source="http://www.w3.org/TR/xmlschema-1/#element-annotation"/>
        !           993:    </xs:annotation>
        !           994:    <xs:complexType>
        !           995:       <xs:choice minOccurs="0" maxOccurs="unbounded">
        !           996:        <xs:element ref="xs:documentation"/>
        !           997:       </xs:choice>
        !           998:    </xs:complexType>
        !           999:  </xs:element>
        !          1000: 
        !          1001: 
        !          1002:   <xs:simpleType name="string">
        !          1003:     <xs:annotation>
        !          1004:       <xs:documentation
        !          1005:                 source="http://www.w3.org/TR/xmlschema-2/#string"/>
        !          1006:     </xs:annotation>
        !          1007:     <xs:restriction base="xs:anySimpleType">
        !          1008:     </xs:restriction>
        !          1009:   </xs:simpleType>
        !          1010: 
        !          1011:   <xs:simpleType name="boolean">
        !          1012:     <xs:annotation>
        !          1013:       <xs:documentation
        !          1014:         source="http://www.w3.org/TR/xmlschema-2/#boolean"/>
        !          1015:     </xs:annotation>
        !          1016:     <xs:restriction base="xs:anySimpleType">
        !          1017:     </xs:restriction>
        !          1018:   </xs:simpleType>
        !          1019: 
        !          1020:   <xs:simpleType name="float">
        !          1021:     <xs:annotation>
        !          1022:       <xs:documentation
        !          1023:         source="http://www.w3.org/TR/xmlschema-2/#float"/>
        !          1024:     </xs:annotation>
        !          1025:     <xs:restriction base="xs:anySimpleType">
        !          1026:     </xs:restriction>
        !          1027:   </xs:simpleType>
        !          1028: 
        !          1029:   <xs:simpleType name="double">
        !          1030:     <xs:annotation>
        !          1031:       <xs:documentation
        !          1032:         source="http://www.w3.org/TR/xmlschema-2/#double"/>
        !          1033:     </xs:annotation>
        !          1034:     <xs:restriction base="xs:anySimpleType">
        !          1035:     </xs:restriction>
        !          1036:   </xs:simpleType>
        !          1037: 
        !          1038:   <xs:simpleType name="decimal">
        !          1039:     <xs:annotation>
        !          1040:       <xs:documentation
        !          1041:         source="http://www.w3.org/TR/xmlschema-2/#decimal"/>
        !          1042:     </xs:annotation>
        !          1043:     <xs:restriction base="xs:anySimpleType">
        !          1044:     </xs:restriction>
        !          1045:   </xs:simpleType>
        !          1046: 
        !          1047:    <xs:simpleType name="duration">
        !          1048:     <xs:annotation>
        !          1049:       <xs:documentation
        !          1050:         source="http://www.w3.org/TR/xmlschema-2/#duration"/>
        !          1051:     </xs:annotation>
        !          1052:     <xs:restriction base="xs:anySimpleType">
        !          1053:     </xs:restriction>
        !          1054:   </xs:simpleType>
        !          1055: 
        !          1056:  <xs:simpleType name="dateTime">
        !          1057:     <xs:annotation>
        !          1058:       <xs:documentation
        !          1059:         source="http://www.w3.org/TR/xmlschema-2/#dateTime"/>
        !          1060:     </xs:annotation>
        !          1061:     <xs:restriction base="xs:anySimpleType">
        !          1062:     </xs:restriction>
        !          1063:   </xs:simpleType>
        !          1064: 
        !          1065:   <xs:simpleType name="time">
        !          1066:     <xs:annotation>
        !          1067:       <xs:documentation
        !          1068:         source="http://www.w3.org/TR/xmlschema-2/#time"/>
        !          1069:     </xs:annotation>
        !          1070:     <xs:restriction base="xs:anySimpleType">
        !          1071:     </xs:restriction>
        !          1072:   </xs:simpleType>
        !          1073: 
        !          1074:   <xs:simpleType name="date">
        !          1075:    <xs:annotation>
        !          1076:       <xs:documentation
        !          1077:         source="http://www.w3.org/TR/xmlschema-2/#date"/>
        !          1078:     </xs:annotation>
        !          1079:     <xs:restriction base="xs:anySimpleType">
        !          1080:     </xs:restriction>
        !          1081:   </xs:simpleType>
        !          1082: 
        !          1083:   <xs:simpleType name="gYearMonth">
        !          1084:    <xs:annotation>
        !          1085:       <xs:documentation
        !          1086:         source="http://www.w3.org/TR/xmlschema-2/#gYearMonth"/>
        !          1087:     </xs:annotation>
        !          1088:     <xs:restriction base="xs:anySimpleType">
        !          1089:     </xs:restriction>
        !          1090:   </xs:simpleType>
        !          1091: 
        !          1092:   <xs:simpleType name="gYear">
        !          1093:     <xs:annotation>
        !          1094:       <xs:documentation
        !          1095:         source="http://www.w3.org/TR/xmlschema-2/#gYear"/>
        !          1096:     </xs:annotation>
        !          1097:     <xs:restriction base="xs:anySimpleType">
        !          1098:     </xs:restriction>
        !          1099:   </xs:simpleType>
        !          1100: 
        !          1101:  <xs:simpleType name="gMonthDay">
        !          1102:     <xs:annotation>
        !          1103:        <xs:documentation
        !          1104:         source="http://www.w3.org/TR/xmlschema-2/#gMonthDay"/>
        !          1105:     </xs:annotation>
        !          1106:     <xs:restriction base="xs:anySimpleType">
        !          1107:     </xs:restriction>
        !          1108:   </xs:simpleType>
        !          1109: 
        !          1110:   <xs:simpleType name="gDay">
        !          1111:     <xs:annotation>
        !          1112:       <xs:documentation
        !          1113:         source="http://www.w3.org/TR/xmlschema-2/#gDay"/>
        !          1114:     </xs:annotation>
        !          1115:     <xs:restriction base="xs:anySimpleType">
        !          1116:     </xs:restriction>
        !          1117:   </xs:simpleType>
        !          1118: 
        !          1119:  <xs:simpleType name="gMonth">
        !          1120:     <xs:annotation>
        !          1121:       <xs:documentation
        !          1122:         source="http://www.w3.org/TR/xmlschema-2/#gMonth"/>
        !          1123:     </xs:annotation>
        !          1124:     <xs:restriction base="xs:anySimpleType">
        !          1125:     </xs:restriction>
        !          1126:   </xs:simpleType>
        !          1127: 
        !          1128:    <xs:simpleType name="hexBinary">
        !          1129:     <xs:annotation>
        !          1130:       <xs:documentation
        !          1131:         source="http://www.w3.org/TR/xmlschema-2/#binary"/>
        !          1132:     </xs:annotation>
        !          1133:     <xs:restriction base="xs:anySimpleType">
        !          1134:     </xs:restriction>
        !          1135:   </xs:simpleType>
        !          1136:  
        !          1137:  <xs:simpleType name="base64Binary">
        !          1138:     <xs:annotation>
        !          1139:       <xs:documentation
        !          1140:                 source="http://www.w3.org/TR/xmlschema-2/#base64Binary"/>
        !          1141:     </xs:annotation>
        !          1142:     <xs:restriction base="xs:anySimpleType">
        !          1143:     </xs:restriction>
        !          1144:   </xs:simpleType>
        !          1145: 
        !          1146:    <xs:simpleType name="anyURI">
        !          1147:     <xs:annotation>
        !          1148:       <xs:documentation
        !          1149:         source="http://www.w3.org/TR/xmlschema-2/#anyURI"/>
        !          1150:     </xs:annotation>
        !          1151:     <xs:restriction base="xs:anySimpleType">
        !          1152:     </xs:restriction>
        !          1153:   </xs:simpleType>
        !          1154: 
        !          1155:   <xs:simpleType name="QName">
        !          1156:     <xs:annotation>
        !          1157:       <xs:documentation
        !          1158:         source="http://www.w3.org/TR/xmlschema-2/#QName"/>
        !          1159:     </xs:annotation>
        !          1160:     <xs:restriction base="xs:anySimpleType">
        !          1161:     </xs:restriction>
        !          1162:   </xs:simpleType>
        !          1163: 
        !          1164:    <xs:simpleType name="NOTATION">
        !          1165:     <xs:annotation>
        !          1166:       <xs:documentation
        !          1167:         source="http://www.w3.org/TR/xmlschema-2/#NOTATION"/>
        !          1168:       <xs:documentation>
        !          1169:         NOTATION cannot be used directly in a schema; rather a type
        !          1170:         must be derived from it by specifying at least one enumeration
        !          1171:         facet whose value is the name of a NOTATION declared in the
        !          1172:         schema.
        !          1173:       </xs:documentation>
        !          1174:     </xs:annotation>
        !          1175:     <xs:restriction base="xs:anySimpleType">
        !          1176:     </xs:restriction>
        !          1177:   </xs:simpleType>
        !          1178: 
        !          1179:   <xs:simpleType name="normalizedString">
        !          1180:     <xs:annotation>
        !          1181:       <xs:documentation
        !          1182:         source="http://www.w3.org/TR/xmlschema-2/#normalizedString"/>
        !          1183:     </xs:annotation>
        !          1184:     <xs:restriction base="xs:anySimpleType">
        !          1185:     </xs:restriction>
        !          1186:   </xs:simpleType>
        !          1187:   
        !          1188:   <xs:simpleType name="token">
        !          1189:     <xs:annotation>
        !          1190:       <xs:documentation
        !          1191:         source="http://www.w3.org/TR/xmlschema-2/#token"/>
        !          1192:     </xs:annotation>
        !          1193:     <xs:restriction base="xs:anySimpleType">
        !          1194:     </xs:restriction>
        !          1195:   </xs:simpleType>
        !          1196:   
        !          1197:   <xs:simpleType name="language">
        !          1198:     <xs:annotation>
        !          1199:       <xs:documentation
        !          1200:         source="http://www.w3.org/TR/xmlschema-2/#language"/>
        !          1201:     </xs:annotation>
        !          1202:     <xs:restriction base="xs:token">
        !          1203:       <xs:pattern
        !          1204:         value="[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*">
        !          1205:         <xs:annotation>
        !          1206:           <xs:documentation
        !          1207:                 source="http://www.ietf.org/rfc/rfc3066.txt">
        !          1208:             pattern specifies the content of section 2.12 of XML 1.0e2
        !          1209:             and RFC 3066 (Revised version of RFC 1766).
        !          1210:           </xs:documentation>
        !          1211:         </xs:annotation>
        !          1212:       </xs:pattern>
        !          1213:     </xs:restriction>
        !          1214:   </xs:simpleType>
        !          1215: 
        !          1216:   <xs:simpleType name="IDREFS">
        !          1217:     <xs:annotation>
        !          1218:       <xs:documentation
        !          1219:         source="http://www.w3.org/TR/xmlschema-2/#IDREFS"/>
        !          1220:     </xs:annotation>
        !          1221:     <xs:restriction>
        !          1222:       <xs:simpleType>
        !          1223:         <xs:list itemType="xs:IDREF"/>
        !          1224:       </xs:simpleType>
        !          1225:         <xs:minLength value="1"/>
        !          1226:     </xs:restriction>
        !          1227:   </xs:simpleType>
        !          1228: 
        !          1229:   <xs:simpleType name="ENTITIES">
        !          1230:     <xs:annotation>
        !          1231:       <xs:documentation
        !          1232:         source="http://www.w3.org/TR/xmlschema-2/#ENTITIES"/>
        !          1233:     </xs:annotation>
        !          1234:     <xs:restriction>
        !          1235:       <xs:simpleType>
        !          1236:         <xs:list itemType="xs:ENTITY"/>
        !          1237:       </xs:simpleType>
        !          1238:         <xs:minLength value="1"/>
        !          1239:     </xs:restriction>
        !          1240:   </xs:simpleType>
        !          1241: 
        !          1242:   <xs:simpleType name="NMTOKEN">
        !          1243:     <xs:annotation>
        !          1244:       <xs:documentation
        !          1245:         source="http://www.w3.org/TR/xmlschema-2/#NMTOKEN"/>
        !          1246:     </xs:annotation>
        !          1247:     <xs:restriction base="xs:token">
        !          1248:       <xs:pattern value="\c+">
        !          1249:         <xs:annotation>
        !          1250:           <xs:documentation
        !          1251:                 source="http://www.w3.org/TR/REC-xml#NT-Nmtoken">
        !          1252:             pattern matches production 7 from the XML spec
        !          1253:           </xs:documentation>
        !          1254:         </xs:annotation>
        !          1255:       </xs:pattern>
        !          1256:     </xs:restriction>
        !          1257:   </xs:simpleType>
        !          1258: 
        !          1259:   <xs:simpleType name="NMTOKENS">
        !          1260:     <xs:annotation>
        !          1261:       <xs:documentation
        !          1262:         source="http://www.w3.org/TR/xmlschema-2/#NMTOKENS"/>
        !          1263:     </xs:annotation>
        !          1264:     <xs:restriction>
        !          1265:       <xs:simpleType>
        !          1266:         <xs:list itemType="xs:NMTOKEN"/>
        !          1267:       </xs:simpleType>
        !          1268:         <xs:minLength value="1"/>
        !          1269:     </xs:restriction>
        !          1270:   </xs:simpleType>
        !          1271: 
        !          1272:   <xs:simpleType name="Name">
        !          1273:     <xs:annotation>
        !          1274:       <xs:documentation
        !          1275:         source="http://www.w3.org/TR/xmlschema-2/#Name"/>
        !          1276:     </xs:annotation>
        !          1277:     <xs:restriction base="xs:token">
        !          1278:       <xs:pattern value="\i\c*">
        !          1279:         <xs:annotation>
        !          1280:           <xs:documentation
        !          1281:                         source="http://www.w3.org/TR/REC-xml#NT-Name">
        !          1282:             pattern matches production 5 from the XML spec
        !          1283:           </xs:documentation>
        !          1284:         </xs:annotation>
        !          1285:       </xs:pattern>
        !          1286:     </xs:restriction>
        !          1287:   </xs:simpleType>
        !          1288: 
        !          1289:   <xs:simpleType name="NCName">
        !          1290:     <xs:annotation>
        !          1291:       <xs:documentation
        !          1292:         source="http://www.w3.org/TR/xmlschema-2/#NCName"/>
        !          1293:     </xs:annotation>
        !          1294:     <xs:restriction base="xs:Name">
        !          1295:       <xs:pattern value="[\i-[:]][\c-[:]]*">
        !          1296:         <xs:annotation>
        !          1297:           <xs:documentation
        !          1298:                 source="http://www.w3.org/TR/REC-xml-names/#NT-NCName">
        !          1299:             pattern matches production 4 from the Namespaces in XML spec
        !          1300:           </xs:documentation>
        !          1301:         </xs:annotation>
        !          1302:       </xs:pattern>
        !          1303:     </xs:restriction>
        !          1304:   </xs:simpleType>
        !          1305: 
        !          1306:    <xs:simpleType name="ID">
        !          1307:     <xs:annotation>
        !          1308:       <xs:documentation
        !          1309:         source="http://www.w3.org/TR/xmlschema-2/#ID"/>
        !          1310:     </xs:annotation>
        !          1311:     <xs:restriction base="xs:NCName"/>
        !          1312:    </xs:simpleType>
        !          1313: 
        !          1314:    <xs:simpleType name="IDREF">
        !          1315:     <xs:annotation>
        !          1316:       <xs:documentation
        !          1317:         source="http://www.w3.org/TR/xmlschema-2/#IDREF"/>
        !          1318:     </xs:annotation>
        !          1319:     <xs:restriction base="xs:NCName"/>
        !          1320:    </xs:simpleType>
        !          1321: 
        !          1322:    <xs:simpleType name="ENTITY">
        !          1323:     <xs:annotation>
        !          1324:       <xs:documentation
        !          1325:         source="http://www.w3.org/TR/xmlschema-2/#ENTITY"/>
        !          1326:     </xs:annotation>
        !          1327:     <xs:restriction base="xs:NCName"/>
        !          1328:    </xs:simpleType>
        !          1329: 
        !          1330:   <xs:simpleType name="integer">
        !          1331:     <xs:annotation>
        !          1332:       <xs:documentation
        !          1333:         source="http://www.w3.org/TR/xmlschema-2/#integer"/>
        !          1334:     </xs:annotation>
        !          1335:     <xs:restriction base="xs:decimal">
        !          1336:       <xs:fractionDigits value="0" fixed="true"/>
        !          1337:       <xs:pattern value="[\-+]?[0-9]+"/>
        !          1338:     </xs:restriction>
        !          1339:   </xs:simpleType>
        !          1340: 
        !          1341:   <xs:simpleType name="nonPositiveInteger">
        !          1342:     <xs:annotation>
        !          1343:       <xs:documentation
        !          1344:         source="http://www.w3.org/TR/xmlschema-2/#nonPositiveInteger"/>
        !          1345:     </xs:annotation>
        !          1346:     <xs:restriction base="xs:integer">
        !          1347:       <xs:maxInclusive value="0"/>
        !          1348:     </xs:restriction>
        !          1349:   </xs:simpleType>
        !          1350: 
        !          1351:   <xs:simpleType name="negativeInteger">
        !          1352:     <xs:annotation>
        !          1353:       <xs:documentation
        !          1354:         source="http://www.w3.org/TR/xmlschema-2/#negativeInteger"/>
        !          1355:     </xs:annotation>
        !          1356:     <xs:restriction base="xs:nonPositiveInteger">
        !          1357:       <xs:maxInclusive value="-1"/>
        !          1358:     </xs:restriction>
        !          1359:   </xs:simpleType>
        !          1360: 
        !          1361:   <xs:simpleType name="long">
        !          1362:     <xs:annotation>
        !          1363:       <xs:documentation
        !          1364:         source="http://www.w3.org/TR/xmlschema-2/#long"/>
        !          1365:     </xs:annotation>
        !          1366:     <xs:restriction base="xs:integer">
        !          1367:       <xs:minInclusive value="-9223372036854775808"/>
        !          1368:       <xs:maxInclusive value="9223372036854775807"/>
        !          1369:     </xs:restriction>
        !          1370:   </xs:simpleType>
        !          1371: 
        !          1372:   <xs:simpleType name="int">
        !          1373:     <xs:annotation>
        !          1374:       <xs:documentation
        !          1375:         source="http://www.w3.org/TR/xmlschema-2/#int"/>
        !          1376:     </xs:annotation>
        !          1377:     <xs:restriction base="xs:long">
        !          1378:       <xs:minInclusive value="-2147483648"/>
        !          1379:       <xs:maxInclusive value="2147483647"/>
        !          1380:     </xs:restriction>
        !          1381:   </xs:simpleType>
        !          1382: 
        !          1383:   <xs:simpleType name="short">
        !          1384:     <xs:annotation>
        !          1385:       <xs:documentation
        !          1386:         source="http://www.w3.org/TR/xmlschema-2/#short"/>
        !          1387:     </xs:annotation>
        !          1388:     <xs:restriction base="xs:int">
        !          1389:       <xs:minInclusive value="-32768"/>
        !          1390:       <xs:maxInclusive value="32767"/>
        !          1391:     </xs:restriction>
        !          1392:   </xs:simpleType>
        !          1393: 
        !          1394:   <xs:simpleType name="byte">
        !          1395:     <xs:annotation>
        !          1396:       <xs:documentation
        !          1397:         source="http://www.w3.org/TR/xmlschema-2/#byte"/>
        !          1398:     </xs:annotation>
        !          1399:     <xs:restriction base="xs:short">
        !          1400:       <xs:minInclusive value="-128"/>
        !          1401:       <xs:maxInclusive value="127"/>
        !          1402:     </xs:restriction>
        !          1403:   </xs:simpleType>
        !          1404: 
        !          1405:   <xs:simpleType name="nonNegativeInteger">
        !          1406:     <xs:annotation>
        !          1407:       <xs:documentation
        !          1408:         source="http://www.w3.org/TR/xmlschema-2/#nonNegativeInteger"/>
        !          1409:     </xs:annotation>
        !          1410:     <xs:restriction base="xs:integer">
        !          1411:       <xs:minInclusive value="0"/>
        !          1412:     </xs:restriction>
        !          1413:   </xs:simpleType>
        !          1414: 
        !          1415:   <xs:simpleType name="unsignedLong">
        !          1416:     <xs:annotation>
        !          1417:       <xs:documentation
        !          1418:         source="http://www.w3.org/TR/xmlschema-2/#unsignedLong"/>
        !          1419:     </xs:annotation>
        !          1420:     <xs:restriction base="xs:nonNegativeInteger">
        !          1421:       <xs:maxInclusive value="18446744073709551615"/>
        !          1422:     </xs:restriction>
        !          1423:   </xs:simpleType>
        !          1424: 
        !          1425:   <xs:simpleType name="unsignedInt">
        !          1426:     <xs:annotation>
        !          1427:       <xs:documentation
        !          1428:         source="http://www.w3.org/TR/xmlschema-2/#unsignedInt"/>
        !          1429:     </xs:annotation>
        !          1430:     <xs:restriction base="xs:unsignedLong">
        !          1431:       <xs:maxInclusive value="4294967295"/>
        !          1432:     </xs:restriction>
        !          1433:   </xs:simpleType>
        !          1434: 
        !          1435:   <xs:simpleType name="unsignedShort">
        !          1436:     <xs:annotation>
        !          1437:       <xs:documentation
        !          1438:         source="http://www.w3.org/TR/xmlschema-2/#unsignedShort"/>
        !          1439:     </xs:annotation>
        !          1440:     <xs:restriction base="xs:unsignedInt">
        !          1441:       <xs:maxInclusive value="65535"/>
        !          1442:     </xs:restriction>
        !          1443:   </xs:simpleType>
        !          1444: 
        !          1445:   <xs:simpleType name="unsignedByte">
        !          1446:     <xs:annotation>
        !          1447:       <xs:documentation
        !          1448:         source="http://www.w3.org/TR/xmlschema-2/#unsignedByte"/>
        !          1449:     </xs:annotation>
        !          1450:     <xs:restriction base="xs:unsignedShort">
        !          1451:       <xs:maxInclusive value="255"/>
        !          1452:     </xs:restriction>
        !          1453:   </xs:simpleType>
        !          1454: 
        !          1455:   <xs:simpleType name="positiveInteger">
        !          1456:     <xs:annotation>
        !          1457:       <xs:documentation
        !          1458:         source="http://www.w3.org/TR/xmlschema-2/#positiveInteger"/>
        !          1459:     </xs:annotation>
        !          1460:     <xs:restriction base="xs:nonNegativeInteger">
        !          1461:       <xs:minInclusive value="1"/>
        !          1462:     </xs:restriction>
        !          1463:   </xs:simpleType>
        !          1464: 
        !          1465:  <xs:group name="simpleDerivation">
        !          1466:   <xs:choice>
        !          1467:     <xs:element ref="xs:restriction"/>
        !          1468:     <xs:element ref="xs:list"/>
        !          1469:     <xs:element ref="xs:union"/>
        !          1470:   </xs:choice>
        !          1471:  </xs:group>
        !          1472:  
        !          1473:   <xs:complexType name="simpleType" abstract="true">
        !          1474:     <xs:complexContent>
        !          1475:       <xs:extension base="xs:annotated">
        !          1476:         <xs:group ref="xs:simpleDerivation"/>
        !          1477:         <xs:attribute name="name" type="xs:NCName">
        !          1478:           <xs:annotation>
        !          1479:             <xs:documentation>
        !          1480:               Can be restricted to required or forbidden
        !          1481:             </xs:documentation>
        !          1482:           </xs:annotation>
        !          1483:         </xs:attribute>
        !          1484:       </xs:extension>
        !          1485:     </xs:complexContent>
        !          1486:   </xs:complexType>
        !          1487: 
        !          1488:   <xs:complexType name="topLevelSimpleType">
        !          1489:     <xs:complexContent>
        !          1490:       <xs:restriction base="xs:simpleType">
        !          1491:         <xs:sequence>
        !          1492:           <xs:element ref="xs:annotation" minOccurs="0"/>
        !          1493:           <xs:group ref="xs:simpleDerivation"/>
        !          1494:         </xs:sequence>
        !          1495:         <xs:attribute name="name" use="required"
        !          1496:              type="xs:NCName">
        !          1497:           <xs:annotation>
        !          1498:             <xs:documentation>
        !          1499:               Required at the top level
        !          1500:             </xs:documentation>
        !          1501:           </xs:annotation>
        !          1502:         </xs:attribute>
        !          1503:       </xs:restriction>
        !          1504:     </xs:complexContent>
        !          1505:   </xs:complexType>
        !          1506: 
        !          1507:   <xs:complexType name="localSimpleType">
        !          1508:     <xs:complexContent>
        !          1509:       <xs:restriction base="xs:simpleType">
        !          1510:         <xs:sequence>
        !          1511:           <xs:element ref="xs:annotation" minOccurs="0"/>
        !          1512:           <xs:group ref="xs:simpleDerivation"/>
        !          1513:         </xs:sequence>
        !          1514:         <xs:attribute name="name" use="prohibited">
        !          1515:           <xs:annotation>
        !          1516:             <xs:documentation>
        !          1517:               Forbidden when nested
        !          1518:             </xs:documentation>
        !          1519:           </xs:annotation>
        !          1520:         </xs:attribute>
        !          1521:       </xs:restriction>
        !          1522:     </xs:complexContent>
        !          1523:   </xs:complexType>
        !          1524: 
        !          1525:   <xs:element name="simpleType" type="xs:topLevelSimpleType">
        !          1526:     <xs:annotation>
        !          1527:       <xs:documentation
        !          1528:         source="http://www.w3.org/TR/xmlschema-2/#element-simpleType"/>
        !          1529:     </xs:annotation>
        !          1530:   </xs:element>
        !          1531: 
        !          1532:   <xs:group name="facets">
        !          1533:    <xs:annotation>
        !          1534:     <xs:documentation>
        !          1535:        We should use a substitution group for facets, but
        !          1536:        that's ruled out because it would allow users to
        !          1537:        add their own, which we're not ready for yet.
        !          1538:     </xs:documentation>
        !          1539:    </xs:annotation>
        !          1540:    <xs:choice>
        !          1541:     <xs:element ref="xs:minExclusive"/>
        !          1542:     <xs:element ref="xs:minInclusive"/>
        !          1543:     <xs:element ref="xs:maxExclusive"/>
        !          1544:     <xs:element ref="xs:maxInclusive"/>
        !          1545:     <xs:element ref="xs:totalDigits"/>
        !          1546:     <xs:element ref="xs:fractionDigits"/>
        !          1547:     <xs:element ref="xs:length"/>
        !          1548:     <xs:element ref="xs:minLength"/>
        !          1549:     <xs:element ref="xs:maxLength"/>
        !          1550:     <xs:element ref="xs:enumeration"/>
        !          1551:     <xs:element ref="xs:pattern"/>
        !          1552:    </xs:choice>
        !          1553:   </xs:group>
        !          1554: 
        !          1555:   <xs:group name="simpleRestrictionModel">
        !          1556:    <xs:sequence>
        !          1557:     <xs:element name="simpleType" type="xs:localSimpleType" minOccurs="0"/>
        !          1558:     <xs:group ref="xs:facets" minOccurs="0" maxOccurs="unbounded"/>
        !          1559:    </xs:sequence>
        !          1560:   </xs:group>
        !          1561: 
        !          1562:   <xs:element name="restriction">
        !          1563:    <xs:complexType>
        !          1564:     <xs:annotation>
        !          1565:       <xs:documentation
        !          1566:                 source="http://www.w3.org/TR/xmlschema-2/#element-restriction">
        !          1567:           base attribute and simpleType child are mutually
        !          1568:           exclusive, but one or other is required
        !          1569:         </xs:documentation>
        !          1570:       </xs:annotation>
        !          1571:       <xs:complexContent>
        !          1572:         <xs:extension base="xs:annotated">
        !          1573:          <xs:group ref="xs:simpleRestrictionModel"/>
        !          1574:          <xs:attribute name="base" type="xs:QName" use="optional"/>
        !          1575:         </xs:extension>
        !          1576:       </xs:complexContent>
        !          1577:     </xs:complexType>
        !          1578:   </xs:element>
        !          1579: 
        !          1580:   <xs:element name="list">
        !          1581:    <xs:complexType>
        !          1582:     <xs:annotation>
        !          1583:       <xs:documentation
        !          1584:                 source="http://www.w3.org/TR/xmlschema-2/#element-list">
        !          1585:           itemType attribute and simpleType child are mutually
        !          1586:           exclusive, but one or other is required
        !          1587:         </xs:documentation>
        !          1588:       </xs:annotation>
        !          1589:       <xs:complexContent>
        !          1590:         <xs:extension base="xs:annotated">
        !          1591:           <xs:sequence>
        !          1592:             <xs:element name="simpleType" type="xs:localSimpleType"
        !          1593:                 minOccurs="0"/>
        !          1594:           </xs:sequence>
        !          1595:           <xs:attribute name="itemType" type="xs:QName" use="optional"/>
        !          1596:         </xs:extension>
        !          1597:       </xs:complexContent>
        !          1598:     </xs:complexType>
        !          1599:   </xs:element>
        !          1600: 
        !          1601:   <xs:element name="union">
        !          1602:    <xs:complexType>
        !          1603:     <xs:annotation>
        !          1604:       <xs:documentation
        !          1605:                 source="http://www.w3.org/TR/xmlschema-2/#element-union">
        !          1606:           memberTypes attribute must be non-empty or there must be
        !          1607:           at least one simpleType child
        !          1608:         </xs:documentation>
        !          1609:       </xs:annotation>
        !          1610:       <xs:complexContent>
        !          1611:         <xs:extension base="xs:annotated">
        !          1612:           <xs:sequence>
        !          1613:             <xs:element name="simpleType" type="xs:localSimpleType"
        !          1614:                 minOccurs="0" maxOccurs="unbounded"/>
        !          1615:           </xs:sequence>
        !          1616:           <xs:attribute name="memberTypes" use="optional">
        !          1617:             <xs:simpleType>
        !          1618:               <xs:list itemType="xs:QName"/>
        !          1619:             </xs:simpleType>
        !          1620:           </xs:attribute>
        !          1621:         </xs:extension>
        !          1622:       </xs:complexContent>
        !          1623:     </xs:complexType>
        !          1624:   </xs:element>
        !          1625:   
        !          1626:   <xs:complexType name="facet">
        !          1627:     <xs:complexContent>
        !          1628:       <xs:extension base="xs:annotated">
        !          1629:         <xs:attribute name="value" use="required"/>
        !          1630:         <xs:attribute name="fixed" type="xs:boolean" use="optional"
        !          1631:                       default="false"/>
        !          1632:       </xs:extension>
        !          1633:     </xs:complexContent>
        !          1634:   </xs:complexType>
        !          1635: 
        !          1636:   <xs:complexType name="noFixedFacet">
        !          1637:    <xs:complexContent>
        !          1638:     <xs:restriction base="xs:facet">
        !          1639:      <xs:sequence>
        !          1640:       <xs:element ref="xs:annotation" minOccurs="0"/>
        !          1641:      </xs:sequence>
        !          1642:      <xs:attribute name="fixed" use="prohibited"/>
        !          1643:     </xs:restriction>
        !          1644:    </xs:complexContent>
        !          1645:   </xs:complexType>
        !          1646: 
        !          1647:   <xs:element name="minExclusive" type="xs:facet">
        !          1648:     <xs:annotation>
        !          1649:       <xs:documentation
        !          1650:         source="http://www.w3.org/TR/xmlschema-2/#element-minExclusive"/>
        !          1651:     </xs:annotation>
        !          1652:   </xs:element>
        !          1653:   <xs:element name="minInclusive" type="xs:facet">
        !          1654:     <xs:annotation>
        !          1655:       <xs:documentation
        !          1656:         source="http://www.w3.org/TR/xmlschema-2/#element-minInclusive"/>
        !          1657:     </xs:annotation>
        !          1658:   </xs:element>
        !          1659: 
        !          1660:   <xs:element name="maxExclusive" type="xs:facet">
        !          1661:     <xs:annotation>
        !          1662:       <xs:documentation
        !          1663:         source="http://www.w3.org/TR/xmlschema-2/#element-maxExclusive"/>
        !          1664:     </xs:annotation>
        !          1665:   </xs:element>
        !          1666:   <xs:element name="maxInclusive" type="xs:facet">
        !          1667:     <xs:annotation>
        !          1668:       <xs:documentation
        !          1669:         source="http://www.w3.org/TR/xmlschema-2/#element-maxInclusive"/>
        !          1670:     </xs:annotation>
        !          1671:   </xs:element>
        !          1672: 
        !          1673:   <xs:complexType name="numFacet">
        !          1674:     <xs:complexContent>
        !          1675:       <xs:restriction base="xs:facet">
        !          1676:        <xs:sequence>
        !          1677:          <xs:element ref="xs:annotation" minOccurs="0"/>
        !          1678:        </xs:sequence>
        !          1679:        <xs:attribute name="value" type="xs:nonNegativeInteger" use="required"/>
        !          1680:       </xs:restriction>
        !          1681:     </xs:complexContent>
        !          1682:   </xs:complexType>
        !          1683: 
        !          1684:   <xs:element name="totalDigits" type="xs:numFacet">
        !          1685:     <xs:annotation>
        !          1686:       <xs:documentation
        !          1687:         source="http://www.w3.org/TR/xmlschema-2/#element-totalDigits"/>
        !          1688:     </xs:annotation>
        !          1689:   </xs:element>
        !          1690:   <xs:element name="fractionDigits" type="xs:numFacet">
        !          1691:     <xs:annotation>
        !          1692:       <xs:documentation
        !          1693:         source="http://www.w3.org/TR/xmlschema-2/#element-fractionDigits"/>
        !          1694:     </xs:annotation>
        !          1695:   </xs:element>
        !          1696: 
        !          1697:   <xs:element name="length" type="xs:numFacet">
        !          1698:     <xs:annotation>
        !          1699:       <xs:documentation
        !          1700:         source="http://www.w3.org/TR/xmlschema-2/#element-length"/>
        !          1701:     </xs:annotation>
        !          1702:   </xs:element>
        !          1703:   <xs:element name="minLength" type="xs:numFacet">
        !          1704:     <xs:annotation>
        !          1705:       <xs:documentation
        !          1706:         source="http://www.w3.org/TR/xmlschema-2/#element-minLength"/>
        !          1707:     </xs:annotation>
        !          1708:   </xs:element>
        !          1709:   <xs:element name="maxLength" type="xs:numFacet">
        !          1710:     <xs:annotation>
        !          1711:       <xs:documentation
        !          1712:         source="http://www.w3.org/TR/xmlschema-2/#element-maxLength"/>
        !          1713:     </xs:annotation>
        !          1714:   </xs:element>
        !          1715:   
        !          1716:   <xs:element name="enumeration" type="xs:noFixedFacet">
        !          1717:     <xs:annotation>
        !          1718:       <xs:documentation
        !          1719:         source="http://www.w3.org/TR/xmlschema-2/#element-enumeration"/>
        !          1720:     </xs:annotation>
        !          1721:   </xs:element>
        !          1722: 
        !          1723:   <xs:element name="pattern" type="xs:noFixedFacet">
        !          1724:     <xs:annotation>
        !          1725:       <xs:documentation
        !          1726:         source="http://www.w3.org/TR/xmlschema-2/#element-pattern"/>
        !          1727:     </xs:annotation>
        !          1728:   </xs:element>
        !          1729: 
        !          1730: </xs:schema>

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