diff --git a/xml/constraints-1.0.rng b/xml/constraints-1.0.rng index 48e8ebfee3..ce273a3fc4 100644 --- a/xml/constraints-1.0.rng +++ b/xml/constraints-1.0.rng @@ -1,178 +1,182 @@ <?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"/> </choice> </zeroOrMore> </element> </define> <define name="element-location"> <element name="rsc_location"> <attribute name="id"><data type="ID"/></attribute> <attribute name="rsc"><data type="IDREF"/></attribute> <choice> <group> <externalRef href="score.rng"/> <attribute name="node"><text/></attribute> </group> <oneOrMore> <externalRef href="rule.rng"/> </oneOrMore> </choice> <optional> <ref name="element-lifetime"/> </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="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> - <externalRef href="score.rng"/> + <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> <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="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.rng"/> </oneOrMore> </element> </define> </grammar> diff --git a/xml/constraints-1.2.rng b/xml/constraints-1.2.rng index ccdb69b3fc..bff62dbed9 100644 --- a/xml/constraints-1.2.rng +++ b/xml/constraints-1.2.rng @@ -1,224 +1,228 @@ <?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> <attribute name="rsc"><data type="IDREF"/></attribute> <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.rng"/> </oneOrMore> </choice> <optional> <ref name="element-lifetime"/> </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="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> - <externalRef href="score.rng"/> + <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> <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-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.rng"/> </oneOrMore> </element> </define> </grammar> diff --git a/xml/constraints-2.1.rng b/xml/constraints-2.1.rng index ef5ec685c4..8bed941c92 100644 --- a/xml/constraints-2.1.rng +++ b/xml/constraints-2.1.rng @@ -1,232 +1,236 @@ <?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> <attribute name="rsc"><data type="IDREF"/></attribute> <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.rng"/> </oneOrMore> </choice> <optional> <ref name="element-lifetime"/> </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> - <externalRef href="score.rng"/> + <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> <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-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.rng"/> </oneOrMore> </element> </define> </grammar> diff --git a/xml/constraints-2.2.rng b/xml/constraints-2.2.rng index f00c4aea9c..98491acd82 100644 --- a/xml/constraints-2.2.rng +++ b/xml/constraints-2.2.rng @@ -1,245 +1,249 @@ <?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> <attribute name="rsc"><data type="IDREF"/></attribute> <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.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> - <externalRef href="score.rng"/> + <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> <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.rng"/> </oneOrMore> </element> </define> </grammar> diff --git a/xml/constraints-2.3.rng b/xml/constraints-2.3.rng index 876ad1fa06..17f7afac02 100644 --- a/xml/constraints-2.3.rng +++ b/xml/constraints-2.3.rng @@ -1,248 +1,252 @@ <?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> <attribute name="rsc"><data type="IDREF"/></attribute> <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.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> - <externalRef href="score.rng"/> + <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.rng"/> </oneOrMore> </element> </define> </grammar> diff --git a/xml/constraints-2.6.rng b/xml/constraints-2.6.rng index 3be3439e19..185db4a47e 100644 --- a/xml/constraints-2.6.rng +++ b/xml/constraints-2.6.rng @@ -1,251 +1,255 @@ <?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.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> - <externalRef href="score.rng"/> + <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.rng"/> </oneOrMore> </element> </define> </grammar>