summaryrefslogtreecommitdiffstats
path: root/src/main/resources/libvirt/libosinfo/rng/osinfo.rng
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/resources/libvirt/libosinfo/rng/osinfo.rng')
-rw-r--r--src/main/resources/libvirt/libosinfo/rng/osinfo.rng942
1 files changed, 942 insertions, 0 deletions
diff --git a/src/main/resources/libvirt/libosinfo/rng/osinfo.rng b/src/main/resources/libvirt/libosinfo/rng/osinfo.rng
new file mode 100644
index 0000000..775e71f
--- /dev/null
+++ b/src/main/resources/libvirt/libosinfo/rng/osinfo.rng
@@ -0,0 +1,942 @@
+<grammar xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
+ <!-- Schema distributed with osinfo-db-20210312 -->
+
+ <start>
+ <ref name='libosinfo'/>
+ </start>
+
+ <define name='libosinfo'>
+ <element name='libosinfo'>
+ <attribute name='version'>
+ <choice>
+ <value>0.0.1</value>
+ </choice>
+ </attribute>
+
+ <zeroOrMore>
+ <choice>
+ <ref name='datamap'/>
+ <ref name='device'/>
+ <ref name='os'/>
+ <ref name='platform'/>
+ <ref name='deployment'/>
+ <ref name='install-script'/>
+ </choice>
+ </zeroOrMore>
+ </element>
+ </define>
+
+ <define name='datamap'>
+ <element name='datamap'>
+ <attribute name='id'>
+ <ref name='url'/>
+ </attribute>
+ <oneOrMore>
+ <element name='entry'>
+ <attribute name='inval'>
+ <text/>
+ </attribute>
+ <attribute name='outval'>
+ <text/>
+ </attribute>
+ </element>
+ </oneOrMore>
+ </element>
+ </define>
+
+ <define name='device'>
+ <element name='device'>
+ <attribute name='id'>
+ <ref name='url'/>
+ </attribute>
+ <interleave>
+ <oneOrMore>
+ <element name='name'>
+ <optional>
+ <attribute name='xml:lang'>
+ <text/>
+ </attribute>
+ </optional>
+ <text/>
+ </element>
+ </oneOrMore>
+ <optional>
+ <element name='bus-type'>
+ <choice>
+ <value>isa</value>
+ <value>pci</value>
+ <value>usb</value>
+ <value>xen</value>
+ <value>ps2</value>
+ </choice>
+ </element>
+ </optional>
+ <optional>
+ <element name='class'>
+ <choice>
+ <value>audio</value>
+ <value>block</value>
+ <value>console</value>
+ <value>chipset</value>
+ <value>controller.usb</value>
+ <value>filesystem</value>
+ <value>input</value>
+ <value>memory.balloon</value>
+ <value>net</value>
+ <value>video</value>
+ <value>watchdog</value>
+ <value>rng</value>
+ </choice>
+ </element>
+ </optional>
+ <zeroOrMore>
+ <element name='vendor'>
+ <optional>
+ <attribute name='xml:lang'>
+ <text/>
+ </attribute>
+ </optional>
+ <text/>
+ </element>
+ </zeroOrMore>
+ <optional>
+ <element name='vendor-id'>
+ <ref name='hexid'/>
+ </element>
+ </optional>
+ <optional>
+ <element name='product'>
+ <text/>
+ </element>
+ </optional>
+ <optional>
+ <element name='product-id'>
+ <choice>
+ <ref name='hexid'/>
+ <ref name='alpha'/>
+ </choice>
+ </element>
+ </optional>
+ <optional>
+ <element name='subsystem'>
+ <text/>
+ </element>
+ </optional>
+ </interleave>
+ </element>
+ </define>
+
+ <define name="product-attr">
+ <attribute name='id'>
+ <ref name='url'/>
+ </attribute>
+ </define>
+
+ <define name="product-content">
+ <interleave>
+ <oneOrMore>
+ <element name='vendor'>
+ <optional>
+ <attribute name='xml:lang'>
+ <text/>
+ </attribute>
+ </optional>
+ <text/>
+ </element>
+ </oneOrMore>
+ <oneOrMore>
+ <element name='name'>
+ <optional>
+ <attribute name='xml:lang'>
+ <text/>
+ </attribute>
+ </optional>
+ <text/>
+ </element>
+ </oneOrMore>
+ <oneOrMore>
+ <element name='short-id'>
+ <text/>
+ </element>
+ </oneOrMore>
+ <optional>
+ <element name='version'>
+ <text/>
+ </element>
+ </optional>
+ <optional>
+ <element name='codename'>
+ <text/>
+ </element>
+ </optional>
+ <optional>
+ <element name='family'>
+ <text/>
+ </element>
+ </optional>
+ <optional>
+ <element name='distro'>
+ <text/>
+ </element>
+ </optional>
+ </interleave>
+ </define>
+
+ <define name="product-dates">
+ <interleave>
+ <optional>
+ <element name='release-date'>
+ <ref name='date'/>
+ </element>
+ </optional>
+ <optional>
+ <element name='eol-date'>
+ <ref name='date'/>
+ </element>
+ </optional>
+ </interleave>
+ </define>
+
+ <define name="product-rel">
+ <interleave>
+ <zeroOrMore>
+ <element name="upgrades">
+ <attribute name='id'>
+ <ref name="url"/>
+ </attribute>
+ </element>
+ </zeroOrMore>
+ <zeroOrMore>
+ <element name="derives-from">
+ <attribute name='id'>
+ <ref name="url"/>
+ </attribute>
+ </element>
+ </zeroOrMore>
+ <optional>
+ <element name="clones">
+ <attribute name='id'>
+ <ref name="url"/>
+ </attribute>
+ </element>
+ </optional>
+ </interleave>
+ </define>
+
+ <define name='variant'>
+ <element name='variant'>
+ <attribute name='id'>
+ </attribute>
+ <oneOrMore>
+ <element name='name'>
+ <optional>
+ <attribute name='xml:lang'>
+ <text/>
+ </attribute>
+ </optional>
+ <text/>
+ </element>
+ </oneOrMore>
+ </element>
+ </define>
+
+ <define name='devices-rel'>
+ <element name='devices'>
+ <zeroOrMore>
+ <element name='device'>
+ <attribute name='id'>
+ <ref name='url'/>
+ </attribute>
+ <optional>
+ <attribute name='supported'>
+ <ref name='bool'/>
+ </attribute>
+ </optional>
+ <optional>
+ <element name='driver'>
+ <text/>
+ </element>
+ </optional>
+ </element>
+ </zeroOrMore>
+ </element>
+ </define>
+
+ <define name='resource-attr'>
+ <interleave>
+ <optional>
+ <element name='cpu'>
+ <ref name='num'/>
+ </element>
+ </optional>
+ <optional>
+ <element name='n-cpus'>
+ <ref name='num'/>
+ </element>
+ </optional>
+ <optional>
+ <element name='ram'>
+ <ref name='num'/>
+ </element>
+ </optional>
+ <optional>
+ <element name='storage'>
+ <ref name='num'/>
+ </element>
+ </optional>
+ </interleave>
+ </define>
+
+ <define name='resources'>
+ <element name='resources'>
+ <attribute name='arch'>
+ <ref name='archnamesorall'/>
+ </attribute>
+ <optional>
+ <attribute name='inherit'>
+ <ref name='bool'/>
+ </attribute>
+ </optional>
+ <interleave>
+ <optional>
+ <element name='network-install'>
+ <ref name='resource-attr'/>
+ </element>
+ </optional>
+ <optional>
+ <element name='minimum'>
+ <ref name='resource-attr'/>
+ </element>
+ </optional>
+ <optional>
+ <element name='recommended'>
+ <ref name='resource-attr'/>
+ </element>
+ </optional>
+ <optional>
+ <element name='maximum'>
+ <ref name='resource-attr'/>
+ </element>
+ </optional>
+ </interleave>
+ </element>
+ </define>
+
+ <define name='iso'>
+ <element name='iso'>
+ <interleave>
+ <optional>
+ <element name='volume-id'>
+ <text/>
+ </element>
+ </optional>
+ <optional>
+ <element name='publisher-id'>
+ <text/>
+ </element>
+ </optional>
+ <optional>
+ <element name='application-id'>
+ <text/>
+ </element>
+ </optional>
+ <optional>
+ <element name='system-id'>
+ <text/>
+ </element>
+ </optional>
+ <optional>
+ <element name='volume-size'>
+ <ref name='num'/>
+ </element>
+ </optional>
+ <zeroOrMore>
+ <ref name='media-lang'/>
+ </zeroOrMore>
+ </interleave>
+ </element>
+ </define>
+
+ <define name='media'>
+ <element name='media'>
+ <attribute name='arch'>
+ <ref name='archnamesorall'/>
+ </attribute>
+ <optional>
+ <attribute name="live">
+ <ref name='bool'/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="installer">
+ <ref name='bool'/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name='installer-script'>
+ <ref name='bool'/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name='installer-reboots'>
+ <ref name='num'/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name='eject-after-install'>
+ <ref name='bool'/>
+ </attribute>
+ </optional>
+ <interleave>
+ <optional>
+ <element name='variant'>
+ <attribute name='id'>
+ </attribute>
+ </element>
+ </optional>
+ <optional>
+ <element name='url'>
+ <ref name='url'/>
+ </element>
+ </optional>
+ <optional>
+ <ref name='iso'/>
+ </optional>
+ <optional>
+ <element name='initrd'>
+ <text/>
+ </element>
+ </optional>
+ <optional>
+ <element name='kernel'>
+ <text/>
+ </element>
+ </optional>
+ <optional>
+ <zeroOrMore>
+ <ref name='installer'/>
+ </zeroOrMore>
+ </optional>
+ </interleave>
+ </element>
+ </define>
+
+ <define name='media-lang'>
+ <element name='l10n-language'>
+ <optional>
+ <attribute name="regex">
+ <ref name='bool'/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="l10n-language-map">
+ <ref name='url'/>
+ </attribute>
+ </optional>
+ <text/>
+ </element>
+ </define>
+
+ <define name='treeinfo'>
+ <element name='treeinfo'>
+ <interleave>
+ <optional>
+ <element name='family'>
+ <text/>
+ </element>
+ </optional>
+ <optional>
+ <element name='variant'>
+ <text/>
+ </element>
+ </optional>
+ <optional>
+ <element name='version'>
+ <text/>
+ </element>
+ </optional>
+ <optional>
+ <element name='arch'>
+ <text/>
+ </element>
+ </optional>
+ </interleave>
+ </element>
+ </define>
+
+ <define name='tree'>
+ <element name='tree'>
+ <attribute name='arch'>
+ <ref name='archnamesorall'/>
+ </attribute>
+ <interleave>
+ <optional>
+ <element name='variant'>
+ <attribute name='id'>
+ </attribute>
+ </element>
+ </optional>
+ <optional>
+ <element name='url'>
+ <ref name='url'/>
+ </element>
+ </optional>
+ <optional>
+ <ref name='treeinfo'/>
+ </optional>
+ <optional>
+ <element name='initrd'>
+ <text/>
+ </element>
+ </optional>
+ <optional>
+ <element name='kernel'>
+ <text/>
+ </element>
+ </optional>
+ <optional>
+ <element name='boot-iso'>
+ <text/>
+ </element>
+ </optional>
+ </interleave>
+ </element>
+ </define>
+
+ <define name='image'>
+ <element name='image'>
+ <attribute name='arch'>
+ <ref name='archnames'/>
+ </attribute>
+ <attribute name='format'>
+ <ref name='imageformats'/>
+ </attribute>
+ <optional>
+ <attribute name='cloud-init'>
+ <ref name='bool'/>
+ </attribute>
+ </optional>
+ <interleave>
+ <optional>
+ <element name='variant'>
+ <attribute name='id'>
+ </attribute>
+ </element>
+ </optional>
+ <optional>
+ <element name='url'>
+ <ref name='url'/>
+ </element>
+ </optional>
+ </interleave>
+ </element>
+ </define>
+
+ <define name='installer'>
+ <element name='installer'>
+ <zeroOrMore>
+ <element name="script">
+ <attribute name='id'>
+ <ref name='url'/>
+ </attribute>
+ </element>
+ </zeroOrMore>
+ </element>
+ </define>
+
+ <define name='driver'>
+ <element name='driver'>
+ <attribute name='arch'>
+ <ref name='archnames'/>
+ </attribute>
+ <attribute name='location'>
+ <text/>
+ </attribute>
+ <optional>
+ <attribute name="pre-installable">
+ <ref name='bool'/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="signed">
+ <ref name='bool'/>
+ </attribute>
+ </optional>
+ <optional>
+ <attribute name="priority">
+ <ref name='num'/>
+ </attribute>
+ </optional>
+ <interleave>
+ <zeroOrMore>
+ <element name='file'>
+ <text/>
+ </element>
+ </zeroOrMore>
+ <oneOrMore>
+ <element name='device'>
+ <attribute name='id'>
+ <ref name='url'/>
+ </attribute>
+ </element>
+ </oneOrMore>
+ </interleave>
+ </element>
+ </define>
+
+ <define name='firmware'>
+ <element name='firmware'>
+ <attribute name='arch'>
+ <ref name='archnames'/>
+ </attribute>
+ <attribute name='type'>
+ <ref name='firmware-types'/>
+ </attribute>
+ <optional>
+ <attribute name='supported'>
+ <ref name='bool'/>
+ </attribute>
+ </optional>
+ </element>
+ </define>
+
+ <define name='os'>
+ <element name='os'>
+ <interleave>
+ <ref name='product-attr'/>
+ <ref name='product-content'/>
+ <ref name='product-dates'/>
+ <ref name='product-rel'/>
+ <optional>
+ <ref name='devices-rel'/>
+ </optional>
+ <optional>
+ <ref name='release-status'/>
+ </optional>
+ <zeroOrMore>
+ <ref name='variant'/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name='resources'/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name='media'/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name='tree'/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name='image'/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name='installer'/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name='driver'/>
+ </zeroOrMore>
+ <zeroOrMore>
+ <ref name='firmware'/>
+ </zeroOrMore>
+ <optional>
+ <element name="kernel-url-argument">
+ <text/>
+ </element>
+ </optional>
+ <optional>
+ <element name="cloud-image-username">
+ <text/>
+ </element>
+ </optional>
+ </interleave>
+ </element>
+ </define>
+
+ <define name='platform'>
+ <element name='platform'>
+ <interleave>
+ <ref name='product-attr'/>
+ <ref name='product-content'/>
+ <ref name='product-dates'/>
+ <ref name='product-rel'/>
+ <optional>
+ <ref name='devices-rel'/>
+ </optional>
+ </interleave>
+ </element>
+ </define>
+
+ <define name='deployment'>
+ <element name='deployment'>
+ <attribute name='id'>
+ <ref name='url'/>
+ </attribute>
+ <interleave>
+ <element name='os'>
+ <attribute name='id'>
+ <ref name='url'/>
+ </attribute>
+ </element>
+ <element name='platform'>
+ <attribute name='id'>
+ <ref name='url'/>
+ </attribute>
+ </element>
+ <ref name='devices-rel'/>
+ </interleave>
+ </element>
+ </define>
+
+ <define name='install-script'>
+ <element name='install-script'>
+ <interleave>
+ <element name='profile'>
+ <text/>
+ </element>
+ <optional>
+ <element name='path-format'>
+ <ref name='path-formats'/>
+ </element>
+ </optional>
+ <optional>
+ <element name='expected-filename'>
+ <text/>
+ </element>
+ </optional>
+ <optional>
+ <ref name='avatar-format'/>
+ </optional>
+ <optional>
+ <element name='config'>
+ <oneOrMore>
+ <element name='param'>
+ <attribute name="name"/>
+ <attribute name="policy">
+ <ref name='policies'/>
+ </attribute>
+ <optional>
+ <attribute name="value-map"/>
+ </optional>
+ </element>
+ </oneOrMore>
+ </element>
+ </optional>
+ <optional>
+ <element name='product-key-format'>
+ <text/>
+ </element>
+ </optional>
+ <optional>
+ <element name='needs-internet'>
+ <ref name='bool'/>
+ </element>
+ </optional>
+ <optional>
+ <element name='can-pre-install-drivers'>
+ <ref name='bool'/>
+ </element>
+ </optional>
+ <optional>
+ <element name='pre-install-drivers-signing-req'>
+ <ref name='driver-signing-reqs'/>
+ </element>
+ </optional>
+ <optional>
+ <element name='can-post-install-drivers'>
+ <ref name='bool'/>
+ </element>
+ </optional>
+ <optional>
+ <element name='post-install-drivers-signing-req'>
+ <ref name='driver-signing-reqs'/>
+ </element>
+ </optional>
+ <zeroOrMore>
+ <ref name='injection-method'/>
+ </zeroOrMore>
+ <element name='template'>
+ <choice>
+ <group>
+ <attribute name="uri"/>
+ <empty/>
+ </group>
+ <ref name="customElement"/>
+ </choice>
+ </element>
+ <ref name='product-attr'/>
+ <ref name='product-rel'/>
+ </interleave>
+ </element>
+ </define>
+
+ <define name='avatar-format'>
+ <element name='avatar-format'>
+ <interleave>
+ <oneOrMore>
+ <element name="mime-type">
+ <text/>
+ </element>
+ </oneOrMore>
+ <optional>
+ <element name="width">
+ <ref name='num'/>
+ </element>
+ </optional>
+ <optional>
+ <element name="height">
+ <ref name='num'/>
+ </element>
+ </optional>
+ <optional>
+ <element name="alpha">
+ <ref name='bool'/>
+ </element>
+ </optional>
+ </interleave>
+ </element>
+ </define>
+
+ <define name="customElement">
+ <element>
+ <anyName/>
+ <zeroOrMore>
+ <choice>
+ <attribute>
+ <anyName/>
+ </attribute>
+ <text/>
+ <ref name="customElement"/>
+ </choice>
+ </zeroOrMore>
+ </element>
+ </define>
+
+ <define name='archnamesorall'>
+ <choice>
+ <value>all</value>
+ <ref name='archnames'/>
+ </choice>
+ </define>
+ <define name='archnames'>
+ <choice>
+ <value>aarch64</value>
+ <value>alpha</value>
+ <value>armv7l</value>
+ <value>cris</value>
+ <value>i686</value>
+ <value>ia64</value>
+ <value>lm32</value>
+ <value>m68k</value>
+ <value>microblaze</value>
+ <value>microblazeel</value>
+ <value>mips</value>
+ <value>mipsel</value>
+ <value>mips64</value>
+ <value>mips64el</value>
+ <value>openrisc</value>
+ <value>parisc</value>
+ <value>parisc64</value>
+ <value>ppc</value>
+ <value>ppc64</value>
+ <value>ppc64le</value>
+ <value>ppcemb</value>
+ <value>s390</value>
+ <value>s390x</value>
+ <value>sh4</value>
+ <value>sh4eb</value>
+ <value>sparc</value>
+ <value>sparc64</value>
+ <value>unicore32</value>
+ <value>x86_64</value>
+ <value>xtensa</value>
+ <value>xtensaeb</value>
+ </choice>
+ </define>
+
+ <define name='imageformats'>
+ <choice>
+ <value>qcow2</value>
+ <value>raw</value>
+ <value>vhdx</value>
+ <value>vmdk</value>
+ </choice>
+ </define>
+
+ <define name='date'>
+ <data type="string">
+ <param name="pattern">[0-9]{4}-[0-9]{2}-[0-9]{2}</param>
+ </data>
+ </define>
+
+ <define name='hexid'>
+ <data type="string">
+ <param name="pattern">[0-9a-fA-F]+</param>
+ </data>
+ </define>
+
+ <define name='alpha'>
+ <data type="string">
+ <param name="pattern">[a-zA-Z]+</param>
+ </data>
+ </define>
+
+ <define name='bool'>
+ <choice>
+ <data type='string'>
+ <param name='pattern'>true|false</param>
+ </data>
+ <empty/>
+ </choice>
+ </define>
+
+ <define name='num'>
+ <data type="string">
+ <param name="pattern">[0-9]+</param>
+ </data>
+ </define>
+
+ <define name='url'>
+ <data type="string">
+ <param name="pattern">\w+://.*</param>
+ </data>
+ </define>
+
+ <define name='policies'>
+ <data type="string">
+ <param name="pattern">required|optional</param>
+ </data>
+ </define>
+
+ <define name='path-formats'>
+ <data type="string">
+ <param name="pattern">dos|unix</param>
+ </data>
+ </define>
+ <define name='driver-signing-reqs'>
+ <data type="string">
+ <param name="pattern">strict|warn|none</param>
+ </data>
+ </define>
+
+ <define name='release-status'>
+ <element name='release-status'>
+ <data type="string">
+ <param name="pattern">snapshot|prerelease|released|rolling</param>
+ </data>
+ </element>
+ </define>
+
+ <define name='injection-method'>
+ <element name='injection-method'>
+ <data type="string">
+ <param name="pattern">cdrom|disk|floppy|initrd|web</param>
+ </data>
+ </element>
+ </define>
+
+ <define name='firmware-types'>
+ <choice>
+ <value>bios</value>
+ <value>efi</value>
+ </choice>
+ </define>
+</grammar>