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