diff options
Diffstat (limited to 'src/main/resources/libvirt/libosinfo/rng/osinfo.rng')
-rw-r--r-- | src/main/resources/libvirt/libosinfo/rng/osinfo.rng | 942 |
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> |