diff options
Diffstat (limited to 'xml/resources-1.2.rng')
-rw-r--r-- | xml/resources-1.2.rng | 227 |
1 files changed, 227 insertions, 0 deletions
diff --git a/xml/resources-1.2.rng b/xml/resources-1.2.rng new file mode 100644 index 0000000..e38eb7c --- /dev/null +++ b/xml/resources-1.2.rng @@ -0,0 +1,227 @@ +<?xml version="1.0" encoding="UTF-8"?> +<grammar xmlns="http://relaxng.org/ns/structure/1.0" + datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> + <start> + <ref name="element-resources"/> + </start> + + <define name="element-resources"> + <element name="resources"> + <zeroOrMore> + <choice> + <ref name="element-primitive"/> + <ref name="element-template"/> + <ref name="element-group"/> + <ref name="element-clone"/> + <ref name="element-master"/> + </choice> + </zeroOrMore> + </element> + </define> + + <define name="element-primitive"> + <element name="primitive"> + <interleave> + <attribute name="id"><data type="ID"/></attribute> + <choice> + <group> + <choice> + <group> + <attribute name="class"><value>ocf</value></attribute> + <attribute name="provider"><text/></attribute> + </group> + <attribute name="class"> + <choice> + <value>lsb</value> + <value>heartbeat</value> + <value>stonith</value> + <value>upstart</value> + <value>service</value> + <value>systemd</value> + <value>nagios</value> + </choice> + </attribute> + </choice> + <attribute name="type"><text/></attribute> + </group> + <attribute name="template"><data type="IDREF"/></attribute> + </choice> + <optional> + <attribute name="description"><text/></attribute> + </optional> + <ref name="element-resource-extra"/> + <ref name="element-operations"/> + <zeroOrMore> + <element name="utilization"> + <externalRef href="nvset.rng"/> + </element> + </zeroOrMore> + </interleave> + </element> + </define> + + <define name="element-template"> + <element name="template"> + <interleave> + <attribute name="id"><data type="ID"/></attribute> + <choice> + <group> + <attribute name="class"><value>ocf</value></attribute> + <attribute name="provider"><text/></attribute> + </group> + <attribute name="class"> + <choice> + <value>lsb</value> + <value>heartbeat</value> + <value>stonith</value> + <value>upstart</value> + </choice> + </attribute> + </choice> + <attribute name="type"><text/></attribute> + <optional> + <attribute name="description"><text/></attribute> + </optional> + <ref name="element-resource-extra"/> + <ref name="element-operations"/> + <zeroOrMore> + <element name="utilization"> + <externalRef href="nvset.rng"/> + </element> + </zeroOrMore> + </interleave> + </element> + </define> + + <define name="element-group"> + <element name="group"> + <attribute name="id"><data type="ID"/></attribute> + <optional> + <attribute name="description"><text/></attribute> + </optional> + <interleave> + <ref name="element-resource-extra"/> + <oneOrMore> + <ref name="element-primitive"/> + </oneOrMore> + </interleave> + </element> + </define> + + <define name="element-clone"> + <element name="clone"> + <attribute name="id"><data type="ID"/></attribute> + <optional> + <attribute name="description"><text/></attribute> + </optional> + <interleave> + <ref name="element-resource-extra"/> + <choice> + <ref name="element-primitive"/> + <ref name="element-group"/> + </choice> + </interleave> + </element> + </define> + + <define name="element-master"> + <element name="master"> + <attribute name="id"><data type="ID"/></attribute> + <optional> + <attribute name="description"><text/></attribute> + </optional> + <interleave> + <ref name="element-resource-extra"/> + <choice> + <ref name="element-primitive"/> + <ref name="element-group"/> + </choice> + </interleave> + </element> + </define> + + <define name="element-resource-extra"> + <zeroOrMore> + <choice> + <element name="meta_attributes"> + <externalRef href="nvset.rng"/> + </element> + <element name="instance_attributes"> + <externalRef href="nvset.rng"/> + </element> + </choice> + </zeroOrMore> + </define> + + <define name="element-operations"> + <optional> + <element name="operations"> + <optional> + <attribute name="id"><data type="ID"/></attribute> + </optional> + <optional> + <attribute name="id-ref"><data type="IDREF"/></attribute> + </optional> + <zeroOrMore> + <element name="op"> + <attribute name="id"><data type="ID"/></attribute> + <attribute name="name"><text/></attribute> + <attribute name="interval"><text/></attribute> + <optional> + <attribute name="description"><text/></attribute> + </optional> + <optional> + <choice> + <attribute name="start-delay"><text/></attribute> + <attribute name="interval-origin"><text/></attribute> + </choice> + </optional> + <optional> + <attribute name="timeout"><text/></attribute> + </optional> + <optional> + <attribute name="enabled"><data type="boolean"/></attribute> + </optional> + <optional> + <attribute name="record-pending"><data type="boolean"/></attribute> + </optional> + <optional> + <attribute name="role"> + <choice> + <value>Stopped</value> + <value>Started</value> + <value>Slave</value> + <value>Master</value> + </choice> + </attribute> + </optional> + <optional> + <attribute name="requires"> + <choice> + <value>nothing</value> + <value>quorum</value> + <value>fencing</value> + </choice> + </attribute> + </optional> + <optional> + <attribute name="on-fail"> + <choice> + <value>ignore</value> + <value>block</value> + <value>stop</value> + <value>restart</value> + <value>standby</value> + <value>fence</value> + <value>restart-container</value> + </choice> + </attribute> + </optional> + <ref name="element-resource-extra"/> + </element> + </zeroOrMore> + </element> + </optional> + </define> + +</grammar> |