Files
new_install/xml/install_ng.xml
lizhi-rocky d1760bad48 10% work
complete most xml relax ng work.
work on real interface xml
work on python scripts for parsing interface xml
2010-07-08 11:52:50 +08:00

150 lines
3.0 KiB
XML

<?xml version="1.0" encoding="UTF-8" ?>
<grammar xmlns="http://relaxng.org/ns/structure/1.0">
<start>
<element name="install">
<ref name="serial-number"/>
<ref name="partitions"/>
<ref name="raids"/>
<ref name="mount-points"/>
<ref name="network"/>
<ref name="services"/>
<ref name="groups"/>
</element>
</start>
<define name="serial-number">
<element name="serial-number">
<text/>
</element>
</define>
<define name="partitions">
<oneOrMore>
<element name="partition">
<attribute name="device"/>
<attribute name="boot">
<ref name="mybool"/>
</attribute>
<attribute name="type">
<choice>
<value>primary</value>
<value>extended</value>
<value>logic</value>
</choice>
</attribute>
<attribute name="id"/>
<attribute name="size"/>
</element>
</oneOrMore>
</define>
<define name="raids">
<zeroOrMore>
<element name="raid">
<attribute name="raid-device"/>
<attribute name="raid-type">
<choice>
<value>RAID0</value>
<value>RAID1</value>
<value>RAID5</value>
</choice>
</attribute>
<oneOrMore>
<element name="raw-device">
<text/>
</element>
</oneOrMore>
</element>
</zeroOrMore>
</define>
<define name="mount-points">
<oneOrMore>
<element name="mount-point">
<attribute name="device"/>
<attribute name="directory"/>
<attribute name="file-system"/>
</element>
</oneOrMore>
</define>
<define name="network">
<element name="network">
<attribute name="hostname"/>
<attribute name="configuration">
<choice>
<value>dynamic</value>
<value>static</value>
</choice>
</attribute>
<optional>
<group>
<attribute name="ip"/>
<attribute name="mask"/>
<attribute name="gateway"/>
<attribute name="primary_dns"/>
<attribute name="secondary_dns"/>
<attribute name="domain"/>
</group>
</optional>
</element>
</define>
<define name="services">
<zeroOrMore>
<element name="service">
<attribute name="name"/>
<attribute name="start">
<ref name="mybool"/>
</attribute>
</element>
</zeroOrMore>
</define>
<define name="groups">
<oneOrMore>
<element name="group">
<attribute name="name"/>
<attribute name="install">
<ref name="mybool"/>
</attribute>
<optional>
<ref name="description"/>
</optional>
<oneOrMore>
<ref name="including"/>
</oneOrMore>
</element>
</oneOrMore>
</define>
<define name="description">
<element name="description">
<text/>
</element>
</define>
<define name="including">
<element name="including">
<attribute name="package"/>
<attribute name="type">
<choice>
<value>mandatory</value>
<value>optional</value>
</choice>
</attribute>
<attribute name="install">
<ref name="mybool"/>
</attribute>
</element>
</define>
<define name="mybool">
<choice>
<value>yes</value>
<value>no</value>
</choice>
</define>
</grammar>