summaryrefslogtreecommitdiff
path: root/test/relaxng/libvirt.rng
diff options
context:
space:
mode:
Diffstat (limited to 'test/relaxng/libvirt.rng')
-rw-r--r--test/relaxng/libvirt.rng1258
1 files changed, 0 insertions, 1258 deletions
diff --git a/test/relaxng/libvirt.rng b/test/relaxng/libvirt.rng
deleted file mode 100644
index c1f586e..0000000
--- a/test/relaxng/libvirt.rng
+++ /dev/null
@@ -1,1258 +0,0 @@
-<?xml version="1.0"?>
-<grammar xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
- <!-- We handle only document defining a domain -->
- <start>
- <ref name="domain"/>
- </start>
-
- <!--
- We handle only document defining a domain
- -->
- <define name="domain">
- <element name="domain">
- <ref name="hvs"/>
- <ref name="ids"/>
- <interleave>
- <ref name="os"/>
- <ref name="clock"/>
- <ref name="resources"/>
- <ref name="features"/>
- <ref name="termination"/>
- <optional>
- <ref name="devices"/>
- </optional>
- <optional>
- <ref name="seclabel"/>
- </optional>
- </interleave>
- </element>
- </define>
- <define name="seclabel">
- <element name="seclabel">
- <attribute name="model">
- <text/>
- </attribute>
- <attribute name="type">
- <choice>
- <value>dynamic</value>
- <value>static</value>
- </choice>
- </attribute>
- <element name="label">
- <text/>
- </element>
- </element>
- </define>
- <define name="hvs">
- <attribute name="type">
- <choice>
- <value>xen</value>
- <value>kvm</value>
- <value>kqemu</value>
- <value>qemu</value>
- <value>lxc</value>
- <value>openvz</value>
- <value>test</value>
- </choice>
- </attribute>
- </define>
- <define name="os">
- <choice>
- <ref name="osxen"/>
- <ref name="oshvm"/>
- <ref name="osexe"/>
- </choice>
- </define>
- <define name="osxen">
- <choice>
- <group>
- <optional>
- <ref name="bootloader"/>
- </optional>
- <element name="os">
- <ref name="ostypexen"/>
- <ref name="osbootkernel"/>
- </element>
- </group>
- <group>
- <ref name="bootloader"/>
- <optional>
- <element name="os">
- <ref name="ostypexen"/>
- <optional>
- <ref name="osbootkernel"/>
- </optional>
- </element>
- </optional>
- </group>
- </choice>
- </define>
- <define name="oshvm">
- <element name="os">
- <ref name="ostypehvm"/>
- <interleave>
- <optional>
- <element name="loader">
- <ref name="absFilePath"/>
- </element>
- </optional>
- <choice>
- <ref name="osbootkernel"/>
- <ref name="osbootdev"/>
- </choice>
- </interleave>
- </element>
- </define>
- <define name="ostypexen">
- <element name="type">
- <optional>
- <attribute name="arch">
- <choice>
- <value>i686</value>
- <value>x86_64</value>
- <value>ia64</value>
- </choice>
- </attribute>
- </optional>
- <optional>
- <attribute name="machine">
- <choice>
- <value>xenpv</value>
- <value>xenner</value>
- </choice>
- </attribute>
- </optional>
- <choice>
- <value>xen</value>
- <value>linux</value>
- </choice>
- </element>
- </define>
- <define name="ostypehvm">
- <element name="type">
- <optional>
- <choice>
- <ref name="hvmx86"/>
- <ref name="hvmmips"/>
- <ref name="hvmsparc"/>
- <ref name="hvmppc"/>
- </choice>
- </optional>
- <value>hvm</value>
- </element>
- </define>
- <define name="hvmx86">
- <group>
- <attribute name="arch">
- <choice>
- <value>i686</value>
- <value>x86_64</value>
- </choice>
- </attribute>
- <attribute name="machine">
- <choice>
- <value>xenfv</value>
- <value>pc</value>
- <value>isapc</value>
- </choice>
- </attribute>
- </group>
- </define>
- <define name="hvmmips">
- <group>
- <attribute name="arch">
- <value>mips</value>
- </attribute>
- <attribute name="machine">
- <value>mips</value>
- </attribute>
- </group>
- </define>
- <define name="hvmsparc">
- <group>
- <attribute name="arch">
- <value>sparc</value>
- </attribute>
- <attribute name="machine">
- <value>sun4m</value>
- </attribute>
- </group>
- </define>
- <define name="hvmppc">
- <group>
- <attribute name="arch">
- <value>ppc</value>
- </attribute>
- <attribute name="machine">
- <choice>
- <value>g3beige</value>
- <value>mac99</value>
- <value>prep</value>
- </choice>
- </attribute>
- </group>
- </define>
- <define name="osexe">
- <element name="os">
- <element name="type">
- <value>exe</value>
- </element>
- <interleave>
- <optional>
- <element name="init">
- <ref name="absFilePath"/>
- </element>
- </optional>
- </interleave>
- </element>
- </define>
- <!--
- The Identifiers can be:
- - an optional id attribute with a number on the domain element
- - a mandatory name
- - an optional uuid
- -->
- <define name="ids">
- <optional>
- <attribute name="id">
- <ref name="unsignedInt"/>
- </attribute>
- </optional>
- <interleave>
- <element name="name">
- <ref name="domainName"/>
- </element>
- <optional>
- <element name="uuid">
- <ref name="UUID"/>
- </element>
- </optional>
- </interleave>
- </define>
- <!--
- Resources usage defines the amount of memory (maximum and possibly
- current usage) and number of virtual CPUs used by that domain.
- We can't check here the rule that currentMemory <= memory
- -->
- <define name="resources">
- <interleave>
- <element name="memory">
- <ref name="memoryKB"/>
- </element>
- <optional>
- <element name="currentMemory">
- <ref name="memoryKB"/>
- </element>
- </optional>
- <optional>
- <element name="memoryBacking">
- <optional>
- <element name="hugepages">
- <empty/>
- </element>
- </optional>
- </element>
- </optional>
- <optional>
- <element name="vcpu">
- <optional>
- <attribute name="cpuset"/>
- </optional>
- <ref name="countCPU"/>
- </element>
- </optional>
- </interleave>
- </define>
- <define name="clock">
- <optional>
- <element name="clock">
- <attribute name="offset">
- <choice>
- <value>localtime</value>
- <value>utc</value>
- </choice>
- </attribute>
- <empty/>
- </element>
- </optional>
- </define>
- <!--
- A bootloader may be used to extract the OS information instead of
- defining the OS parameter in the instance. It points just to the
- binary or script used to extract the data from the first disk device.
- -->
- <define name="bootloader">
- <interleave>
- <element name="bootloader">
- <choice>
- <ref name="absFilePath"/>
- <empty/>
- </choice>
- </element>
- <optional>
- <element name="bootloader_args">
- <text/>
- </element>
- </optional>
- </interleave>
- </define>
- <define name="osbootkernel">
- <interleave>
- <element name="kernel">
- <ref name="absFilePath"/>
- </element>
- <optional>
- <element name="initrd">
- <ref name="absFilePath"/>
- </element>
- </optional>
- <optional>
- <element name="root">
- <ref name="devicePath"/>
- </element>
- </optional>
- <optional>
- <element name="cmdline">
- <text/>
- </element>
- </optional>
- </interleave>
- </define>
- <define name="osbootdev">
- <element name="boot">
- <attribute name="dev">
- <choice>
- <value>hd</value>
- <value>fd</value>
- <value>cdrom</value>
- <value>network</value>
- </choice>
- </attribute>
- <empty/>
- </element>
- </define>
- <define name="diskspec">
- <optional>
- <ref name="driver"/>
- </optional>
- <ref name="target"/>
- <optional>
- <element name="readonly">
- <empty/>
- </element>
- </optional>
- <optional>
- <element name="shareable">
- <empty/>
- </element>
- </optional>
- <optional>
- <element name="serial">
- <ref name="diskSerial"/>
- </element>
- </optional>
- </define>
- <!--
- A disk description can be either of type file or block
- The name of the attribute on the source element depends on the type
-
- -->
- <define name="disk">
- <element name="disk">
- <optional>
- <attribute name="device">
- <choice>
- <value>floppy</value>
- <value>disk</value>
- <value>cdrom</value>
- </choice>
- </attribute>
- </optional>
- <choice>
- <group>
- <attribute name="type">
- <value>file</value>
- </attribute>
- <interleave>
- <optional>
- <element name="source">
- <attribute name="file">
- <ref name="absFilePath"/>
- </attribute>
- <empty/>
- </element>
- </optional>
- <ref name="diskspec"/>
- </interleave>
- </group>
- <group>
- <attribute name="type">
- <value>block</value>
- </attribute>
- <interleave>
- <optional>
- <element name="source">
- <attribute name="dev">
- <ref name="deviceName"/>
- </attribute>
- <empty/>
- </element>
- </optional>
- <ref name="diskspec"/>
- </interleave>
- </group>
- <ref name="diskspec"/>
- </choice>
- </element>
- </define>
- <define name="target">
- <element name="target">
- <attribute name="dev">
- <ref name="deviceName"/>
- </attribute>
- <optional>
- <attribute name="bus">
- <choice>
- <value>ide</value>
- <value>fdc</value>
- <value>scsi</value>
- <value>virtio</value>
- <value>xen</value>
- <value>usb</value>
- <value>uml</value>
- </choice>
- </attribute>
- </optional>
- </element>
- </define>
- <!--
- Disk may use a special driver for access. Currently this is
- only defined for Xen for tap/aio and file, but will certainly be
- extended in the future, and libvirt doesn't look for specific values.
- -->
- <define name="driver">
- <element name="driver">
- <choice>
- <group>
- <ref name="driverFormat"/>
- <optional>
- <ref name="driverCache"/>
- </optional>
- </group>
- <group>
- <optional>
- <ref name="driverFormat"/>
- </optional>
- <ref name="driverCache"/>
- </group>
- </choice>
- <empty/>
- </element>
- </define>
- <define name="driverFormat">
- <attribute name="name">
- <ref name="genericName"/>
- </attribute>
- <optional>
- <attribute name="type">
- <ref name="genericName"/>
- </attribute>
- </optional>
- </define>
- <define name="driverCache">
- <attribute name="cache">
- <choice>
- <value>none</value>
- <value>writeback</value>
- <value>writethrough</value>
- </choice>
- </attribute>
- </define>
- <define name="filesystem">
- <element name="filesystem">
- <choice>
- <group>
- <attribute name="type">
- <value>file</value>
- </attribute>
- <interleave>
- <element name="source">
- <attribute name="file">
- <ref name="absFilePath"/>
- </attribute>
- <empty/>
- </element>
- <ref name="filesystemtgt"/>
- </interleave>
- </group>
- <group>
- <attribute name="type">
- <value>block</value>
- </attribute>
- <interleave>
- <element name="source">
- <attribute name="dev">
- <ref name="deviceName"/>
- </attribute>
- <empty/>
- </element>
- <ref name="filesystemtgt"/>
- </interleave>
- </group>
- <group>
- <attribute name="type">
- <value>mount</value>
- </attribute>
- <interleave>
- <element name="source">
- <attribute name="dir">
- <ref name="absFilePath"/>
- </attribute>
- <empty/>
- </element>
- <ref name="filesystemtgt"/>
- </interleave>
- </group>
- <group>
- <attribute name="type">
- <value>template</value>
- </attribute>
- <interleave>
- <element name="source">
- <attribute name="name">
- <ref name="genericName"/>
- </attribute>
- <empty/>
- </element>
- <ref name="filesystemtgt"/>
- </interleave>
- </group>
- </choice>
- </element>
- </define>
- <define name="filesystemtgt">
- <element name="target">
- <attribute name="dir">
- <ref name="absDirPath"/>
- </attribute>
- <empty/>
- </element>
- </define>
- <!--
- An interface description can either be of type bridge in which case
- it will use a bridging source, or of type ethernet which uses a device
- source and a device target instead. They both share a set of interface
- options. FIXME
- -->
- <define name="interface">
- <element name="interface">
- <choice>
- <group>
- <attribute name="type">
- <value>bridge</value>
- </attribute>
- <interleave>
- <optional>
- <element name="source">
- <attribute name="bridge">
- <ref name="deviceName"/>
- </attribute>
- <empty/>
- </element>
- </optional>
- <ref name="interface-options"/>
- </interleave>
- </group>
- <group>
- <attribute name="type">
- <value>ethernet</value>
- </attribute>
- <interleave>
- <optional>
- <element name="source">
- <attribute name="dev">
- <ref name="deviceName"/>
- </attribute>
- <empty/>
- </element>
- </optional>
- <ref name="interface-options"/>
- </interleave>
- </group>
- <group>
- <attribute name="type">
- <value>network</value>
- </attribute>
- <interleave>
- <element name="source">
- <attribute name="network">
- <ref name="deviceName"/>
- </attribute>
- <empty/>
- </element>
- <ref name="interface-options"/>
- </interleave>
- </group>
- <group>
- <attribute name="type">
- <value>user</value>
- </attribute>
- <interleave>
- <ref name="interface-options"/>
- </interleave>
- </group>
- <group>
- <attribute name="type">
- <value>internal</value>
- </attribute>
- <interleave>
- <element name="source">
- <attribute name="name">
- <ref name="deviceName"/>
- </attribute>
- <empty/>
- </element>
- <ref name="interface-options"/>
- </interleave>
- </group>
- </choice>
- </element>
- </define>
- <!--
- The interface options possible are:
- - the MAC address
- - the IP address bound to the interface
- - the name of the script used to set up the binding
- - the target device used
- -->
- <define name="interface-options">
- <interleave>
- <optional>
- <element name="target">
- <attribute name="dev">
- <ref name="deviceName"/>
- </attribute>
- <empty/>
- </element>
- </optional>
- <optional>
- <element name="mac">
- <attribute name="address">
- <ref name="addrMAC"/>
- </attribute>
- <empty/>
- </element>
- </optional>
- <optional>
- <element name="ip">
- <attribute name="address">
- <ref name="addrIP"/>
- </attribute>
- <empty/>
- </element>
- </optional>
- <optional>
- <element name="script">
- <attribute name="path">
- <ref name="filePath"/>
- </attribute>
- <empty/>
- </element>
- </optional>
- <optional>
- <element name="model">
- <attribute name="type"/>
- <empty/>
- </element>
- </optional>
- </interleave>
- </define>
- <!--
- An emulator description is just a path to the binary used for the task
- -->
- <define name="emulator">
- <element name="emulator">
- <ref name="absFilePath"/>
- </element>
- </define>
- <!--
- A graphic description, currently in Xen only 2 types are supported:
- - sdl with optional display, xauth and fullscreen
- - vnc with a required port and optional listen IP address, password
- and keymap
- -->
- <define name="graphic">
- <element name="graphics">
- <choice>
- <group>
- <attribute name="type">
- <value>sdl</value>
- </attribute>
- <optional>
- <attribute name="display">
- <text/>
- </attribute>
- </optional>
- <optional>
- <attribute name="xauth">
- <text/>
- </attribute>
- </optional>
- <optional>
- <attribute name="fullscreen">
- <choice>
- <value>yes</value>
- <value>no</value>
- </choice>
- </attribute>
- </optional>
- </group>
- <group>
- <attribute name="type">
- <value>vnc</value>
- </attribute>
- <optional>
- <attribute name="port">
- <ref name="PortNumber"/>
- </attribute>
- </optional>
- <optional>
- <attribute name="autoport">
- <choice>
- <value>yes</value>
- <value>no</value>
- </choice>
- </attribute>
- </optional>
- <optional>
- <attribute name="listen">
- <ref name="addrIP"/>
- </attribute>
- </optional>
- <optional>
- <attribute name="passwd">
- <text/>
- </attribute>
- </optional>
- <optional>
- <attribute name="keymap">
- <text/>
- </attribute>
- </optional>
- </group>
- <group>
- <attribute name="type">
- <value>rdp</value>
- </attribute>
- <optional>
- <attribute name="port">
- <ref name="PortNumber"/>
- </attribute>
- </optional>
- <optional>
- <attribute name="autoport">
- <choice>
- <value>yes</value>
- <value>no</value>
- </choice>
- </attribute>
- </optional>
- <optional>
- <attribute name="replaceUser">
- <choice>
- <value>yes</value>
- <value>no</value>
- </choice>
- </attribute>
- </optional>
- <optional>
- <attribute name="multiUser">
- <choice>
- <value>yes</value>
- <value>no</value>
- </choice>
- </attribute>
- </optional>
- <optional>
- <attribute name="listen">
- <ref name="addrIP"/>
- </attribute>
- </optional>
- </group>
- <group>
- <attribute name="type">
- <value>desktop</value>
- </attribute>
- <optional>
- <attribute name="display">
- <text/>
- </attribute>
- </optional>
- <optional>
- <attribute name="fullscreen">
- <choice>
- <value>yes</value>
- <value>no</value>
- </choice>
- </attribute>
- </optional>
- </group>
- </choice>
- </element>
- </define>
- <!--
- A graphic description, currently in Xen only 2 types are supported:
- - sdl with optional display, xauth and fullscreen
- - vnc with a required port and optional listen IP address, password
- and keymap
- -->
- <define name="video">
- <element name="video">
- <optional>
- <element name="model">
- <attribute name="type">
- <choice>
- <value>vga</value>
- <value>cirrus</value>
- <value>vmvga</value>
- <value>xen</value>
- <value>vbox</value>
- </choice>
- </attribute>
- <optional>
- <attribute name="vram">
- <ref name="unsignedInt"/>
- </attribute>
- </optional>
- <optional>
- <attribute name="heads">
- <ref name="unsignedInt"/>
- </attribute>
- </optional>
- <optional>
- <element name="acceleration">
- <optional>
- <attribute name="accel3d">
- <choice>
- <value>yes</value>
- <value>no</value>
- </choice>
- </attribute>
- </optional>
- <optional>
- <attribute name="accel2d">
- <choice>
- <value>yes</value>
- <value>no</value>
- </choice>
- </attribute>
- </optional>
- </element>
- </optional>
- </element>
- </optional>
- </element>
- </define>
- <!--
- When a domain terminates multiple policies can be applied depending
- on how it ended:
- -->
- <define name="termination">
- <interleave>
- <optional>
- <element name="on_reboot">
- <ref name="offOptions"/>
- </element>
- </optional>
- <optional>
- <element name="on_poweroff">
- <ref name="offOptions"/>
- </element>
- </optional>
- <optional>
- <element name="on_crash">
- <ref name="offOptions"/>
- </element>
- </optional>
- </interleave>
- </define>
- <!--
- Options when a domain terminates:
- destroy: The domain is cleaned up
- restart: A new domain is started in place of the old one
- preserve: The domain will remain in memory until it is destroyed manually
- rename-restart: a variant of the previous one but where the old domain is
- renamed before being saved to allow a restart
- -->
- <define name="offOptions">
- <choice>
- <value>destroy</value>
- <value>restart</value>
- <value>preserve</value>
- <value>rename-restart</value>
- </choice>
- </define>
- <!--
- Specific setup for a qemu emulated character device. Note: this
- definition doesn't fully specify the constraints on this node.
- -->
- <define name="qemucdev">
- <attribute name="type">
- <choice>
- <value>dev</value>
- <value>file</value>
- <value>pipe</value>
- <value>unix</value>
- <value>tcp</value>
- <value>udp</value>
- <value>null</value>
- <value>stdio</value>
- <value>vc</value>
- <value>pty</value>
- </choice>
- </attribute>
- <interleave>
- <optional>
- <oneOrMore>
- <element name="source">
- <optional>
- <attribute name="mode"/>
- </optional>
- <optional>
- <attribute name="path"/>
- </optional>
- <optional>
- <attribute name="host"/>
- </optional>
- <optional>
- <attribute name="service"/>
- </optional>
- <optional>
- <attribute name="wiremode"/>
- </optional>
- </element>
- </oneOrMore>
- </optional>
- <optional>
- <element name="protocol">
- <optional>
- <attribute name="type"/>
- </optional>
- </element>
- </optional>
- <optional>
- <element name="target">
- <optional>
- <attribute name="port"/>
- </optional>
- </element>
- </optional>
- </interleave>
- </define>
- <!--
- The description for a console
- just a tty device
- -->
- <define name="console">
- <element name="console">
- <choice>
- <group>
- <optional>
- <attribute name="tty">
- <ref name="devicePath"/>
- </attribute>
- </optional>
- <empty/>
- </group>
- <ref name="qemucdev"/>
- </choice>
- </element>
- </define>
- <define name="sound">
- <element name="sound">
- <attribute name="model">
- <choice>
- <value>sb16</value>
- <value>es1370</value>
- <value>pcspk</value>
- <value>ac97</value>
- </choice>
- </attribute>
- </element>
- </define>
- <define name="parallel">
- <element name="parallel">
- <ref name="qemucdev"/>
- </element>
- </define>
- <define name="serial">
- <element name="serial">
- <ref name="qemucdev"/>
- </element>
- </define>
- <define name="input">
- <element name="input">
- <attribute name="type">
- <choice>
- <value>tablet</value>
- <value>mouse</value>
- </choice>
- </attribute>
- <optional>
- <attribute name="bus">
- <choice>
- <value>ps2</value>
- <value>usb</value>
- <value>xen</value>
- </choice>
- </attribute>
- </optional>
- </element>
- </define>
- <define name="hostdev">
- <element name="hostdev">
- <optional>
- <attribute name="mode">
- <choice>
- <value>subsystem</value>
- <value>capabilities</value>
- </choice>
- </attribute>
- <attribute name="type">
- <choice>
- <value>usb</value>
- <value>pci</value>
- </choice>
- </attribute>
- <attribute name="managed">
- <choice>
- <value>yes</value>
- <value>no</value>
- </choice>
- </attribute>
- </optional>
- <group>
- <element name="source">
- <choice>
- <ref name="usbproduct"/>
- <ref name="usbaddress"/>
- <ref name="pciaddress"/>
- </choice>
- </element>
- </group>
- </element>
- </define>
- <define name="usbproduct">
- <element name="vendor">
- <attribute name="id">
- <ref name="usbId"/>
- </attribute>
- </element>
- <element name="product">
- <attribute name="id">
- <ref name="usbId"/>
- </attribute>
- </element>
- </define>
- <define name="usbaddress">
- <element name="address">
- <attribute name="bus">
- <ref name="usbAddr"/>
- </attribute>
- <attribute name="device">
- <ref name="usbAddr"/>
- </attribute>
- </element>
- </define>
- <define name="pciaddress">
- <element name="address">
- <optional>
- <attribute name="domain">
- <ref name="pciDomain"/>
- </attribute>
- </optional>
- <attribute name="bus">
- <ref name="pciBus"/>
- </attribute>
- <attribute name="slot">
- <ref name="pciSlot"/>
- </attribute>
- <attribute name="function">
- <ref name="pciFunc"/>
- </attribute>
- </element>
- </define>
- <!--
- Devices attached to a domain.
- -->
- <define name="devices">
- <element name="devices">
- <interleave>
- <optional>
- <ref name="emulator"/>
- </optional>
- <zeroOrMore>
- <choice>
- <ref name="disk"/>
- <ref name="filesystem"/>
- <ref name="interface"/>
- <ref name="input"/>
- <ref name="sound"/>
- <ref name="hostdev"/>
- <ref name="graphic"/>
- <ref name="video"/>
- <ref name="console"/>
- <ref name="parallel"/>
- <ref name="serial"/>
- </choice>
- </zeroOrMore>
- </interleave>
- </element>
- </define>
- <!--
- A set of optional features: PAE, APIC and ACPI support
- -->
- <define name="features">
- <optional>
- <element name="features">
- <interleave>
- <optional>
- <element name="pae">
- <empty/>
- </element>
- </optional>
- <optional>
- <element name="apic">
- <empty/>
- </element>
- </optional>
- <optional>
- <element name="acpi">
- <empty/>
- </element>
- </optional>
- </interleave>
- </element>
- </optional>
- </define>
- <!--
- Type library
-
- Our unsignedInt doesn't allow a leading '+' in its lexical form
- A domain name shoul 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
- -->
- <define name="unsignedInt">
- <data type="unsignedInt">
- <param name="pattern">[0-9]+</param>
- </data>
- </define>
- <define name="countCPU">
- <data type="unsignedShort">
- <param name="pattern">[0-9]+</param>
- <param name="minInclusive">1</param>
- </data>
- </define>
- <define name="PortNumber">
- <data type="short">
- <param name="minInclusive">-1</param>
- </data>
- </define>
- <define name="memoryKB">
- <data type="unsignedInt">
- <param name="pattern">[0-9]+</param>
- <param name="minInclusive">4000</param>
- </data>
- </define>
- <define name="domainName">
- <data type="string">
- <param name="pattern">[A-Za-z0-9_\.\+\-&amp;:/]+</param>
- </data>
- </define>
- <define name="diskSerial">
- <data type="string">
- <param name="pattern">[A-Za-z0-9_\.\+\-]+</param>
- </data>
- </define>
- <define name="genericName">
- <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="filePath">
- <data type="string">
- <param name="pattern">[a-zA-Z0-9_\.\+\-&amp;/%]+</param>
- </data>
- </define>
- <define name="absFilePath">
- <data type="string">
- <param name="pattern">/[a-zA-Z0-9_\.\+\-&amp;/%]+</param>
- </data>
- </define>
- <define name="absDirPath">
- <data type="string">
- <param name="pattern">/[a-zA-Z0-9_\.\+\-&amp;/%]*</param>
- </data>
- </define>
- <define name="devicePath">
- <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="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="usbId">
- <data type="string">
- <param name="pattern">(0x)?[0-9a-fA-F]{1,4}</param>
- </data>
- </define>
- <define name="usbAddr">
- <data type="string">
- <param name="pattern">(0x)?[0-9a-fA-F]{1,3}</param>
- </data>
- </define>
- <define name="pciDomain">
- <data type="string">
- <param name="pattern">(0x)?[0-9a-fA-F]{1,4}</param>
- </data>
- </define>
- <define name="pciBus">
- <data type="string">
- <param name="pattern">(0x)?[0-9a-fA-F]{1,2}</param>
- </data>
- </define>
- <define name="pciSlot">
- <data type="string">
- <param name="pattern">(0x)?[0-1]?[0-9a-fA-F]</param>
- </data>
- </define>
- <define name="pciFunc">
- <data type="string">
- <param name="pattern">(0x)?[0-7]</param>
- </data>
- </define>
-</grammar>