schemadir = $(pkgdatadir)/schemas
schema_DATA = \
+ basictypes.rng \
capability.rng \
domain.rng \
domainsnapshot.rng \
--- /dev/null
+<?xml version="1.0"?>
+<!-- network-related definitions used in multiple grammars -->
+<grammar xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
+
+ <!-- Our unsignedInt doesn"t allow a leading "+" in its lexical form -->
+ <define name="unsignedInt">
+ <data type="unsignedInt">
+ <param name="pattern">[0-9]+</param>
+ </data>
+ </define>
+
+ <define name="positiveInteger">
+ <data type="positiveInteger">
+ <param name="pattern">[0-9]+</param>
+ </data>
+ </define>
+
+ <define name="uint8range">
+ <choice>
+ <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="uint24range">
+ <choice>
+ <data type="string">
+ <param name="pattern">0x[0-9a-fA-F]{1,6}</param>
+ </data>
+ <data type="int">
+ <param name="minInclusive">0</param>
+ <param name="maxInclusive">16777215</param>
+ </data>
+ </choice>
+ </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>
+
+ <!-- a 6 byte MAC address in ASCII-hex format, eg "12:34:56:78:9A:BC" -->
+ <define name="macAddr">
+ <data type="string">
+ <param name="pattern">([a-fA-F0-9]{2}:){5}[a-fA-F0-9]{2}</param>
+ </data>
+ </define>
+
+ <!-- An ipv4 "dotted quad" address -->
+ <define name="ipv4Addr">
+ <data type="string">
+ <param name="pattern">(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([1-9][0-9])|([0-9]))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([1-9][0-9])|([0-9]))</param>
+ </data>
+ </define>
+
+ <!-- Based on http://blog.mes-stats.fr/2008/10/09/regex-ipv4-et-ipv6 -->
+ <define name="ipv6Addr">
+ <data type="string">
+ <!-- To understand this better, take apart the toplevel "|"s -->
+<param name="pattern">(([0-9A-Fa-f]{1,4}:){7}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){6}:[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){5}:([0-9A-Fa-f]{1,4}:)?[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){4}:([0-9A-Fa-f]{1,4}:){0,2}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){3}:([0-9A-Fa-f]{1,4}:){0,3}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){2}:([0-9A-Fa-f]{1,4}:){0,4}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){6}(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([1-9][0-9])|([0-9]))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([1-9][0-9])|([0-9])))|(([0-9A-Fa-f]{1,4}:){0,5}:(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([1-9][0-9])|([0-9]))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([1-9][0-9])|([0-9])))|(::([0-9A-Fa-f]{1,4}:){0,5}(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([1-9][0-9])|([0-9]))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([1-9][0-9])|([0-9])))|([0-9A-Fa-f]{1,4}::([0-9A-Fa-f]{1,4}:){0,5}[0-9A-Fa-f]{1,4})|(::([0-9A-Fa-f]{1,4}:){0,6}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){1,7}:)</param>
+ </data>
+ </define>
+
+ <define name="ipAddr">
+ <choice>
+ <ref name="ipv4Addr"/>
+ <ref name="ipv6Addr"/>
+ </choice>
+ </define>
+
+ <define name="ipv4Prefix">
+ <data type="unsignedInt">
+ <param name="maxInclusive">32</param>
+ </data>
+ </define>
+
+ <define name="ipv6Prefix">
+ <data type="unsignedInt">
+ <param name="maxInclusive">128</param>
+ </data>
+ </define>
+
+ <define name="ipPrefix">
+ <choice>
+ <ref name="ipv4Prefix"/>
+ <ref name="ipv6Prefix"/>
+ </choice>
+ </define>
+
+ <define name="dnsName">
+ <data type="string">
+ <param name="pattern">[a-zA-Z0-9\.\-]+</param>
+ </data>
+ </define>
+
+ <define name="deviceName">
+ <data type="string">
+ <param name="pattern">[a-zA-Z0-9_\.\-\\:/]+</param>
+ </data>
+ </define>
+
+ <define name="filePath">
+ <data type="string">
+ <param name="pattern">[a-zA-Z0-9_\.\+\-\\&"'<>/%]+</param>
+ </data>
+ </define>
+
+ <define name="absFilePath">
+ <data type="string">
+ <param name="pattern">/[a-zA-Z0-9_\.\+\-\\&"'<>/%]+</param>
+ </data>
+ </define>
+
+ <define name="absDirPath">
+ <data type="string">
+ <param name="pattern">/[a-zA-Z0-9_\.\+\-\\&"'<>/%]*</param>
+ </data>
+ </define>
+
+</grammar>
<ref name="domain"/>
</start>
+ <include href='basictypes.rng'/>
<include href='storageencryption.rng'/>
<!--
<zeroOrMore>
<element name="host">
<attribute name="name">
- <ref name="hostName"/>
+ <ref name="dnsName"/>
</attribute>
<attribute name="port">
<ref name="unsignedInt"/>
<optional>
<element name="mac">
<attribute name="address">
- <ref name="addrMAC"/>
+ <ref name="macAddr"/>
</attribute>
<empty/>
</element>
<optional>
<element name="ip">
<attribute name="address">
- <ref name="addrIP"/>
+ <ref name="ipv4Addr"/>
</attribute>
<empty/>
</element>
<!--
Type library
- Our unsignedInt doesn't allow a leading '+' in its lexical form
A domain name should be made of ascii, numbers, _-+ and is non-empty
- UUID currently allows only the 32 characters strict syntax
memoryKB request at least 4Mbytes though Xen will grow bigger if too low
weight currently is in range [100, 1000]
-->
- <define name="unsignedInt">
- <data type="unsignedInt">
- <param name="pattern">[0-9]+</param>
- </data>
- </define>
- <define name='positiveInteger'>
- <data type='positiveInteger'>
- <param name="pattern">[0-9]+</param>
- </data>
- </define>
<define name="cpuset">
<data type="string">
<param name="pattern">([0-9]+(-[0-9]+)?|\^[0-9]+)(,([0-9]+(-[0-9]+)?|\^[0-9]+))*</param>
<param name="pattern">[0-9]+</param>
</data>
</define>
- <define name="hostName">
- <data type="string">
- <param name="pattern">[a-zA-Z0-9\.\-]+</param>
- </data>
- </define>
<define name="PortNumber">
<data type="short">
<param name="minInclusive">-1</param>
<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>
- <define name="filePath">
- <data type="string">
- <param name="pattern">[a-zA-Z0-9_\.\+\-\\&"'<>/%]+</param>
- </data>
- </define>
- <define name="absFilePath">
- <data type="string">
- <param name="pattern">/[a-zA-Z0-9_\.\+\-\\&"'<>/%]+</param>
- </data>
- </define>
- <define name="absDirPath">
- <data type="string">
- <param name="pattern">/[a-zA-Z0-9_\.\+\-\\&"'<>/%]*</param>
- </data>
- </define>
- <define name="deviceName">
- <data type="string">
- <param name="pattern">[a-zA-Z0-9_\.\-\\:/]+</param>
- </data>
- </define>
<define name="bridgeMode">
<data type="string">
<param name="pattern">(vepa|bridge|private|passthrough)</param>
</data>
</define>
- <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">
- <param name="pattern">([0-2]?[0-9]?[0-9]\.){3}[0-2]?[0-9]?[0-9]</param>
- </data>
- </define>
<define name="addrIPorName">
<data type="string">
<param name="pattern">(([0-2]?[0-9]?[0-9]\.){3}[0-2]?[0-9]?[0-9])|(([0-9a-fA-F]+|:)+[0-9a-fA-F]+)|([a-zA-Z0-9_\.\+\-]*)</param>
<param name="pattern">[a-zA-Z0-9_\.:]+</param>
</data>
</define>
- <define name="uint8range">
- <choice>
- <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="uint24range">
- <choice>
- <data type="string">
- <param name="pattern">0x[0-9a-fA-F]{1,6}</param>
- </data>
- <data type="int">
- <param name="minInclusive">0</param>
- <param name="maxInclusive">16777215</param>
- </data>
- </choice>
- </define>
<define name="virtualPortProfileID">
<data type="string">
<param name="maxLength">39</param>
+<?xml version="1.0"?>
<!-- A Relax NG schema for network interfaces -->
<grammar xmlns="http://relaxng.org/ns/structure/1.0"
xmlns:v="http://netcf.org/xml/version/1.0"
</choice>
</start>
+ <include href='basictypes.rng'/>
<!--
FIXME: How do we handle VLAN's ? Should they be their own interface
or should we treat them as an option on the base interface ? For
FIXME: What if device name and MAC don't specify the same NIC ? -->
<optional>
<element name="mac">
- <attribute name="address"><ref name="mac-addr"/></attribute>
+ <attribute name="address"><ref name="macAddr"/></attribute>
</element>
</optional>
<!-- FIXME: Allow (some) ethtool options -->
<element name="vlan">
<attribute name="tag"><ref name="vlan-id"/></attribute>
<element name="interface">
- <attribute name="name"><ref name="device-name"/></attribute>
+ <attribute name="name"><ref name="deviceName"/></attribute>
</element>
</element>
</define>
</element>
<element name="arpmon">
<attribute name="interval"><ref name="uint"/></attribute>
- <attribute name="target"><ref name="ipv4-addr"/></attribute>
+ <attribute name="target"><ref name="ipv4Addr"/></attribute>
<optional>
<attribute name="validate">
<choice>
<!-- Basic attributes for all interface types -->
<define name="name-attr">
<!-- The device name, like eth0 or br2 -->
- <attribute name="name"><ref name="device-name"/></attribute>
+ <attribute name="name"><ref name="deviceName"/></attribute>
</define>
<define name="mtu">
<ref name="dhcp-element"/>
<group>
<element name="ip">
- <attribute name="address"><ref name="ipv4-addr"/></attribute>
+ <attribute name="address"><ref name="ipv4Addr"/></attribute>
<optional>
- <attribute name="prefix"><ref name="ipv4-prefix"/></attribute>
+ <attribute name="prefix"><ref name="ipv4Prefix"/></attribute>
</optional>
</element>
<optional>
<element name="route">
- <attribute name="gateway"><ref name="ipv4-addr"/></attribute>
+ <attribute name="gateway"><ref name="ipv4Addr"/></attribute>
</element>
</optional>
</group>
</optional>
<zeroOrMore>
<element name="ip">
- <attribute name="address"><ref name="ipv6-addr"/></attribute>
+ <attribute name="address"><ref name="ipv6Addr"/></attribute>
<optional>
- <attribute name="prefix"><ref name="ipv6-prefix"/></attribute>
+ <attribute name="prefix"><ref name="ipv6Prefix"/></attribute>
</optional>
</element>
</zeroOrMore>
<optional>
<element name="route">
- <attribute name="gateway"><ref name="ipv6-addr"/></attribute>
+ <attribute name="gateway"><ref name="ipv6Addr"/></attribute>
</element>
</optional>
</element>
</data>
</define>
- <define name='device-name'>
- <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>
-
- <define name='mac-addr'>
- <data type='string'>
- <param name="pattern">([a-fA-F0-9]{2}:){5}[a-fA-F0-9]{2}</param>
- </data>
- </define>
-
- <define name='ipv4-addr'>
- <data type='string'>
- <param name="pattern">(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([1-9][0-9])|([0-9]))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([1-9][0-9])|([0-9]))</param>
- </data>
- </define>
-
- <define name='ipv4-prefix'>
- <data type='unsignedInt'>
- <param name="maxInclusive">32</param>
- </data>
- </define>
-
- <!-- Based on http://blog.mes-stats.fr/2008/10/09/regex-ipv4-et-ipv6 -->
- <define name='ipv6-addr'>
- <data type='string'>
- <!-- To understand this better, take apart the toplevel '|'s -->
- <param name="pattern">(([0-9A-Fa-f]{1,4}:){7}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){6}:[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){5}:([0-9A-Fa-f]{1,4}:)?[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){4}:([0-9A-Fa-f]{1,4}:){0,2}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){3}:([0-9A-Fa-f]{1,4}:){0,3}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){2}:([0-9A-Fa-f]{1,4}:){0,4}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){6}((((25[0-5])|(1[0-9]{2})|(2[0-4][0-9])|([0-9]{1,2})))\.){3}(((25[0-5])|(1[0-9]{2})|(2[0-4][0-9])|([0-9]{1,2}))))|(([0-9A-Fa-f]{1,4}:){0,5}:((((25[0-5])|(1[0-9]{2})|(2[0-4][0-9])|([0-9]{1,2})))\.){3}(((25[0-5])|(1[0-9]{2})|(2[0-4][0-9])|([0-9]{1,2}))))|(::([0-9A-Fa-f]{1,4}:){0,5}((((25[0-5])|(1[0-9]{2})|(2[0-4][0-9])|([0-9]{1,2})))\.){3}(((25[0-5])|(1[0-9]{2})|(2[0-4][0-9])|([0-9]{1,2}))))|([0-9A-Fa-f]{1,4}::([0-9A-Fa-f]{1,4}:){0,5}[0-9A-Fa-f]{1,4})|(::([0-9A-Fa-f]{1,4}:){0,6}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){1,7}:)</param>
- </data>
- </define>
-
- <define name='ipv6-prefix'>
- <data type='unsignedInt'>
- <param name="maxInclusive">128</param>
- </data>
- </define>
-
<define name='vlan-id'>
<data type="unsignedInt">
<param name="maxInclusive">4096</param>
+<?xml version="1.0"?>
<!-- A Relax NG schema for the libvirt network XML format -->
<grammar xmlns="http://relaxng.org/ns/structure/1.0"
datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
<ref name="network"/>
</start>
+ <include href='basictypes.rng'/>
+
<define name="network">
<element name="network">
<!-- <uuid> element -->
<optional>
- <element name="uuid"><text/></element>
+ <element name="uuid"><ref name="UUID"/></element>
</optional>
<!-- <bridge> element -->
<element name="bridge">
<optional>
<attribute name="name">
- <text/>
+ <ref name="deviceName"/>
</attribute>
</optional>
<!-- <mac> element -->
<optional>
<element name="mac">
- <attribute name="address"><ref name="mac-addr"/></attribute>
+ <attribute name="address"><ref name="macAddr"/></attribute>
<empty/>
</element>
</optional>
<element name="forward">
<optional>
<attribute name="dev">
- <text/>
+ <ref name="deviceName"/>
</attribute>
</optional>
<!-- <domain> element -->
<optional>
<element name="domain">
- <attribute name="name"><text/></attribute>
+ <attribute name="name"><ref name="dnsName"/></attribute>
</element>
</optional>
<element name="dns">
<zeroOrMore>
<element name="txt">
- <attribute name="name"><ref name="dns-name"/></attribute>
+ <attribute name="name"><ref name="dnsName"/></attribute>
<attribute name="value"><text/></attribute>
</element>
</zeroOrMore>
<zeroOrMore>
<element name="host">
- <attribute name="ip"><ref name="ipv4-addr"/></attribute>
+ <attribute name="ip"><ref name="ipv4Addr"/></attribute>
<oneOrMore>
- <element name="hostname"><text/></element>
+ <element name="hostname"><ref name="dnsName"/></element>
</oneOrMore>
</element>
</zeroOrMore>
local to the host. -->
<element name="ip">
<optional>
- <attribute name="address"><ref name="ip-addr"/></attribute>
+ <attribute name="address"><ref name="ipAddr"/></attribute>
</optional>
<optional>
<choice>
- <attribute name="netmask"><ref name="ipv4-addr"/></attribute>
- <attribute name="prefix"><ref name="ip-prefix"/></attribute>
+ <attribute name="netmask"><ref name="ipv4Addr"/></attribute>
+ <attribute name="prefix"><ref name="ipPrefix"/></attribute>
</choice>
</optional>
<optional>
<element name="dhcp">
<zeroOrMore>
<element name="range">
- <attribute name="start"><ref name="ipv4-addr"/></attribute>
- <attribute name="end"><ref name="ipv4-addr"/></attribute>
+ <attribute name="start"><ref name="ipv4Addr"/></attribute>
+ <attribute name="end"><ref name="ipv4Addr"/></attribute>
</element>
</zeroOrMore>
<zeroOrMore>
<element name="host">
- <attribute name="mac"><ref name="mac-addr"/></attribute>
+ <attribute name="mac"><ref name="macAddr"/></attribute>
<attribute name="name"><text/></attribute>
- <attribute name="ip"><ref name="ipv4-addr"/></attribute>
+ <attribute name="ip"><ref name="ipv4Addr"/></attribute>
</element>
</zeroOrMore>
<optional>
<element name="bootp">
- <attribute name="file"><text/></attribute>
+ <attribute name="file"><ref name="filePath"/></attribute>
<optional>
- <attribute name="server"><text/></attribute>
+ <attribute name="server"><ref name="dnsName"/></attribute>
</optional>
</element>
</optional>
</element>
</define>
- <!-- An ipv4 "dotted quad" address -->
- <define name='ipv4-addr'>
- <data type='string'>
- <param name="pattern">(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([1-9][0-9])|([0-9]))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([1-9][0-9])|([0-9]))</param>
- </data>
- </define>
-
- <!-- Based on http://blog.mes-stats.fr/2008/10/09/regex-ipv4-et-ipv6 -->
- <define name='ipv6-addr'>
- <data type='string'>
- <!-- To understand this better, take apart the toplevel '|'s -->
- <param name="pattern">(([0-9A-Fa-f]{1,4}:){7}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){6}:[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){5}:([0-9A-Fa-f]{1,4}:)?[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){4}:([0-9A-Fa-f]{1,4}:){0,2}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){3}:([0-9A-Fa-f]{1,4}:){0,3}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){2}:([0-9A-Fa-f]{1,4}:){0,4}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){6}(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([1-9][0-9])|([0-9]))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([1-9][0-9])|([0-9])))|(([0-9A-Fa-f]{1,4}:){0,5}:(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([1-9][0-9])|([0-9]))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([1-9][0-9])|([0-9])))|(::([0-9A-Fa-f]{1,4}:){0,5}(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([1-9][0-9])|([0-9]))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([1-9][0-9])|([0-9])))|([0-9A-Fa-f]{1,4}::([0-9A-Fa-f]{1,4}:){0,5}[0-9A-Fa-f]{1,4})|(::([0-9A-Fa-f]{1,4}:){0,6}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){1,7}:)</param>
- </data>
- </define>
-
- <define name='ip-addr'>
- <choice>
- <ref name='ipv4-addr'/>
- <ref name='ipv6-addr'/>
- </choice>
- </define>
-
- <define name='ip-prefix'>
- <data type='unsignedInt'>
- <param name="maxInclusive">128</param>
- </data>
- </define>
-
<define name='addr-family'>
<data type='string'>
<param name="pattern">(ipv4)|(ipv6)</param>
</data>
</define>
- <!-- a 6 byte MAC address in ASCII-hex format, eg "12:34:56:78:9A:BC" -->
- <define name='mac-addr'>
- <data type='string'>
- <param name="pattern">([a-fA-F0-9]{2}:){5}[a-fA-F0-9]{2}</param>
- </data>
- </define>
-
- <!-- a valid DNS name -->
- <define name='dns-name'>
- <data type='string'>
- <param name="pattern">([a-zA-Z\-]+)</param>
- </data>
- </define>
-
</grammar>
%{_datadir}/libvirt/schemas/secret.rng
%{_datadir}/libvirt/schemas/storageencryption.rng
%{_datadir}/libvirt/schemas/nwfilter.rng
+%{_datadir}/libvirt/schemas/basictypes.rng
%{_datadir}/libvirt/cpu_map.xml
%{_mingw32_datadir}/libvirt/schemas/nwfilter.rng
%{_mingw32_datadir}/libvirt/schemas/secret.rng
%{_mingw32_datadir}/libvirt/schemas/storageencryption.rng
+%{_mingw32_datadir}/libvirt/schemas/basictypes.rng
%{_mingw32_datadir}/libvirt/cpu_map.xml