<?xml version="1.0"?> <!-- A Relax NG schema for the libvirt domain snapshot properties XML format --> <grammar xmlns="http://relaxng.org/ns/structure/1.0"> <start> <ref name='domainsnapshot'/> </start> <include href='domaincommon.rng'/> <define name='domainsnapshot'> <element name='domainsnapshot'> <interleave> <optional> <element name='name'> <text/> </element> </optional> <optional> <element name='description'> <text/> </element> </optional> <optional> <element name='state'> <ref name='state'/> </element> </optional> <optional> <element name='creationTime'> <text/> </element> </optional> <optional> <element name='disks'> <zeroOrMore> <ref name='disksnapshot'/> </zeroOrMore> </element> </optional> <optional> <element name='active'> <choice> <value>0</value> <value>1</value> </choice> </element> </optional> <optional> <choice> <element name='domain'> <element name='uuid'> <ref name="UUID"/> </element> </element> <ref name='domain'/> </choice> </optional> <optional> <element name='parent'> <element name='name'> <text/> </element> </element> </optional> </interleave> </element> </define> <define name='state'> <choice> <value>nostate</value> <value>running</value> <value>blocked</value> <value>paused</value> <value>shutdown</value> <value>shutoff</value> <value>crashed</value> <value>disk-snapshot</value> </choice> </define> <define name='disksnapshot'> <element name='disk'> <attribute name='name'> <choice> <ref name='diskTarget'/> <ref name='absFilePath'/> </choice> </attribute> <choice> <attribute name='snapshot'> <value>no</value> </attribute> <attribute name='snapshot'> <value>internal</value> </attribute> <group> <optional> <attribute name='snapshot'> <value>external</value> </attribute> </optional> <interleave> <optional> <element name='driver'> <optional> <attribute name='type'> <ref name='genericName'/> </attribute> </optional> <empty/> </element> </optional> <optional> <element name='source'> <optional> <attribute name='file'> <ref name='absFilePath'/> </attribute> </optional> <empty/> </element> </optional> </interleave> </group> </choice> </element> </define> </grammar>