]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
xml: Clean up schemas to use shared data types instead of local
authorPeter Krempa <pkrempa@redhat.com>
Tue, 6 Mar 2012 14:08:02 +0000 (15:08 +0100)
committerPeter Krempa <pkrempa@redhat.com>
Thu, 8 Mar 2012 14:31:54 +0000 (15:31 +0100)
The schema files contained duplicate data types that can be shared from
the basictypes.rng file.

docs/schemas/capability.rng
docs/schemas/interface.rng
docs/schemas/nodedev.rng
docs/schemas/nwfilter.rng

index 3af95e92b1877b4111db326b3bdac39b37b82a8e..06ff68584834ed98fbda87e58e7652236765e018 100644 (file)
@@ -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>
     <element name='topology'>
       <element name='cells'>
         <attribute name='num'>
-          <ref name='uint'/>
+          <ref name='unsignedInt'/>
         </attribute>
         <oneOrMore>
           <ref name='cell'/>
   <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'/>
   <define name='cpu'>
     <element name='cpu'>
       <attribute name='id'>
-        <ref name='uint'/>
+        <ref name='unsignedInt'/>
       </attribute>
     </element>
   </define>
 
   <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>
 
     </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>
index 53fa18a00fadfe2ae840996936faa49855998735..3984b630a2eb409ca3acb252564f0a73ab2a0998 100644 (file)
         <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 -->
             </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">
   <define name="mtu">
     <optional>
       <element name="mtu">
-        <attribute name="size"><ref name="uint"/></attribute>
+        <attribute name="size"><ref name="unsignedInt"/></attribute>
       </element>
     </optional>
   </define>
 
   <!-- 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>
index 1b9a2d122621fe94676a18685900c5ed4bf9b757..a73c2e5af3b48c9f8d691d15743476bde056cf98 100644 (file)
@@ -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>
 
     </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'>
     </attribute>
 
     <element name='bus'>
-      <ref name='uint'/>
+      <ref name='unsignedLong'/>
     </element>
     <element name='device'>
-      <ref name='uint'/>
+      <ref name='unsignedLong'/>
     </element>
 
     <element name='product'>
     </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>
     </attribute>
 
     <element name='host'>
-      <ref name='uint'/>
+      <ref name='unsignedLong'/>
     </element>
 
     <optional>
     </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'>
       </element>
 
       <element name='media_size'>
-        <ref name='uint'/>
+        <ref name='unsignedLong'/>
       </element>
       <optional>
         <element name='media_label'>
 
   <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>
-
   <define name='hexuint'>
     <data type='string'>
       <param name="pattern">(0x)?[0-9a-f]+</param>
index bce3d3b838ebbb8d81fc88edff3d79d401f6aaa3..13fd9b95f0e4c9afb3e303906a37d366d9f161c8 100644 (file)
@@ -1,5 +1,6 @@
 <?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'/>
   <start>
     <ref name="filter"/>
   </start>
 
   <!-- ################  type library ################ -->
 
-  <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="variable-name-type">
     <data type="string">
       <param name="pattern">$[a-zA-Z0-9_]+(\[[ ]*[@]?[0-9]+[ ]*\])?</param>
     </choice>
   </define>
 
-  <define name="uint8range">
-    <choice>
-      <ref name="variable-name-type"/>
-
-      <data type="string">
-        <param name="pattern">0x[0-9a-fA-F]{1,2}</param>
-      </data>
-
-      <data type="int">
-        <param name="minInclusive">0</param>
-        <param name="maxInclusive">255</param>
-      </data>
-    </choice>
-  </define>
-
   <define name="uint16range">
     <choice>
       <ref name="variable-name-type"/>