Page MenuHomeClusterLabs Projects

cibtr-2.rng
No OneTemporary

cibtr-2.rng

<!--
Copyright 2018 Red Hat, Inc.
Author: Jan Pokorny <jpokorny@redhat.com>
Part of pacemaker project
SPDX-License-Identifier: GPL-2.0-or-later
-->
<grammar xmlns="http://relaxng.org/ns/structure/1.0"
xmlns:cibtr="http://clusterlabs.org/ns/pacemaker/cibtr-2"
datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
<start>
<ref name="cibtr-2"/>
</start>
<define name="cibtr-2">
<element name="cibtr:map">
<zeroOrMore>
<ref name="cibtr-2.table"/>
</zeroOrMore>
</element>
</define>
<define name="cibtr-2.table">
<element name="cibtr:table">
<attribute name="for">
<data type="ID"/>
</attribute>
<attribute name="msg-prefix">
<data type="string"/>
</attribute>
<choice>
<zeroOrMore>
<ref name="cibtr-2.replace.nonwhereaware"/>
</zeroOrMore>
<group>
<attribute name="where-cases">
<!-- pipe-delimited enumeration-->
<data type="string">
<param name="minLength">1</param>
</data>
</attribute>
<!-- cannot arrange this as an interleave of
cibtr-2.replace.whereaware+ and
cibtr-2.replace.nonwhereaware* because of
http://relaxng.org/spec-20011203.html#attribute-restrictions -->
<zeroOrMore>
<ref name="cibtr-2.replace.whereaware"/>
</zeroOrMore>
</group>
</choice>
</element>
</define>
<!-- leaf attributes -->
<define name="cibtr-2.replace.attr-in-case-of">
<attribute name="in-case-of">
<!-- pipe-delimited enumeration-->
<data type="string"/>
</attribute>
</define>
<define name="cibtr-2.replace.attr-in-case-of-droppable-prefix">
<attribute name="in-case-of-droppable-prefix">
<!-- just a single argument taken verbatim -->
<data type="string">
<param name="minLength">1</param>
</data>
</attribute>
</define>
<define name="cibtr-2.replace.attr-msg-extra">
<attribute name="msg-extra">
<data type="string">
<param name="minLength">1</param>
</data>
</attribute>
</define>
<define name="cibtr-2.replace.attr-msg-severity">
<attribute name="msg-severity">
<choice>
<value>WARNING</value>
<value>INFO</value>
<value>DEBUG</value>
</choice>
</attribute>
</define>
<define name="cibtr-2.replace.attr-redefined-as">
<attribute name="redefined-as">
<data type="string">
<param name="minLength">1</param>
</data>
</attribute>
</define>
<define name="cibtr-2.replace.attr-what">
<attribute name="what">
<data type="NCName"/>
</attribute>
</define>
<define name="cibtr-2.replace.attr-where">
<attribute name="where">
<data type="NCName"/>
</attribute>
</define>
<define name="cibtr-2.replace.attr-with-possibly">
<attribute name="with">
<choice>
<data type="NCName"/>
<empty/>
</choice>
</attribute>
</define>
<define name="cibtr-2.replace.attr-with-surely">
<attribute name="with">
<choice>
<data type="NCName"/>
</choice>
</attribute>
</define>
<define name="cibtr-2.replace.attrs-common">
<ref name="cibtr-2.replace.attr-what"/>
<optional>
<ref name="cibtr-2.replace.attr-msg-extra"/>
</optional>
<optional>
<ref name="cibtr-2.replace.attr-msg-severity"/>
</optional>
</define>
<define name="cibtr-2.replace.attrs-redefined-as-in-case-of">
<ref name="cibtr-2.replace.attr-redefined-as"/>
<!-- can be combined with in-case-of, but cannot be combined
with in-case-of-droppable-prefix -->
<optional>
<ref name="cibtr-2.replace.attr-in-case-of"/>
</optional>
</define>
<!-- leaf production using the above attribute definitions -->
<define name="cibtr-2.replace.nonwhereaware">
<element name="cibtr:replace">
<ref name="cibtr-2.replace.attrs-common"/>
<choice>
<group>
<ref name="cibtr-2.replace.attr-with-possibly"/>
<optional>
<choice>
<ref name="cibtr-2.replace.attrs-redefined-as-in-case-of"/>
<ref name="cibtr-2.replace.attr-in-case-of"/>
</choice>
</optional>
</group>
<group>
<ref name="cibtr-2.replace.attr-with-surely"/>
<optional>
<choice>
<ref name="cibtr-2.replace.attrs-redefined-as-in-case-of"/>
<ref name="cibtr-2.replace.attr-in-case-of"/>
<ref name="cibtr-2.replace.attr-in-case-of-droppable-prefix"/>
</choice>
</optional>
</group>
</choice>
</element>
</define>
<define name="cibtr-2.replace.whereaware">
<element name="cibtr:replace">
<ref name="cibtr-2.replace.attrs-common"/>
<!-- cf. comment at cibtr-2.table -->
<choice>
<group>
<ref name="cibtr-2.replace.attr-with-surely"/>
<ref name="cibtr-2.replace.attr-where"/>
<optional>
<choice>
<ref name="cibtr-2.replace.attrs-redefined-as-in-case-of"/>
<ref name="cibtr-2.replace.attr-in-case-of"/>
<ref name="cibtr-2.replace.attr-in-case-of-droppable-prefix"/>
</choice>
</optional>
</group>
<group>
<ref name="cibtr-2.replace.attr-with-surely"/>
<optional>
<ref name="cibtr-2.replace.attr-where"/>
</optional>
<choice>
<ref name="cibtr-2.replace.attrs-redefined-as-in-case-of"/>
<ref name="cibtr-2.replace.attr-in-case-of"/>
<ref name="cibtr-2.replace.attr-in-case-of-droppable-prefix"/>
</choice>
</group>
<group>
<ref name="cibtr-2.replace.attr-with-possibly"/>
<optional>
<ref name="cibtr-2.replace.attr-in-case-of"/>
</optional>
</group>
</choice>
</element>
</define>
</grammar>

File Metadata

Mime Type
text/plain
Expires
Tue, Oct 29, 7:06 PM (1 d, 12 h)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
909518
Default Alt Text
cibtr-2.rng (5 KB)

Event Timeline