2014-06-25 15:24:53 +04:00
<?xml version="1.0"?>
<!-- A Relax NG schema for the libvirt domain 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='domainCapabilities'/>
</start>
<define name='domainCapabilities'>
<element name='domainCapabilities'>
<interleave>
<element name='path'>
<ref name="absFilePath"/>
</element>
<element name='domain'>
<text/>
</element>
<element name='machine'>
<text/>
</element>
<element name='arch'>
<text/>
</element>
<optional>
<ref name='vcpu'/>
</optional>
2014-09-16 16:47:47 +04:00
<optional>
<ref name='os'/>
</optional>
2014-06-25 15:24:53 +04:00
<optional>
<ref name='devices'/>
</optional>
2016-03-09 20:42:14 +03:00
<optional>
<ref name='features'/>
</optional>
2014-06-25 15:24:53 +04:00
</interleave>
</element>
</define>
<define name='vcpu'>
<element name='vcpu'>
<attribute name='max'>
<ref name='unsignedInt'/>
</attribute>
<empty/>
</element>
</define>
2014-09-16 16:47:47 +04:00
<define name='loader'>
<element name='loader'>
<ref name='supported'/>
2014-09-17 03:52:54 +04:00
<optional>
<ref name='value'/>
</optional>
2014-09-16 16:47:47 +04:00
<ref name='enum'/>
</element>
</define>
<define name='os'>
<element name='os'>
<interleave>
<ref name='supported'/>
<optional>
<ref name='loader'/>
</optional>
</interleave>
</element>
</define>
2014-06-25 15:24:53 +04:00
<define name='devices'>
<element name='devices'>
<interleave>
<ref name='disk'/>
2016-05-08 18:57:20 +03:00
<ref name='graphics'/>
2016-05-08 19:11:39 +03:00
<ref name='video'/>
2014-06-25 15:24:53 +04:00
<ref name='hostdev'/>
</interleave>
</element>
</define>
<define name='disk'>
<element name='disk'>
<ref name='supported'/>
<ref name='enum'/>
</element>
</define>
2016-05-08 18:57:20 +03:00
<define name='graphics'>
<element name='graphics'>
<ref name='supported'/>
<ref name='enum'/>
</element>
</define>
2016-05-08 19:11:39 +03:00
<define name='video'>
<element name='video'>
<ref name='supported'/>
<ref name='enum'/>
</element>
</define>
2014-06-25 15:24:53 +04:00
<define name='hostdev'>
<element name='hostdev'>
<ref name='supported'/>
<ref name='enum'/>
</element>
</define>
2016-03-09 20:42:14 +03:00
<define name='features'>
<element name='features'>
<interleave>
<ref name='gic'/>
</interleave>
</element>
</define>
<define name='gic'>
<element name='gic'>
<ref name='supported'/>
<ref name='enum'/>
</element>
</define>
2014-09-17 03:52:54 +04:00
<define name='value'>
<zeroOrMore>
<element name='value'>
<text/>
</element>
</zeroOrMore>
</define>
2014-06-25 15:24:53 +04:00
<define name='supported'>
<attribute name='supported'>
2014-09-08 10:06:35 +04:00
<ref name="virYesNo"/>
2014-06-25 15:24:53 +04:00
</attribute>
</define>
<define name='enum'>
<zeroOrMore>
<element name='enum'>
<attribute name='name'>
<text/>
</attribute>
2014-09-17 03:52:54 +04:00
<ref name='value'/>
2014-06-25 15:24:53 +04:00
</element>
</zeroOrMore>
</define>
</grammar>