On 2012年03月06日 22:15, Peter Krempa wrote:
The schema files contained duplicate data types that can be shared from the basictypes.rng file. --- docs/schemas/capability.rng | 43 +++++---------------------------- docs/schemas/interface.rng | 16 ++++-------- docs/schemas/nodedev.rng | 54 +++++++++++++++--------------------------- docs/schemas/nwfilter.rng | 28 +--------------------- 4 files changed, 32 insertions(+), 109 deletions(-) diff --git a/docs/schemas/capability.rng b/docs/schemas/capability.rng index 3af95e9..06ff685 100644 --- a/docs/schemas/capability.rng +++ b/docs/schemas/capability.rng @@ -1,6 +1,7 @@ <!-- A Relax NG schema for the libvirt capabilities XML format --> <grammar xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> +<include href='basictypes.rng'/> <start> <ref name='capabilities'/> </start> @@ -157,7 +158,7 @@ <element name='topology'> <element name='cells'> <attribute name='num'> -<ref name='uint'/> +<ref name='unsignedInt'/> </attribute> <oneOrMore> <ref name='cell'/> @@ -169,13 +170,13 @@ <define name='cell'> <element name='cell'> <attribute name='id'> -<ref name='uint'/> +<ref name='unsignedInt'/> </attribute> <optional> <element name='cpus'> <attribute name='num'> -<ref name='uint'/> +<ref name='unsignedInt'/> </attribute> <oneOrMore> <ref name='cpu'/> @@ -188,7 +189,7 @@ <define name='cpu'> <element name='cpu'> <attribute name='id'> -<ref name='uint'/> +<ref name='unsignedInt'/> </attribute> </element> </define> @@ -238,13 +239,13 @@ <define name='emulator'> <element name='emulator'> -<ref name='path'/> +<ref name='absFilePath'/> </element> </define> <define name='loader'> <element name='loader'> -<ref name='path'/> +<ref name='absFilePath'/> </element> </define> @@ -367,39 +368,9 @@ </choice> </define> - -<define name='positiveInteger'> -<data type='positiveInteger'> -<param name="pattern">[0-9]+</param> -</data> -</define> - -<define name='uint'> -<data type='unsignedInt'> -<param name="pattern">[0-9]+</param> -</data> -</define> - -<define name='path'> -<data type='string'> -<param name="pattern">/[a-zA-Z0-9_\+\-/%]+</param> -</data> -</define> - <define name='featureName'> <data type='string'> <param name='pattern'>[a-zA-Z0-9\-_]+</param> </data> </define> - -<define name="UUID"> -<choice> -<data type="string"> -<param name="pattern">[a-fA-F0-9]{32}</param> -</data> -<data type="string"> -<param name="pattern">[a-fA-F0-9]{8}\-([a-fA-F0-9]{4}\-){3}[a-fA-F0-9]{12}</param> -</data> -</choice> -</define> </grammar> diff --git a/docs/schemas/interface.rng b/docs/schemas/interface.rng index 53fa18a..3984b63 100644 --- a/docs/schemas/interface.rng +++ b/docs/schemas/interface.rng @@ -183,12 +183,12 @@ <choice> <element name="miimon"> <!-- miimon frequency in ms --> -<attribute name="freq"><ref name="uint"/></attribute> +<attribute name="freq"><ref name="unsignedInt"/></attribute> <optional> -<attribute name="downdelay"><ref name="uint"/></attribute> +<attribute name="downdelay"><ref name="unsignedInt"/></attribute> </optional> <optional> -<attribute name="updelay"><ref name="uint"/></attribute> +<attribute name="updelay"><ref name="unsignedInt"/></attribute> </optional> <optional> <!-- use_carrier --> @@ -203,7 +203,7 @@ </optional> </element> <element name="arpmon"> -<attribute name="interval"><ref name="uint"/></attribute> +<attribute name="interval"><ref name="unsignedInt"/></attribute> <attribute name="target"><ref name="ipv4Addr"/></attribute> <optional> <attribute name="validate"> @@ -252,7 +252,7 @@ <define name="mtu"> <optional> <element name="mtu"> -<attribute name="size"><ref name="uint"/></attribute> +<attribute name="size"><ref name="unsignedInt"/></attribute> </element> </optional> </define> @@ -407,12 +407,6 @@ <!-- Type library --> -<define name='uint'> -<data type='unsignedInt'> -<param name="pattern">[0-9]+</param> -</data> -</define> - <define name="timeval"> <data type="double"> <param name="minInclusive">0</param> diff --git a/docs/schemas/nodedev.rng b/docs/schemas/nodedev.rng index 1b9a2d1..a73c2e5 100644 --- a/docs/schemas/nodedev.rng +++ b/docs/schemas/nodedev.rng @@ -1,6 +1,7 @@ <!-- A Relax NG schema for the libvirt node device XML format --> <grammar xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> +<include href='basictypes.rng'/> <start> <ref name='device'/> </start> @@ -56,7 +57,7 @@ </optional> <element name='uuid'> -<ref name='uuid'/> +<ref name='UUID'/> </element> </element> @@ -80,16 +81,16 @@ </attribute> <element name='domain'> -<ref name='uint'/> +<ref name='unsignedLong'/> </element> <element name='bus'> -<ref name='uint'/> +<ref name='unsignedLong'/> </element> <element name='slot'> -<ref name='uint'/> +<ref name='unsignedLong'/> </element> <element name='function'> -<ref name='uint'/> +<ref name='unsignedLong'/> </element> <element name='product'> @@ -122,10 +123,10 @@ </attribute> <element name='bus'> -<ref name='uint'/> +<ref name='unsignedLong'/> </element> <element name='device'> -<ref name='uint'/> +<ref name='unsignedLong'/> </element> <element name='product'> @@ -157,16 +158,16 @@ </attribute> <element name='number'> -<ref name='uint'/> +<ref name='unsignedLong'/> </element> <element name='class'> -<ref name='uint'/> +<ref name='unsignedLong'/> </element> <element name='subclass'> -<ref name='uint'/> +<ref name='unsignedLong'/> </element> <element name='protocol'> -<ref name='uint'/> +<ref name='unsignedLong'/> </element> <optional> @@ -252,7 +253,7 @@ </attribute> <element name='host'> -<ref name='uint'/> +<ref name='unsignedLong'/> </element> <optional> @@ -273,16 +274,16 @@ </attribute> <element name='host'> -<ref name='uint'/> +<ref name='unsignedLong'/> </element> <element name='bus'> -<ref name='uint'/> +<ref name='unsignedLong'/> </element> <element name='target'> -<ref name='uint'/> +<ref name='unsignedLong'/> </element> <element name='lun'> -<ref name='uint'/> +<ref name='unsignedLong'/> </element> <element name='type'> @@ -352,7 +353,7 @@ </element> <element name='media_size'> -<ref name='uint'/> +<ref name='unsignedLong'/> </element> <optional> <element name='media_label'> @@ -364,27 +365,10 @@ <define name='capstoragefixed'> <element name='size'> -<ref name='uint'/> +<ref name='unsignedLong'/> </element> </define> -<define name='uuid'> -<choice> -<data type='string'> -<param name="pattern">[a-fA-F0-9]{32}</param> -</data> -<data type='string'> -<param name="pattern">[a-fA-F0-9]{8}\-([a-fA-F0-9]{4}\-){3}[a-fA-F0-9]{12}</param> -</data> -</choice> -</define> - -<define name='uint'> -<data type='string'> -<param name="pattern">[0-9]+</param> -</data> -</define> -
IIRC, unsignedLong allows the the + sign, and leading spaces, which we may not want. Others looks good. Regards, Osier -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list