File:  [ELWIX - Embedded LightWeight unIX -] / embedaddon / libxml2 / test / relaxng / comps.rng
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs - revision graph
Tue Feb 21 23:37:59 2012 UTC (12 years, 7 months ago) by misho
Branches: libxml2, MAIN
CVS tags: v2_9_1p0, v2_9_1, v2_8_0p0, v2_8_0, v2_7_8, HEAD
libxml2

    1: <grammar xmlns="http://relaxng.org/ns/structure/1.0">
    2: <start>
    3:   <ref name="comps"/>
    4: </start>
    5: 
    6: <define name="package-name">
    7:   <text/>
    8: </define>
    9: 
   10: <define name="group-name">
   11:   <text/>
   12: </define>
   13: 
   14: <define name="lang">
   15:   <text/>
   16: </define>
   17: 
   18: <define name="description-text">
   19:   <text/>
   20: </define>
   21: 
   22: <define name="comps">
   23:   <element name="comps">
   24:     <oneOrMore>
   25:       <ref name="group"/>
   26:     </oneOrMore>
   27:     <ref name="grouphierarchy"/>
   28:     <oneOrMore>
   29:       <ref name="package"/>
   30:     </oneOrMore>
   31:   </element>
   32: </define>
   33: 
   34: <define name="group">
   35:   <element name="group">
   36:     <element name="id">
   37:       <ref name="group-name"/>
   38:     </element>
   39:     <interleave>
   40:       <ref name="names"/>
   41:       <optional>
   42:         <element name="default">
   43:           <choice>
   44:             <value>true</value>
   45:             <value>false</value>
   46:           </choice>
   47:         </element>
   48:       </optional>
   49:       <optional>
   50:         <ref name="descriptions"/>
   51:       </optional>
   52:       <optional>
   53:         <element name="uservisible">
   54:           <choice>
   55:             <value>true</value>
   56:             <value>false</value>
   57:           </choice>
   58:         </element>
   59:       </optional>
   60:       <optional>
   61:         <element name="langonly">
   62: 	  <ref name="lang"/>
   63:         </element>
   64:       </optional>
   65:     </interleave>
   66:     <optional>
   67:       <element name="grouplist">
   68:         <zeroOrMore>
   69: 	  <element name="groupreq">
   70: 	    <ref name="group-name"/>
   71: 	  </element>
   72:         </zeroOrMore>
   73:         <zeroOrMore>
   74: 	  <element name="metapkg">
   75: 	    <attribute name="type">
   76: 	      <choice>
   77: 	        <value>default</value>
   78: 	        <!-- <value>mandatory</value> ?? -->
   79: 	        <value>optional</value>
   80: 	      </choice>
   81: 	    </attribute>
   82: 	    <ref name="package-name"/>
   83: 	  </element>
   84:         </zeroOrMore>
   85:       </element>
   86:     </optional>
   87:     <optional>
   88:       <element name="packagelist">
   89:         <oneOrMore>
   90:           <element name="packagereq">
   91: 	    <attribute name="type">
   92: 	      <choice>
   93: 	        <value>default</value>
   94: 	        <value>mandatory</value>
   95: 	        <value>optional</value>
   96: 	      </choice>
   97: 	    </attribute>
   98: 	    <optional>
   99: 	      <attribute name="requires">
  100: 	        <ref name="package-name"/>
  101: 	      </attribute>
  102: 	    </optional>
  103: 	    <ref name="package-name"/>
  104: 	  </element>
  105:         </oneOrMore>
  106:       </element>
  107:     </optional>
  108:   </element>
  109: </define>
  110: 
  111: <define name="grouphierarchy">
  112:   <element name="grouphierarchy">
  113:     <oneOrMore>
  114:       <ref name="category"/>
  115:     </oneOrMore>
  116:   </element>
  117: </define>
  118: 
  119: <define name="category">
  120:   <element name="category">
  121:     <ref name="names"/>
  122:     <optional>
  123:       <element name="subcategories">
  124:         <oneOrMore>
  125: 	  <element name="subcategory">
  126: 	    <ref name="package-name"/>
  127: 	  </element>
  128:         </oneOrMore>
  129:       </element>
  130:     </optional>
  131:   </element>
  132: </define>
  133: 
  134: <define name="package">
  135:   <element name="package">
  136:     <element name="name">
  137:       <ref name="package-name"/>
  138:     </element>
  139:     <element name="dependencylist">
  140:       <zeroOrMore>
  141:         <element name="dependency">
  142: 	  <ref name="package-name"/>
  143: 	</element>
  144:       </zeroOrMore>
  145:     </element>
  146:   </element>
  147: </define>
  148: 
  149: <define name="names">
  150:   <element name="name">
  151:     <ref name="description-text"/>
  152:   </element>
  153:   <zeroOrMore>
  154:     <element name="name">
  155:       <attribute name="xml:lang">
  156:         <ref name="lang"/>
  157:       </attribute>
  158:       <ref name="description-text"/>
  159:     </element>
  160:   </zeroOrMore>
  161: </define>
  162: 
  163: <define name="descriptions">
  164:   <element name="description">
  165:     <ref name="description-text"/>
  166:   </element>
  167:   <zeroOrMore>
  168:     <element name="description">
  169:       <attribute name="xml:lang">
  170:         <ref name="lang"/>
  171:       </attribute>
  172:       <ref name="description-text"/>
  173:     </element>
  174:   </zeroOrMore>
  175: </define>
  176: 
  177: </grammar>

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