You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
178 lines
3.6 KiB
178 lines
3.6 KiB
<grammar xmlns="http://relaxng.org/ns/structure/1.0">
|
|
<start>
|
|
<ref name="comps"/>
|
|
</start>
|
|
|
|
<define name="package-name">
|
|
<text/>
|
|
</define>
|
|
|
|
<define name="group-name">
|
|
<text/>
|
|
</define>
|
|
|
|
<define name="lang">
|
|
<text/>
|
|
</define>
|
|
|
|
<define name="description-text">
|
|
<text/>
|
|
</define>
|
|
|
|
<define name="comps">
|
|
<element name="comps">
|
|
<oneOrMore>
|
|
<ref name="group"/>
|
|
</oneOrMore>
|
|
<ref name="grouphierarchy"/>
|
|
<oneOrMore>
|
|
<ref name="package"/>
|
|
</oneOrMore>
|
|
</element>
|
|
</define>
|
|
|
|
<define name="group">
|
|
<element name="group">
|
|
<element name="id">
|
|
<ref name="group-name"/>
|
|
</element>
|
|
<interleave>
|
|
<ref name="names"/>
|
|
<optional>
|
|
<element name="default">
|
|
<choice>
|
|
<value>true</value>
|
|
<value>false</value>
|
|
</choice>
|
|
</element>
|
|
</optional>
|
|
<optional>
|
|
<ref name="descriptions"/>
|
|
</optional>
|
|
<optional>
|
|
<element name="uservisible">
|
|
<choice>
|
|
<value>true</value>
|
|
<value>false</value>
|
|
</choice>
|
|
</element>
|
|
</optional>
|
|
<optional>
|
|
<element name="langonly">
|
|
<ref name="lang"/>
|
|
</element>
|
|
</optional>
|
|
</interleave>
|
|
<optional>
|
|
<element name="grouplist">
|
|
<zeroOrMore>
|
|
<element name="groupreq">
|
|
<ref name="group-name"/>
|
|
</element>
|
|
</zeroOrMore>
|
|
<zeroOrMore>
|
|
<element name="metapkg">
|
|
<attribute name="type">
|
|
<choice>
|
|
<value>default</value>
|
|
<!-- <value>mandatory</value> ?? -->
|
|
<value>optional</value>
|
|
</choice>
|
|
</attribute>
|
|
<ref name="package-name"/>
|
|
</element>
|
|
</zeroOrMore>
|
|
</element>
|
|
</optional>
|
|
<optional>
|
|
<element name="packagelist">
|
|
<oneOrMore>
|
|
<element name="packagereq">
|
|
<attribute name="type">
|
|
<choice>
|
|
<value>default</value>
|
|
<value>mandatory</value>
|
|
<value>optional</value>
|
|
</choice>
|
|
</attribute>
|
|
<optional>
|
|
<attribute name="requires">
|
|
<ref name="package-name"/>
|
|
</attribute>
|
|
</optional>
|
|
<ref name="package-name"/>
|
|
</element>
|
|
</oneOrMore>
|
|
</element>
|
|
</optional>
|
|
</element>
|
|
</define>
|
|
|
|
<define name="grouphierarchy">
|
|
<element name="grouphierarchy">
|
|
<oneOrMore>
|
|
<ref name="category"/>
|
|
</oneOrMore>
|
|
</element>
|
|
</define>
|
|
|
|
<define name="category">
|
|
<element name="category">
|
|
<ref name="names"/>
|
|
<optional>
|
|
<element name="subcategories">
|
|
<oneOrMore>
|
|
<element name="subcategory">
|
|
<ref name="package-name"/>
|
|
</element>
|
|
</oneOrMore>
|
|
</element>
|
|
</optional>
|
|
</element>
|
|
</define>
|
|
|
|
<define name="package">
|
|
<element name="package">
|
|
<element name="name">
|
|
<ref name="package-name"/>
|
|
</element>
|
|
<element name="dependencylist">
|
|
<zeroOrMore>
|
|
<element name="dependency">
|
|
<ref name="package-name"/>
|
|
</element>
|
|
</zeroOrMore>
|
|
</element>
|
|
</element>
|
|
</define>
|
|
|
|
<define name="names">
|
|
<element name="name">
|
|
<ref name="description-text"/>
|
|
</element>
|
|
<zeroOrMore>
|
|
<element name="name">
|
|
<attribute name="xml:lang">
|
|
<ref name="lang"/>
|
|
</attribute>
|
|
<ref name="description-text"/>
|
|
</element>
|
|
</zeroOrMore>
|
|
</define>
|
|
|
|
<define name="descriptions">
|
|
<element name="description">
|
|
<ref name="description-text"/>
|
|
</element>
|
|
<zeroOrMore>
|
|
<element name="description">
|
|
<attribute name="xml:lang">
|
|
<ref name="lang"/>
|
|
</attribute>
|
|
<ref name="description-text"/>
|
|
</element>
|
|
</zeroOrMore>
|
|
</define>
|
|
|
|
</grammar>
|