]> xenbits.xensource.com Git - libvirt.git/commitdiff
* docs/schemas/domain.rng: some missing disk bus values and cleanups
authorDaniel Veillard <veillard@redhat.com>
Thu, 2 Apr 2009 13:19:11 +0000 (13:19 +0000)
committerDaniel Veillard <veillard@redhat.com>
Thu, 2 Apr 2009 13:19:11 +0000 (13:19 +0000)
daniel

ChangeLog
docs/schemas/domain.rng

index 9fc5bacf13eb99ff8832b2158f210ecd6e5e7ac4..3e8434413113c109400efc1dc3fa72ddd139bb18 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+Thu Apr  2 15:18:00 CEST 2009 Daniel Veillard <veillard@redhat.com>
+
+       * docs/schemas/domain.rng: some missing disk bus values and cleanups
+
 Thu Apr  2 14:00:14 CEST 2009 Daniel Veillard <veillard@redhat.com>
 
        * docs/*: start cleanup/revamp of architecture docs
index 21bd2b2ef90a7bc827002d09a3638aa8c21dc1d1..2f784e1de4bddac2f3dba099c6a9c1b21f9fd56a 100644 (file)
-<?xml version="1.0" ?>
-<grammar xmlns="http://relaxng.org/ns/structure/1.0"
-    datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
+<?xml version="1.0"?>
+<grammar xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
   <!-- We handle only document defining a domain -->
   <start>
-    <ref name='domain'/>
+    <ref name="domain"/>
   </start>
-
   <!--
       We handle only document defining a domain
     -->
-  <define name='domain'>
+  <define name="domain">
     <element name="domain">
-      <ref name='hvs'/>
-      <ref name='ids'/>
+      <ref name="hvs"/>
+      <ref name="ids"/>
       <interleave>
-        <ref name='os'/>
-        <ref name='clock'/>
-        <ref name='resources'/>
-        <ref name='features'/>
-        <ref name='termination'/>
-       <optional>
-          <ref name='devices'/>
-       </optional>
-       <optional>
-          <ref name='seclabel'/>
-       </optional>
+        <ref name="os"/>
+        <ref name="clock"/>
+        <ref name="resources"/>
+        <ref name="features"/>
+        <ref name="termination"/>
+        <optional>
+          <ref name="devices"/>
+        </optional>
+        <optional>
+          <ref name="seclabel"/>
+        </optional>
       </interleave>
     </element>
   </define>
-
-  <define name='seclabel'>
-    <element name='seclabel'>
-      <attribute name='model'>
-       <text/>
+  <define name="seclabel">
+    <element name="seclabel">
+      <attribute name="model">
+        <text/>
       </attribute>
-      <attribute name='type'>
+      <attribute name="type">
         <choice>
           <value>dynamic</value>
           <value>static</value>
         </choice>
       </attribute>
-      <element name='label'>
-       <text/>
+      <element name="label">
+        <text/>
       </element>
     </element>
   </define>
-
-
-  <define name='hvs'>
-    <attribute name='type'>
+  <define name="hvs">
+    <attribute name="type">
       <choice>
-       <value>xen</value>
-       <value>kvm</value>
-       <value>kqemu</value>
-       <value>qemu</value>
-       <value>lxc</value>
-       <value>openvz</value>
-       <value>test</value>
+        <value>xen</value>
+        <value>kvm</value>
+        <value>kqemu</value>
+        <value>qemu</value>
+        <value>lxc</value>
+        <value>openvz</value>
+        <value>test</value>
       </choice>
     </attribute>
   </define>
-
-  <define name='os'>
+  <define name="os">
     <choice>
-      <ref name='osxen'/>
-      <ref name='oshvm'/>
-      <ref name='osexe'/>
+      <ref name="osxen"/>
+      <ref name="oshvm"/>
+      <ref name="osexe"/>
     </choice>
   </define>
-
-  <define name='osxen'>
+  <define name="osxen">
     <choice>
       <group>
-       <optional>
-          <ref name='bootloader'/>
-       </optional>
-       <element name='os'>
-         <ref name='ostypexen'/>
-          <ref name='osbootkernel'/>
-       </element>
+        <optional>
+          <ref name="bootloader"/>
+        </optional>
+        <element name="os">
+          <ref name="ostypexen"/>
+          <ref name="osbootkernel"/>
+        </element>
       </group>
       <group>
-       <ref name='bootloader'/>
-       <optional>
-         <element name='os'>
-           <ref name='ostypexen'/>
-           <optional>
-              <ref name='osbootkernel'/>
-           </optional>
-         </element>
-       </optional>
+        <ref name="bootloader"/>
+        <optional>
+          <element name="os">
+            <ref name="ostypexen"/>
+            <optional>
+              <ref name="osbootkernel"/>
+            </optional>
+          </element>
+        </optional>
       </group>
     </choice>
   </define>
-
-
-  <define name='oshvm'>
-    <element name='os'>
-      <ref name='ostypehvm'/>
+  <define name="oshvm">
+    <element name="os">
+      <ref name="ostypehvm"/>
       <interleave>
-       <optional>
-         <element name='loader'>
-           <ref name='absFilePath'/>
-         </element>
-       </optional>
-       <choice>
-          <ref name='osbootkernel'/>
-          <ref name='osbootdev'/>
-       </choice>
+        <optional>
+          <element name="loader">
+            <ref name="absFilePath"/>
+          </element>
+        </optional>
+        <choice>
+          <ref name="osbootkernel"/>
+          <ref name="osbootdev"/>
+        </choice>
       </interleave>
     </element>
   </define>
-
-
-  <define name='ostypexen'>
-    <element name='type'>
+  <define name="ostypexen">
+    <element name="type">
       <optional>
-       <attribute name='arch'>
-         <choice>
-           <value>i686</value>
-           <value>x86_64</value>
-           <value>ia64</value>
-         </choice>
-       </attribute>
+        <attribute name="arch">
+          <choice>
+            <value>i686</value>
+            <value>x86_64</value>
+            <value>ia64</value>
+          </choice>
+        </attribute>
       </optional>
       <optional>
-       <attribute name='machine'>
-         <choice>
-           <value>xenpv</value>
-           <value>xenner</value>
-         </choice>
-       </attribute>
+        <attribute name="machine">
+          <choice>
+            <value>xenpv</value>
+            <value>xenner</value>
+          </choice>
+        </attribute>
       </optional>
       <choice>
-       <value>xen</value>
-       <value>linux</value>
+        <value>xen</value>
+        <value>linux</value>
       </choice>
     </element>
   </define>
-
-  <define name='ostypehvm'>
-    <element name='type'>
+  <define name="ostypehvm">
+    <element name="type">
       <optional>
-       <choice>
-         <ref name='hvmx86'/>
-         <ref name='hvmmips'/>
-         <ref name='hvmsparc'/>
-         <ref name='hvmppc'/>
-       </choice>
+        <choice>
+          <ref name="hvmx86"/>
+          <ref name="hvmmips"/>
+          <ref name="hvmsparc"/>
+          <ref name="hvmppc"/>
+        </choice>
       </optional>
       <value>hvm</value>
     </element>
   </define>
-
-  <define name='hvmx86'>
+  <define name="hvmx86">
     <group>
-      <attribute name='arch'>
-       <choice>
-         <value>i686</value>
-         <value>x86_64</value>
-       </choice>
+      <attribute name="arch">
+        <choice>
+          <value>i686</value>
+          <value>x86_64</value>
+        </choice>
       </attribute>
-      <attribute name='machine'>
-       <choice>
-         <value>xenfv</value>
-         <value>pc</value>
-         <value>isapc</value>
-       </choice>
+      <attribute name="machine">
+        <choice>
+          <value>xenfv</value>
+          <value>pc</value>
+          <value>isapc</value>
+        </choice>
       </attribute>
     </group>
   </define>
-
-  <define name='hvmmips'>
+  <define name="hvmmips">
     <group>
-      <attribute name='arch'>
+      <attribute name="arch">
         <value>mips</value>
       </attribute>
-      <attribute name='machine'>
+      <attribute name="machine">
         <value>mips</value>
       </attribute>
     </group>
   </define>
-
-  <define name='hvmsparc'>
+  <define name="hvmsparc">
     <group>
-      <attribute name='arch'>
-       <value>sparc</value>
+      <attribute name="arch">
+        <value>sparc</value>
       </attribute>
-      <attribute name='machine'>
-       <value>sun4m</value>
+      <attribute name="machine">
+        <value>sun4m</value>
       </attribute>
     </group>
   </define>
-
-  <define name='hvmppc'>
+  <define name="hvmppc">
     <group>
-      <attribute name='arch'>
-       <value>ppc</value>
+      <attribute name="arch">
+        <value>ppc</value>
       </attribute>
-      <attribute name='machine'>
-       <choice>
-         <value>g3bw</value>
-         <value>mac99</value>
-         <value>prep</value>
-       </choice>
+      <attribute name="machine">
+        <choice>
+          <value>g3bw</value>
+          <value>mac99</value>
+          <value>prep</value>
+        </choice>
       </attribute>
     </group>
   </define>
-
-
-  <define name='osexe'>
-    <element name='os'>
-      <element name='type'>
-       <value>exe</value>
+  <define name="osexe">
+    <element name="os">
+      <element name="type">
+        <value>exe</value>
       </element>
       <interleave>
-       <optional>
-         <element name='init'>
-           <ref name='absFilePath'/>
-         </element>
-       </optional>
+        <optional>
+          <element name="init">
+            <ref name="absFilePath"/>
+          </element>
+        </optional>
       </interleave>
     </element>
   </define>
-
-
-
   <!--
       The Identifiers can be:
       - an optional id attribute with a number on the domain element
       - a mandatory name
       - an optional uuid
     -->
-  <define name='ids'>
+  <define name="ids">
     <optional>
-      <attribute name='id'>
-        <ref name='unsignedInt'/>
+      <attribute name="id">
+        <ref name="unsignedInt"/>
       </attribute>
     </optional>
     <interleave>
       <element name="name">
-        <ref name='domainName'/>
+        <ref name="domainName"/>
       </element>
       <optional>
         <element name="uuid">
-          <ref name='UUID'/>
+          <ref name="UUID"/>
         </element>
       </optional>
     </interleave>
   </define>
-
   <!--
       Resources usage defines the amount of memory (maximum and possibly
       current usage) and number of virtual CPUs used by that domain.
       We can't check here the rule that currentMemory <= memory
     -->
-
-  <define name='resources'>
+  <define name="resources">
     <interleave>
-      <element name='memory'>
-        <ref name='memoryKB'/>
+      <element name="memory">
+        <ref name="memoryKB"/>
       </element>
       <optional>
-        <element name='currentMemory'>
-          <ref name='memoryKB'/>
+        <element name="currentMemory">
+          <ref name="memoryKB"/>
         </element>
       </optional>
       <optional>
-        <element name='vcpu'>
+        <element name="vcpu">
           <optional>
-            <attribute name='cpuset' />
+            <attribute name="cpuset"/>
           </optional>
-          <ref name='countCPU'/>
+          <ref name="countCPU"/>
         </element>
       </optional>
     </interleave>
   </define>
-
-  <define name='clock'>
+  <define name="clock">
     <optional>
-      <element name='clock'>
-        <attribute name='offset'>
+      <element name="clock">
+        <attribute name="offset">
           <choice>
             <value>localtime</value>
             <value>utc</value>
       </element>
     </optional>
   </define>
-
   <!--
       A bootloader may be used to extract the OS information instead of
       defining the OS parameter in the instance. It points just to the
       binary or script used to extract the data from the first disk device.
     -->
-  <define name='bootloader'>
+  <define name="bootloader">
     <interleave>
-      <element name='bootloader'>
-       <choice>
-         <ref name='absFilePath'/>
-         <empty/>
-       </choice>
+      <element name="bootloader">
+        <choice>
+          <ref name="absFilePath"/>
+          <empty/>
+        </choice>
       </element>
       <optional>
-       <element name='bootloader_args'>
-         <text/>
-       </element>
+        <element name="bootloader_args">
+          <text/>
+        </element>
       </optional>
     </interleave>
   </define>
-
-  <define name='osbootkernel'>
+  <define name="osbootkernel">
     <interleave>
-      <element name='kernel'>
-        <ref name='absFilePath'/>
+      <element name="kernel">
+        <ref name="absFilePath"/>
       </element>
       <optional>
-        <element name='initrd'>
-         <ref name='absFilePath'/>
-       </element>
+        <element name="initrd">
+          <ref name="absFilePath"/>
+        </element>
       </optional>
       <optional>
-        <element name='root'>
-          <ref name='devicePath'/>
+        <element name="root">
+          <ref name="devicePath"/>
         </element>
       </optional>
       <optional>
-        <element name='cmdline'>
-         <text/>
-       </element>
+        <element name="cmdline">
+          <text/>
+        </element>
       </optional>
     </interleave>
   </define>
-
-  <define name='osbootdev'>
-    <element name='boot'>
-      <attribute name='dev'>
+  <define name="osbootdev">
+    <element name="boot">
+      <attribute name="dev">
         <choice>
           <value>hd</value>
           <value>fd</value>
       <empty/>
     </element>
   </define>
-
-
-  <define name='diskspec'>
+  <define name="diskspec">
     <optional>
-      <ref name='driver'/>
+      <ref name="driver"/>
     </optional>
-    <ref name='target'/>
+    <ref name="target"/>
     <optional>
-      <element name='readonly'>
+      <element name="readonly">
         <empty/>
       </element>
     </optional>
     <optional>
-      <element name='shareable'>
+      <element name="shareable">
         <empty/>
       </element>
     </optional>
   </define>
-
   <!--
       A disk description can be either of type file or block
       The name of the attribute on the source element depends on the type
 
     -->
-  <define name='disk'>
-    <element name='disk'>
+  <define name="disk">
+    <element name="disk">
       <optional>
-       <attribute name='device'>
-         <choice>
-           <value>floppy</value>
-           <value>disk</value>
-           <value>cdrom</value>
-         </choice>
-       </attribute>
+        <attribute name="device">
+          <choice>
+            <value>floppy</value>
+            <value>disk</value>
+            <value>cdrom</value>
+          </choice>
+        </attribute>
       </optional>
       <choice>
         <group>
-          <attribute name='type'>
-           <value>file</value>
+          <attribute name="type">
+            <value>file</value>
           </attribute>
-         <interleave>
-           <optional>
-             <element name='source'>
-               <attribute name='file'>
-                 <ref name='absFilePath'/>
-               </attribute>
-               <empty/>
-             </element>
-           </optional>
-            <ref name='diskspec'/>
-         </interleave>
+          <interleave>
+            <optional>
+              <element name="source">
+                <attribute name="file">
+                  <ref name="absFilePath"/>
+                </attribute>
+                <empty/>
+              </element>
+            </optional>
+            <ref name="diskspec"/>
+          </interleave>
         </group>
         <group>
-          <attribute name='type'>
-           <value>block</value>
-         </attribute>
-         <interleave>
-           <optional>
-             <element name='source'>
-               <attribute name='dev'>
-                 <ref name='deviceName'/>
-               </attribute>
-               <empty/>
-             </element>
-           </optional>
-            <ref name='diskspec'/>
-         </interleave>
+          <attribute name="type">
+            <value>block</value>
+          </attribute>
+          <interleave>
+            <optional>
+              <element name="source">
+                <attribute name="dev">
+                  <ref name="deviceName"/>
+                </attribute>
+                <empty/>
+              </element>
+            </optional>
+            <ref name="diskspec"/>
+          </interleave>
         </group>
-        <ref name='diskspec'/>
+        <ref name="diskspec"/>
       </choice>
     </element>
   </define>
-
-  <define name='target'>
-    <element name='target'>
-      <attribute name='dev'>
-       <ref name='deviceName'/>
+  <define name="target">
+    <element name="target">
+      <attribute name="dev">
+        <ref name="deviceName"/>
       </attribute>
       <optional>
-         <attribute name='bus'>
-           <choice>
-             <value>ide</value>
-             <value>virtio</value>
-             <value>fdc</value>
-             <value>xen</value>
-             <value>usb</value>
-           </choice>
-         </attribute>
+        <attribute name="bus">
+          <choice>
+            <value>ide</value>
+            <value>fdc</value>
+            <value>scsi</value>
+            <value>virtio</value>
+            <value>xen</value>
+            <value>usb</value>
+            <value>uml</value>
+          </choice>
+        </attribute>
       </optional>
     </element>
   </define>
-
   <!--
       Disk may use a special driver for access. Currently this is
       only defined for Xen for tap/aio and file, but will certainly be
       extended in the future, and libvirt doesn't look for specific values.
     -->
-  <define name='driver'>
-    <element name='driver'>
+  <define name="driver">
+    <element name="driver">
       <choice>
-       <group>
-         <ref name='driverFormat'/>
-         <optional>
-           <ref name='driverCache'/>
-         </optional>
-       </group>
-       <group>
-         <optional>
-           <ref name='driverFormat'/>
-         </optional>
-         <ref name='driverCache'/>
-       </group>
+        <group>
+          <ref name="driverFormat"/>
+          <optional>
+            <ref name="driverCache"/>
+          </optional>
+        </group>
+        <group>
+          <optional>
+            <ref name="driverFormat"/>
+          </optional>
+          <ref name="driverCache"/>
+        </group>
       </choice>
       <empty/>
     </element>
   </define>
-
-  <define name='driverFormat'>
-    <attribute name='name'>
-      <ref name='genericName'/>
+  <define name="driverFormat">
+    <attribute name="name">
+      <ref name="genericName"/>
     </attribute>
     <optional>
-      <attribute name='type'>
-       <ref name='genericName'/>
+      <attribute name="type">
+        <ref name="genericName"/>
       </attribute>
     </optional>
   </define>
-
-  <define name='driverCache'>
-    <attribute name='cache'>
+  <define name="driverCache">
+    <attribute name="cache">
       <choice>
-       <value>none</value>
-       <value>writeback</value>
-       <value>writethrough</value>
+        <value>none</value>
+        <value>writeback</value>
+        <value>writethrough</value>
       </choice>
     </attribute>
   </define>
-
-  <define name='filesystem'>
-    <element name='filesystem'>
+  <define name="filesystem">
+    <element name="filesystem">
       <choice>
         <group>
-          <attribute name='type'>
-           <value>file</value>
+          <attribute name="type">
+            <value>file</value>
           </attribute>
-         <interleave>
-           <element name='source'>
-             <attribute name='file'>
-               <ref name='absFilePath'/>
-             </attribute>
-             <empty/>
-           </element>
-            <ref name='filesystemtgt'/>
-         </interleave>
+          <interleave>
+            <element name="source">
+              <attribute name="file">
+                <ref name="absFilePath"/>
+              </attribute>
+              <empty/>
+            </element>
+            <ref name="filesystemtgt"/>
+          </interleave>
         </group>
         <group>
-          <attribute name='type'>
-           <value>block</value>
-         </attribute>
-         <interleave>
-           <element name='source'>
-             <attribute name='dev'>
-               <ref name='deviceName'/>
-             </attribute>
-             <empty/>
-           </element>
-            <ref name='filesystemtgt'/>
-         </interleave>
+          <attribute name="type">
+            <value>block</value>
+          </attribute>
+          <interleave>
+            <element name="source">
+              <attribute name="dev">
+                <ref name="deviceName"/>
+              </attribute>
+              <empty/>
+            </element>
+            <ref name="filesystemtgt"/>
+          </interleave>
         </group>
         <group>
-          <attribute name='type'>
-           <value>mount</value>
-         </attribute>
-         <interleave>
-           <element name='source'>
-             <attribute name='dir'>
-               <ref name='absFilePath'/>
-             </attribute>
-             <empty/>
-           </element>
-            <ref name='filesystemtgt'/>
-         </interleave>
+          <attribute name="type">
+            <value>mount</value>
+          </attribute>
+          <interleave>
+            <element name="source">
+              <attribute name="dir">
+                <ref name="absFilePath"/>
+              </attribute>
+              <empty/>
+            </element>
+            <ref name="filesystemtgt"/>
+          </interleave>
         </group>
         <group>
-          <attribute name='type'>
-           <value>template</value>
-         </attribute>
-         <interleave>
-           <element name='source'>
-             <attribute name='name'>
-               <ref name='genericName'/>
-             </attribute>
-             <empty/>
-           </element>
-            <ref name='filesystemtgt'/>
-         </interleave>
+          <attribute name="type">
+            <value>template</value>
+          </attribute>
+          <interleave>
+            <element name="source">
+              <attribute name="name">
+                <ref name="genericName"/>
+              </attribute>
+              <empty/>
+            </element>
+            <ref name="filesystemtgt"/>
+          </interleave>
         </group>
       </choice>
     </element>
   </define>
-
-  <define name='filesystemtgt'>
-    <element name='target'>
-      <attribute name='dir'>
-       <ref name='absDirPath'/>
+  <define name="filesystemtgt">
+    <element name="target">
+      <attribute name="dir">
+        <ref name="absDirPath"/>
       </attribute>
       <empty/>
     </element>
   </define>
-
   <!--
       An interface description can either be of type bridge in which case
       it will use a bridging source, or of type ethernet which uses a device
       source and a device target instead. They both share a set of interface
       options. FIXME
     -->
-  <define name='interface'>
-    <element name='interface'>
+  <define name="interface">
+    <element name="interface">
       <choice>
         <group>
-          <attribute name='type'>
+          <attribute name="type">
             <value>bridge</value>
           </attribute>
-         <interleave>
+          <interleave>
             <optional>
-             <element name='source'>
-               <attribute name='bridge'>
-                 <ref name='deviceName'/>
-               </attribute>
-               <empty/>
-             </element>
+              <element name="source">
+                <attribute name="bridge">
+                  <ref name="deviceName"/>
+                </attribute>
+                <empty/>
+              </element>
             </optional>
-           <ref name='interface-options'/>
-         </interleave>
-       </group>
+            <ref name="interface-options"/>
+          </interleave>
+        </group>
         <group>
-          <attribute name='type'>
+          <attribute name="type">
             <value>ethernet</value>
           </attribute>
-         <interleave>
+          <interleave>
             <optional>
-             <element name='source'>
-               <attribute name='dev'>
-                 <ref name='deviceName'/>
-               </attribute>
-               <empty/>
-             </element>
+              <element name="source">
+                <attribute name="dev">
+                  <ref name="deviceName"/>
+                </attribute>
+                <empty/>
+              </element>
             </optional>
-           <ref name='interface-options'/>
-         </interleave>
-       </group>
+            <ref name="interface-options"/>
+          </interleave>
+        </group>
         <group>
-          <attribute name='type'>
+          <attribute name="type">
             <value>network</value>
           </attribute>
-         <interleave>
-           <element name='source'>
-             <attribute name='network'>
-               <ref name='deviceName'/>
-             </attribute>
-             <empty/>
-           </element>
-           <ref name='interface-options'/>
-         </interleave>
-       </group>
+          <interleave>
+            <element name="source">
+              <attribute name="network">
+                <ref name="deviceName"/>
+              </attribute>
+              <empty/>
+            </element>
+            <ref name="interface-options"/>
+          </interleave>
+        </group>
         <group>
-          <attribute name='type'>
+          <attribute name="type">
             <value>user</value>
           </attribute>
-         <interleave>
-           <ref name='interface-options'/>
-         </interleave>
-       </group>
+          <interleave>
+            <ref name="interface-options"/>
+          </interleave>
+        </group>
       </choice>
     </element>
   </define>
-
   <!--
       The interface options possible are:
         - the MAC address
-       - the IP address bound to the interface
-       - the name of the script used to set up the binding
-       - the target device used
+        - the IP address bound to the interface
+        - the name of the script used to set up the binding
+        - the target device used
     -->
-  <define name='interface-options'>
+  <define name="interface-options">
     <interleave>
       <optional>
-       <element name='target'>
-         <attribute name='dev'>
-           <ref name='deviceName'/>
-         </attribute>
-         <empty/>
-       </element>
+        <element name="target">
+          <attribute name="dev">
+            <ref name="deviceName"/>
+          </attribute>
+          <empty/>
+        </element>
       </optional>
       <optional>
-       <element name='mac'>
-         <attribute name='address'>
-           <ref name='addrMAC'/>
-           </attribute>
-         <empty/>
-       </element>
+        <element name="mac">
+          <attribute name="address">
+            <ref name="addrMAC"/>
+          </attribute>
+          <empty/>
+        </element>
       </optional>
       <optional>
-       <element name='ip'>
-         <attribute name='address'>
-           <ref name='addrIP'/>
-         </attribute>
-         <empty/>
-       </element>
+        <element name="ip">
+          <attribute name="address">
+            <ref name="addrIP"/>
+          </attribute>
+          <empty/>
+        </element>
       </optional>
       <optional>
-       <element name='script'>
-         <attribute name='path'>
-           <ref name='filePath'/>
-         </attribute>
-         <empty/>
-       </element>
+        <element name="script">
+          <attribute name="path">
+            <ref name="filePath"/>
+          </attribute>
+          <empty/>
+        </element>
       </optional>
       <optional>
-       <element name='model'>
-         <attribute name='type' />
-         <empty/>
-       </element>
+        <element name="model">
+          <attribute name="type"/>
+          <empty/>
+        </element>
       </optional>
     </interleave>
   </define>
-
   <!--
       An emulator description is just a path to the binary used for the task
     -->
-  <define name='emulator'>
-    <element name='emulator'>
-      <ref name='absFilePath'/>
+  <define name="emulator">
+    <element name="emulator">
+      <ref name="absFilePath"/>
     </element>
   </define>
-
   <!--
       A graphic description, currently in Xen only 2 types are supported:
         - sdl with optional display, xauth and fullscreen
-       - vnc with a required port and optional listen IP address, password
+        - vnc with a required port and optional listen IP address, password
           and keymap
     -->
-  <define name='graphic'>
-    <element name='graphics'>
+  <define name="graphic">
+    <element name="graphics">
       <choice>
-       <group>
-          <attribute name='type'>
-           <value>sdl</value>
-         </attribute>
-         <optional>
-           <attribute name='display'>
-             <text/>
-           </attribute>
-         </optional>
-         <optional>
-           <attribute name='xauth'>
-             <text/>
-           </attribute>
-         </optional>
-         <optional>
-           <attribute name='fullscreen'>
-             <choice>
-               <value>yes</value>
-               <value>no</value>
-             </choice>
-           </attribute>
-         </optional>
-       </group>
-       <group>
-          <attribute name='type'>
-           <value>vnc</value>
-         </attribute>
-         <optional>
-            <attribute name='port'>
-             <ref name='PortNumber'/>
-           </attribute>
-         </optional>
-         <optional>
-           <attribute name='autoport'>
-             <choice>
-               <value>yes</value>
-               <value>no</value>
-             </choice>
-           </attribute>
-         </optional>
-         <optional>
-           <attribute name='listen'>
-             <ref name='addrIP'/>
-           </attribute>
-         </optional>
-         <optional>
-           <attribute name='passwd'>
-             <text/>
-           </attribute>
-         </optional>
+        <group>
+          <attribute name="type">
+            <value>sdl</value>
+          </attribute>
+          <optional>
+            <attribute name="display">
+              <text/>
+            </attribute>
+          </optional>
           <optional>
-            <attribute name='keymap'>
+            <attribute name="xauth">
               <text/>
             </attribute>
           </optional>
-       </group>
+          <optional>
+            <attribute name="fullscreen">
+              <choice>
+                <value>yes</value>
+                <value>no</value>
+              </choice>
+            </attribute>
+          </optional>
+        </group>
+        <group>
+          <attribute name="type">
+            <value>vnc</value>
+          </attribute>
+          <optional>
+            <attribute name="port">
+              <ref name="PortNumber"/>
+            </attribute>
+          </optional>
+          <optional>
+            <attribute name="autoport">
+              <choice>
+                <value>yes</value>
+                <value>no</value>
+              </choice>
+            </attribute>
+          </optional>
+          <optional>
+            <attribute name="listen">
+              <ref name="addrIP"/>
+            </attribute>
+          </optional>
+          <optional>
+            <attribute name="passwd">
+              <text/>
+            </attribute>
+          </optional>
+          <optional>
+            <attribute name="keymap">
+              <text/>
+            </attribute>
+          </optional>
+        </group>
       </choice>
     </element>
   </define>
-
   <!--
       When a domain terminates multiple policies can be applied depending
       on how it ended:
     -->
-  <define name='termination'>
+  <define name="termination">
     <interleave>
       <optional>
-        <element name='on_reboot'>
-         <ref name='offOptions'/>
-       </element>
+        <element name="on_reboot">
+          <ref name="offOptions"/>
+        </element>
       </optional>
       <optional>
-        <element name='on_poweroff'>
-         <ref name='offOptions'/>
-       </element>
+        <element name="on_poweroff">
+          <ref name="offOptions"/>
+        </element>
       </optional>
       <optional>
-        <element name='on_crash'>
-         <ref name='offOptions'/>
-       </element>
+        <element name="on_crash">
+          <ref name="offOptions"/>
+        </element>
       </optional>
     </interleave>
   </define>
-
   <!--
       Options when a domain terminates:
       destroy: The domain is cleaned up
       rename-restart: a variant of the previous one but where the old domain is
                       renamed before being saved to allow a restart
     -->
-  <define name='offOptions'>
+  <define name="offOptions">
     <choice>
       <value>destroy</value>
       <value>restart</value>
       <value>rename-restart</value>
     </choice>
   </define>
-
   <!--
       Specific setup for a qemu emulated character device.  Note: this
       definition doesn't fully specify the constraints on this node.
     -->
-  <define name='qemucdev'>
-    <attribute name='type'>
+  <define name="qemucdev">
+    <attribute name="type">
       <choice>
         <value>dev</value>
         <value>file</value>
         <value>pty</value>
       </choice>
     </attribute>
-    
     <interleave>
       <optional>
         <oneOrMore>
-          <element name='source'>
+          <element name="source">
             <optional>
-              <attribute name='mode' />
+              <attribute name="mode"/>
             </optional>
             <optional>
-              <attribute name='path' />
+              <attribute name="path"/>
             </optional>
             <optional>
-              <attribute name='host' />
+              <attribute name="host"/>
             </optional>
             <optional>
-              <attribute name='service' />
+              <attribute name="service"/>
             </optional>
             <optional>
-              <attribute name='wiremode' />
+              <attribute name="wiremode"/>
             </optional>
           </element>
         </oneOrMore>
       </optional>
       <optional>
-        <element name='protocol'>
+        <element name="protocol">
           <optional>
-            <attribute name='type' />
+            <attribute name="type"/>
           </optional>
         </element>
       </optional>
       <optional>
-        <element name='target'>
+        <element name="target">
           <optional>
-            <attribute name='port' />
+            <attribute name="port"/>
           </optional>
         </element>
       </optional>
     </interleave>
   </define>
-
   <!--
       The description for a console
       just a tty device
     -->
-  <define name='console'>
-    <element name='console'>
+  <define name="console">
+    <element name="console">
       <choice>
         <group>
           <optional>
-            <attribute name='tty'>
-              <ref name='devicePath'/>
+            <attribute name="tty">
+              <ref name="devicePath"/>
             </attribute>
           </optional>
           <empty/>
         </group>
-        <ref name='qemucdev' />
+        <ref name="qemucdev"/>
       </choice>
     </element>
   </define>
-
-  <define name='sound'>
-    <element name='sound'>
-      <attribute name='model'>
+  <define name="sound">
+    <element name="sound">
+      <attribute name="model">
         <choice>
           <value>sb16</value>
           <value>es1370</value>
       </attribute>
     </element>
   </define>
-
-  <define name='parallel'>
-    <element name='parallel'>
-      <ref name='qemucdev' />
+  <define name="parallel">
+    <element name="parallel">
+      <ref name="qemucdev"/>
     </element>
   </define>
-
-  <define name='serial'>
-    <element name='serial'>
-      <ref name='qemucdev' />
+  <define name="serial">
+    <element name="serial">
+      <ref name="qemucdev"/>
     </element>
   </define>
-
-  <define name='input'>
-    <element name='input'>
-      <attribute name='type'>
+  <define name="input">
+    <element name="input">
+      <attribute name="type">
         <choice>
           <value>tablet</value>
           <value>mouse</value>
         </choice>
       </attribute>
       <optional>
-        <attribute name='bus'>
+        <attribute name="bus">
           <choice>
             <value>ps2</value>
             <value>usb</value>
       </optional>
     </element>
   </define>
-
-  <define name='hostdev'>
-    <element name='hostdev'>
+  <define name="hostdev">
+    <element name="hostdev">
       <optional>
-       <attribute name='mode'>
-         <choice>
-           <value>subsystem</value>
-           <value>capabilities</value>
-         </choice>
-       </attribute>
-        <attribute name='type'>
+        <attribute name="mode">
           <choice>
-           <value>usb</value>
-           <value>pci</value>
+            <value>subsystem</value>
+            <value>capabilities</value>
+          </choice>
+        </attribute>
+        <attribute name="type">
+          <choice>
+            <value>usb</value>
+            <value>pci</value>
+          </choice>
+        </attribute>
+        <attribute name="managed">
+          <choice>
+            <value>yes</value>
+            <value>no</value>
           </choice>
         </attribute>
-       <attribute name='managed'>
-         <choice>
-           <value>yes</value>
-           <value>no</value>
-         </choice>
-       </attribute>
       </optional>
       <group>
-          <element name='source'>
-            <choice>
-              <ref name="usbproduct"/>
-              <ref name="usbaddress"/>
-              <ref name="pciaddress"/>
-            </choice>
-          </element>
+        <element name="source">
+          <choice>
+            <ref name="usbproduct"/>
+            <ref name="usbaddress"/>
+            <ref name="pciaddress"/>
+          </choice>
+        </element>
       </group>
     </element>
   </define>
-
   <define name="usbproduct">
     <element name="vendor">
       <attribute name="id">
-          <ref name="usbId"/>
+        <ref name="usbId"/>
       </attribute>
     </element>
     <element name="product">
       <attribute name="id">
-          <ref name="usbId"/>
+        <ref name="usbId"/>
       </attribute>
     </element>
   </define>
-  
   <define name="usbaddress">
     <element name="address">
       <attribute name="bus">
       </attribute>
     </element>
   </define>
-
   <define name="pciaddress">
     <element name="address">
       <optional>
   <!--
       Devices attached to a domain.
     -->
-  <define name='devices'>
-    <element name='devices'>
+  <define name="devices">
+    <element name="devices">
       <interleave>
-       <optional>
-         <ref name='emulator'/>
-       </optional>
-       <zeroOrMore>
-         <choice>
-           <ref name='graphic'/>
-           <ref name='disk'/>
-           <ref name='filesystem'/>
-           <ref name='interface'/>
-           <ref name='console'/>
-            <ref name='sound'/>
-            <ref name='parallel'/>
-            <ref name='serial'/>
-            <ref name='input'/>
-            <ref name='hostdev'/>
-         </choice>
-       </zeroOrMore>
+        <optional>
+          <ref name="emulator"/>
+        </optional>
+        <zeroOrMore>
+          <choice>
+            <ref name="disk"/>
+            <ref name="filesystem"/>
+            <ref name="interface"/>
+            <ref name="input"/>
+            <ref name="sound"/>
+            <ref name="hostdev"/>
+            <ref name="graphic"/>
+            <ref name="console"/>
+            <ref name="parallel"/>
+            <ref name="serial"/>
+          </choice>
+        </zeroOrMore>
       </interleave>
     </element>
   </define>
-
   <!--
       A set of optional features: PAE, APIC and ACPI support
     -->
-  <define name='features'>
+  <define name="features">
     <optional>
       <element name="features">
         <interleave>
-         <optional>
-           <element name="pae">
-             <empty/>
-           </element>
-         </optional>
-         <optional>
-           <element name="apic">
-             <empty/>
-           </element>
-         </optional>
-         <optional>
-           <element name="acpi">
-             <empty/>
-           </element>
-         </optional>
-       </interleave>
+          <optional>
+            <element name="pae">
+              <empty/>
+            </element>
+          </optional>
+          <optional>
+            <element name="apic">
+              <empty/>
+            </element>
+          </optional>
+          <optional>
+            <element name="acpi">
+              <empty/>
+            </element>
+          </optional>
+        </interleave>
       </element>
     </optional>
   </define>
-
   <!--
        Type library
 
        UUID currently allows only the 32 characters strict syntax
        memoryKB request at least 4Mbytes though Xen will grow bigger if too low
     -->
-  <define name='unsignedInt'>
-    <data type='unsignedInt'>
+  <define name="unsignedInt">
+    <data type="unsignedInt">
       <param name="pattern">[0-9]+</param>
     </data>
   </define>
-  <define name='countCPU'>
-    <data type='unsignedShort'>
+  <define name="countCPU">
+    <data type="unsignedShort">
       <param name="pattern">[0-9]+</param>
       <param name="minInclusive">1</param>
     </data>
   </define>
-  <define name='PortNumber'>
-    <data type='short'>
+  <define name="PortNumber">
+    <data type="short">
       <param name="minInclusive">-1</param>
     </data>
   </define>
-  <define name='memoryKB'>
-    <data type='unsignedInt'>
+  <define name="memoryKB">
+    <data type="unsignedInt">
       <param name="pattern">[0-9]+</param>
       <param name="minInclusive">4000</param>
     </data>
   </define>
-  <define name='domainName'>
-    <data type='string'>
+  <define name="domainName">
+    <data type="string">
       <param name="pattern">[A-Za-z0-9_\.\+\-&amp;:/]+</param>
     </data>
   </define>
-  <define name='genericName'>
-    <data type='string'>
+  <define name="genericName">
+    <data type="string">
       <param name="pattern">[a-zA-Z0-9_\+\-]+</param>
     </data>
   </define>
-  <define name='UUID'>
+  <define name="UUID">
     <choice>
-      <data type='string'>
+      <data type="string">
         <param name="pattern">[a-fA-F0-9]{32}</param>
       </data>
-      <data type='string'>
+      <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='filePath'>
-    <data type='string'>
+  <define name="filePath">
+    <data type="string">
       <param name="pattern">[a-zA-Z0-9_\.\+\-&amp;/%]+</param>
     </data>
   </define>
-  <define name='absFilePath'>
-    <data type='string'>
+  <define name="absFilePath">
+    <data type="string">
       <param name="pattern">/[a-zA-Z0-9_\.\+\-&amp;/%]+</param>
     </data>
   </define>
-  <define name='absDirPath'>
-    <data type='string'>
+  <define name="absDirPath">
+    <data type="string">
       <param name="pattern">/[a-zA-Z0-9_\.\+\-&amp;/%]*</param>
     </data>
   </define>
-  <define name='devicePath'>
-    <data type='string'>
+  <define name="devicePath">
+    <data type="string">
       <param name="pattern">/[a-zA-Z0-9_\+\-/%]+</param>
     </data>
   </define>
-  <define name='deviceName'>
-    <data type='string'>
+  <define name="deviceName">
+    <data type="string">
       <param name="pattern">[a-zA-Z0-9_\.\-:/]+</param>
     </data>
   </define>
-  <define name='addrMAC'>
-    <data type='string'>
+  <define name="addrMAC">
+    <data type="string">
       <param name="pattern">([a-fA-F0-9]{2}:){5}[a-fA-F0-9]{2}</param>
     </data>
   </define>
-  <define name='addrIP'>
-    <data type='string'>
+  <define name="addrIP">
+    <data type="string">
       <param name="pattern">([0-2]?[0-9]?[0-9]\.){3}[0-2]?[0-9]?[0-9]</param>
     </data>
   </define>
-  <define name='usbId'>
-    <data type='string'>
+  <define name="usbId">
+    <data type="string">
       <param name="pattern">(0x)?[0-9a-fA-F]{1,4}</param>
     </data>
   </define>
-  <define name='usbAddr'>
-    <data type='string'>
+  <define name="usbAddr">
+    <data type="string">
       <param name="pattern">(0x)?[0-9a-fA-F]{1,3}</param>
     </data>
   </define>
-  <define name='pciDomain'>
-    <data type='string'>
+  <define name="pciDomain">
+    <data type="string">
       <param name="pattern">(0x)?[0-9a-fA-F]{1,4}</param>
     </data>
   </define>
-  <define name='pciBus'>
-    <data type='string'>
+  <define name="pciBus">
+    <data type="string">
       <param name="pattern">(0x)?[0-9a-fA-F]{1,2}</param>
     </data>
   </define>
-  <define name='pciSlot'>
-    <data type='string'>
+  <define name="pciSlot">
+    <data type="string">
       <param name="pattern">(0x)?[0-1]?[0-9a-fA-F]</param>
     </data>
   </define>
-  <define name='pciFunc'>
-    <data type='string'>
+  <define name="pciFunc">
+    <data type="string">
       <param name="pattern">(0x)?[0-7]</param>
     </data>
   </define>