[libvirt] [PATCH] xml: Clean up schemas to use shared data types instead of local
Osier Yang
jyang at redhat.com
Tue Mar 6 15:00:40 UTC 2012
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
More information about the libvir-list
mailing list