summaryrefslogtreecommitdiffstats
path: root/src/main/resources/libvirt/rng/domaincheckpoint.rng
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/resources/libvirt/rng/domaincheckpoint.rng')
-rw-r--r--src/main/resources/libvirt/rng/domaincheckpoint.rng94
1 files changed, 94 insertions, 0 deletions
diff --git a/src/main/resources/libvirt/rng/domaincheckpoint.rng b/src/main/resources/libvirt/rng/domaincheckpoint.rng
new file mode 100644
index 0000000..72c4186
--- /dev/null
+++ b/src/main/resources/libvirt/rng/domaincheckpoint.rng
@@ -0,0 +1,94 @@
+<?xml version="1.0"?>
+<!-- A Relax NG schema for the libvirt domain checkpoint properties XML format -->
+<grammar xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
+ <start>
+ <ref name="domaincheckpoint"/>
+ </start>
+
+ <include href="domaincommon.rng"/>
+
+ <define name="domaincheckpoint">
+ <element name="domaincheckpoint">
+ <interleave>
+ <optional>
+ <element name="name">
+ <ref name="checkpointName"/>
+ </element>
+ </optional>
+ <optional>
+ <element name="description">
+ <text/>
+ </element>
+ </optional>
+ <optional>
+ <element name="creationTime">
+ <ref name="unsignedLong"/>
+ </element>
+ </optional>
+ <optional>
+ <element name="disks">
+ <oneOrMore>
+ <ref name="diskcheckpoint"/>
+ </oneOrMore>
+ </element>
+ </optional>
+ <optional>
+ <!-- Nested grammar ensures that any of our overrides of
+ storagecommon/domaincommon defines do not conflict
+ with any domain.rng overrides. -->
+ <grammar>
+ <include href="domain.rng"/>
+ </grammar>
+ </optional>
+ <optional>
+ <element name="parent">
+ <element name="name">
+ <ref name="checkpointName"/>
+ </element>
+ </element>
+ </optional>
+ </interleave>
+ </element>
+ </define>
+
+ <define name="diskcheckpoint">
+ <element name="disk">
+ <attribute name="name">
+ <choice>
+ <ref name="diskTargetDev"/>
+ <ref name="absFilePath"/>
+ </choice>
+ </attribute>
+ <choice>
+ <attribute name="checkpoint">
+ <value>no</value>
+ </attribute>
+ <group>
+ <optional>
+ <attribute name="checkpoint">
+ <value>bitmap</value>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="bitmap">
+ <text/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="size">
+ <ref name="unsignedLong"/>
+ </attribute>
+ </optional>
+ </group>
+ </choice>
+ </element>
+ </define>
+
+ <define name="checkpointName">
+ <data type="string">
+ <!-- Notably: no leading "." and no embedded "/" or newline -->
+ <param name="pattern">[a-zA-Z0-9_\-][a-zA-Z0-9_\-.]*</param>
+ </data>
+ </define>
+
+</grammar>