diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-17 06:53:20 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-17 06:53:20 +0000 |
commit | e5a812082ae033afb1eed82c0f2df3d0f6bdc93f (patch) | |
tree | a6716c9275b4b413f6c9194798b34b91affb3cc7 /xml/rule.rng | |
parent | Initial commit. (diff) | |
download | pacemaker-e5a812082ae033afb1eed82c0f2df3d0f6bdc93f.tar.xz pacemaker-e5a812082ae033afb1eed82c0f2df3d0f6bdc93f.zip |
Adding upstream version 2.1.6.upstream/2.1.6
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'xml/rule.rng')
-rw-r--r-- | xml/rule.rng | 137 |
1 files changed, 137 insertions, 0 deletions
diff --git a/xml/rule.rng b/xml/rule.rng new file mode 100644 index 0000000..8084526 --- /dev/null +++ b/xml/rule.rng @@ -0,0 +1,137 @@ +<?xml version="1.0" encoding="UTF-8"?> +<grammar xmlns="http://relaxng.org/ns/structure/1.0" + xmlns:ann="http://relaxng.org/ns/compatibility/annotations/1.0" + datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> + <start> + <ref name="element-rule"/> + </start> + + <define name="element-rule"> + <element name="rule"> + <choice> + <attribute name="id-ref"><data type="IDREF"/></attribute> + <group> + <attribute name="id"><data type="ID"/></attribute> + <choice> + <externalRef href="score.rng"/> + <attribute name="score-attribute"><text/></attribute> + </choice> + <optional> + <attribute name="boolean-op"> + <choice> + <value>or</value> + <value>and</value> + </choice> + </attribute> + </optional> + <optional> + <attribute name="role"><text/></attribute> + </optional> + <oneOrMore> + <choice> + <element name="expression"> + <attribute name="id"><data type="ID"/></attribute> + <attribute name="attribute"><text/></attribute> + <attribute name="operation"> + <choice> + <value>lt</value> + <value>gt</value> + <value>lte</value> + <value>gte</value> + <value>eq</value> + <value>ne</value> + <value>defined</value> + <value>not_defined</value> + </choice> + </attribute> + <optional> + <attribute name="value"><text/></attribute> + </optional> + <optional> + <attribute name="type" ann:defaultValue="string"> + <choice> + <value>string</value> + <value>number</value> + <value>version</value> + </choice> + </attribute> + </optional> + </element> + <element name="date_expression"> + <attribute name="id"><data type="ID"/></attribute> + <choice> + <group> + <attribute name="operation"><value>in_range</value></attribute> + <choice> + <group> + <optional> + <attribute name="start"><text/></attribute> + </optional> + <attribute name="end"><text/></attribute> + </group> + <group> + <attribute name="start"><text/></attribute> + <element name="duration"> + <ref name="date-common"/> + </element> + </group> + </choice> + </group> + <group> + <attribute name="operation"><value>gt</value></attribute> + <attribute name="start"><text/></attribute> + </group> + <group> + <attribute name="operation"><value>lt</value></attribute> + <choice> + <attribute name="end"><text/></attribute> + </choice> + </group> + <group> + <attribute name="operation"><value>date_spec</value></attribute> + <element name="date_spec"> + <ref name="date-common"/> + </element> + </group> + </choice> + </element> + <ref name="element-rule"/> + </choice> + </oneOrMore> + </group> + </choice> + </element> + </define> + + <define name="date-common"> + <attribute name="id"><data type="ID"/></attribute> + <optional> + <attribute name="hours"><text/></attribute> + </optional> + <optional> + <attribute name="monthdays"><text/></attribute> + </optional> + <optional> + <attribute name="weekdays"><text/></attribute> + </optional> + <optional> + <attribute name="yearsdays"><text/></attribute> + </optional> + <optional> + <attribute name="months"><text/></attribute> + </optional> + <optional> + <attribute name="weeks"><text/></attribute> + </optional> + <optional> + <attribute name="years"><text/></attribute> + </optional> + <optional> + <attribute name="weekyears"><text/></attribute> + </optional> + <optional> + <attribute name="moon"><text/></attribute> + </optional> + </define> + +</grammar> |