| <?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-constraints"/> |
| </start> |
| |
| <define name="element-constraints"> |
| <element name="constraints"> |
| <zeroOrMore> |
| <choice> |
| <ref name="element-location"/> |
| <ref name="element-colocation"/> |
| <ref name="element-order"/> |
| <ref name="element-rsc_ticket"/> |
| </choice> |
| </zeroOrMore> |
| </element> |
| </define> |
| |
| <define name="element-location"> |
| <element name="rsc_location"> |
| <attribute name="id"><data type="ID"/></attribute> |
| <choice> |
| <group> |
| <choice> |
| <attribute name="rsc"><data type="IDREF"/></attribute> |
| <attribute name="rsc-pattern"><text/></attribute> |
| </choice> |
| <optional> |
| <attribute name="role"> |
| <ref name="attribute-roles"/> |
| </attribute> |
| </optional> |
| </group> |
| <oneOrMore> |
| <ref name="element-resource-set"/> |
| </oneOrMore> |
| </choice> |
| <choice> |
| <group> |
| <externalRef href="score.rng"/> |
| <attribute name="node"><text/></attribute> |
| </group> |
| <oneOrMore> |
| <externalRef href="rule-2.9.rng"/> |
| </oneOrMore> |
| </choice> |
| <optional> |
| <ref name="element-lifetime"/> |
| </optional> |
| <optional> |
| <attribute name="resource-discovery"> |
| <ref name="attribute-discovery"/> |
| </attribute> |
| </optional> |
| </element> |
| </define> |
| |
| <define name="element-resource-set"> |
| <element name="resource_set"> |
| <choice> |
| <attribute name="id-ref"><data type="IDREF"/></attribute> |
| <group> |
| <attribute name="id"><data type="ID"/></attribute> |
| <optional> |
| <attribute name="sequential"><data type="boolean"/></attribute> |
| </optional> |
| <optional> |
| <attribute name="require-all"><data type="boolean"/></attribute> |
| </optional> |
| <optional> |
| <attribute name="ordering"> |
| <choice> |
| <value>group</value> |
| <value>listed</value> |
| </choice> |
| </attribute> |
| </optional> |
| <optional> |
| <attribute name="action"> |
| <ref name="attribute-actions"/> |
| </attribute> |
| </optional> |
| <optional> |
| <attribute name="role"> |
| <ref name="attribute-roles"/> |
| </attribute> |
| </optional> |
| <optional> |
| <externalRef href="score.rng"/> |
| </optional> |
| <oneOrMore> |
| <element name="resource_ref"> |
| <attribute name="id"><data type="IDREF"/></attribute> |
| </element> |
| </oneOrMore> |
| </group> |
| </choice> |
| </element> |
| </define> |
| |
| <define name="element-colocation"> |
| <element name="rsc_colocation"> |
| <attribute name="id"><data type="ID"/></attribute> |
| <optional> |
| <choice> |
| <externalRef href="score.rng"/> |
| <attribute name="score-attribute"><text/></attribute> |
| <attribute name="score-attribute-mangle"><text/></attribute> |
| </choice> |
| </optional> |
| <optional> |
| <ref name="element-lifetime"/> |
| </optional> |
| <choice> |
| <oneOrMore> |
| <ref name="element-resource-set"/> |
| </oneOrMore> |
| <group> |
| <attribute name="rsc"><data type="IDREF"/></attribute> |
| <attribute name="with-rsc"><data type="IDREF"/></attribute> |
| <optional> |
| <attribute name="node-attribute"><text/></attribute> |
| </optional> |
| <optional> |
| <attribute name="rsc-role"> |
| <ref name="attribute-roles"/> |
| </attribute> |
| </optional> |
| <optional> |
| <attribute name="with-rsc-role"> |
| <ref name="attribute-roles"/> |
| </attribute> |
| </optional> |
| </group> |
| </choice> |
| </element> |
| </define> |
| |
| <define name="element-order"> |
| <element name="rsc_order"> |
| <attribute name="id"><data type="ID"/></attribute> |
| <optional> |
| <ref name="element-lifetime"/> |
| </optional> |
| <optional> |
| <attribute name="symmetrical"><data type="boolean"/></attribute> |
| </optional> |
| <optional> |
| <attribute name="require-all"><data type="boolean"/></attribute> |
| </optional> |
| <optional> |
| <choice> |
| <externalRef href="score.rng"/> |
| <attribute name="kind"> |
| <ref name="order-types"/> |
| </attribute> |
| </choice> |
| </optional> |
| <choice> |
| <oneOrMore> |
| <ref name="element-resource-set"/> |
| </oneOrMore> |
| <group> |
| <attribute name="first"><data type="IDREF"/></attribute> |
| <attribute name="then"><data type="IDREF"/></attribute> |
| <optional> |
| <attribute name="first-action"> |
| <ref name="attribute-actions"/> |
| </attribute> |
| </optional> |
| <optional> |
| <attribute name="then-action"> |
| <ref name="attribute-actions"/> |
| </attribute> |
| </optional> |
| </group> |
| </choice> |
| </element> |
| </define> |
| |
| <define name="element-rsc_ticket"> |
| <element name="rsc_ticket"> |
| <attribute name="id"><data type="ID"/></attribute> |
| <choice> |
| <oneOrMore> |
| <ref name="element-resource-set"/> |
| </oneOrMore> |
| <group> |
| <attribute name="rsc"><data type="IDREF"/></attribute> |
| <optional> |
| <attribute name="rsc-role"> |
| <ref name="attribute-roles"/> |
| </attribute> |
| </optional> |
| </group> |
| </choice> |
| <attribute name="ticket"><text/></attribute> |
| <optional> |
| <attribute name="loss-policy"> |
| <choice> |
| <value>stop</value> |
| <value>demote</value> |
| <value>fence</value> |
| <value>freeze</value> |
| </choice> |
| </attribute> |
| </optional> |
| </element> |
| </define> |
| |
| <define name="attribute-discovery"> |
| <choice> |
| <value>always</value> |
| <value>never</value> |
| <value>exclusive</value> |
| </choice> |
| </define> |
| |
| <define name="attribute-actions"> |
| <choice> |
| <value>start</value> |
| <value>promote</value> |
| <value>demote</value> |
| <value>stop</value> |
| </choice> |
| </define> |
| |
| <define name="attribute-roles"> |
| <choice> |
| <value>Stopped</value> |
| <value>Started</value> |
| <value>Master</value> |
| <value>Slave</value> |
| </choice> |
| </define> |
| |
| <define name="order-types"> |
| <choice> |
| <value>Optional</value> |
| <value>Mandatory</value> |
| <value>Serialize</value> |
| </choice> |
| </define> |
| |
| <define name="element-lifetime"> |
| <element name="lifetime"> |
| <oneOrMore> |
| <externalRef href="rule-2.9.rng"/> |
| </oneOrMore> |
| </element> |
| </define> |
| |
| </grammar> |