Signed-off-by: Daniel P. Berrangé <berrange@xxxxxxxxxx> --- docs/schemas/domaincommon.rng | 27 +----------------- docs/schemas/nwfilter.rng | 29 +------------------ docs/schemas/nwfilter_params.rng | 32 +++++++++++++++++++++ docs/schemas/nwfilterbinding.rng | 49 ++++++++++++++++++++++++++++++++ tests/virschematest.c | 1 + 5 files changed, 84 insertions(+), 54 deletions(-) create mode 100644 docs/schemas/nwfilter_params.rng create mode 100644 docs/schemas/nwfilterbinding.rng diff --git a/docs/schemas/domaincommon.rng b/docs/schemas/domaincommon.rng index ff539607cc..f1661d29b6 100644 --- a/docs/schemas/domaincommon.rng +++ b/docs/schemas/domaincommon.rng @@ -5,6 +5,7 @@ <include href='storagecommon.rng'/> <include href='networkcommon.rng'/> <include href='cputypes.rng'/> + <include href='nwfilter_params.rng'/> <!-- description and title element, may be placed anywhere under the root @@ -5282,22 +5283,6 @@ </element> </define> - <define name="filterref-node-attributes"> - <attribute name="filter"> - <data type="NCName"/> - </attribute> - <zeroOrMore> - <element name="parameter"> - <attribute name="name"> - <ref name="filter-param-name"/> - </attribute> - <attribute name="value"> - <ref name="filter-param-value"/> - </attribute> - </element> - </zeroOrMore> - </define> - <define name="deviceBoot"> <element name="boot"> <attribute name="order"> @@ -6024,16 +6009,6 @@ <param name="pattern">[a-zA-Z0-9_\.\+\-/]+</param> </data> </define> - <define name="filter-param-name"> - <data type="string"> - <param name="pattern">[a-zA-Z0-9_]+</param> - </data> - </define> - <define name="filter-param-value"> - <data type="string"> - <param name="pattern">[a-zA-Z0-9_\.:]+</param> - </data> - </define> <define name="spaprvioReg"> <data type="string"> <param name="pattern">(0x)?[0-9a-fA-F]{1,16}</param> diff --git a/docs/schemas/nwfilter.rng b/docs/schemas/nwfilter.rng index cca6ff2954..05a79da112 100644 --- a/docs/schemas/nwfilter.rng +++ b/docs/schemas/nwfilter.rng @@ -1,6 +1,7 @@ <?xml version="1.0" encoding="UTF-8"?> <grammar ns="" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <include href='basictypes.rng'/> + <include href='nwfilter_params.rng'/> <start> <ref name="filter"/> </start> @@ -245,22 +246,6 @@ </optional> </define> - <define name="filterref-node-attributes"> - <attribute name="filter"> - <data type="NCName"/> - </attribute> - <zeroOrMore> - <element name="parameter"> - <attribute name="name"> - <ref name="filter-param-name"/> - </attribute> - <attribute name="value"> - <ref name="filter-param-value"/> - </attribute> - </element> - </zeroOrMore> - </define> - <define name="rule-node-attributes"> <attribute name="action"> <ref name='action-type'/> @@ -937,18 +922,6 @@ </choice> </define> - <define name="filter-param-name"> - <data type="string"> - <param name="pattern">[a-zA-Z0-9_]+</param> - </data> - </define> - - <define name="filter-param-value"> - <data type="string"> - <param name="pattern">[a-zA-Z0-9_\.:]+</param> - </data> - </define> - <define name='action-type'> <choice> <value>drop</value> diff --git a/docs/schemas/nwfilter_params.rng b/docs/schemas/nwfilter_params.rng new file mode 100644 index 0000000000..a3e7b35b6f --- /dev/null +++ b/docs/schemas/nwfilter_params.rng @@ -0,0 +1,32 @@ +<?xml version="1.0"?> +<!-- network-related definitions used in multiple grammars --> +<grammar xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> + + <define name="filterref-node-attributes"> + <attribute name="filter"> + <data type="NCName"/> + </attribute> + <zeroOrMore> + <element name="parameter"> + <attribute name="name"> + <ref name="filter-param-name"/> + </attribute> + <attribute name="value"> + <ref name="filter-param-value"/> + </attribute> + </element> + </zeroOrMore> + </define> + + <define name="filter-param-name"> + <data type="string"> + <param name="pattern">[a-zA-Z0-9_]+</param> + </data> + </define> + <define name="filter-param-value"> + <data type="string"> + <param name="pattern">[a-zA-Z0-9_\.:]+</param> + </data> + </define> + +</grammar> diff --git a/docs/schemas/nwfilterbinding.rng b/docs/schemas/nwfilterbinding.rng new file mode 100644 index 0000000000..dcfc67fdd6 --- /dev/null +++ b/docs/schemas/nwfilterbinding.rng @@ -0,0 +1,49 @@ +<?xml version="1.0"?> +<grammar xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> + <!-- domain-related definitions used in multiple grammars --> + <include href='basictypes.rng'/> + <include href='nwfilter_params.rng'/> + + <start> + <ref name="filterbinding"/> + </start> + + <define name="filterbinding"> + <element name="filterbinding"> + <interleave> + <element name="owner"> + <element name="name"> + <text/> + </element> + <element name="uuid"> + <ref name="UUID"/> + </element> + </element> + + <element name="portdev"> + <attribute name="name"/> + <empty/> + </element> + + <optional> + <element name="linkdev"> + <attribute name="name"/> + <empty/> + </element> + </optional> + + <element name="mac"> + <attribute name="address"> + <ref name="uniMacAddr"/> + </attribute> + <empty/> + </element> + + <element name="filterref"> + <ref name="filterref-node-attributes"/> + </element> + </interleave> + </element> + </define> + +</grammar> diff --git a/tests/virschematest.c b/tests/virschematest.c index 2d35833919..5bae022111 100644 --- a/tests/virschematest.c +++ b/tests/virschematest.c @@ -230,6 +230,7 @@ mymain(void) "networkxml2xmlout", "networkxml2confdata"); DO_TEST_DIR("nodedev.rng", "nodedevschemadata"); DO_TEST_DIR("nwfilter.rng", "nwfilterxml2xmlout"); + DO_TEST_DIR("nwfilterbinding.rng", "virnwfilterbindingxml2xmldata"); DO_TEST_DIR("secret.rng", "secretxml2xmlin"); DO_TEST_DIR("storagepool.rng", "storagepoolxml2xmlin", "storagepoolxml2xmlout", "storagepoolschemadata"); -- 2.17.0 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list