Home | History | Annotate | Download | only in relaxng
      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>
    178