
On 06/22/2018 07:24 AM, Han Han wrote:
For input,hub,redirdev devices, their sub-elements should be interleaved.
input device: interleave for <driver>, <alias>, <address> hub device: interleave for <alias>, <address> redirdev device: interleave for <source>, <alias>, <address>, <boot>
Signed-off-by: Han Han <hhan@redhat.com> --- docs/schemas/domaincommon.rng | 60 +++++++++++++++++++---------------- 1 file changed, 33 insertions(+), 27 deletions(-)
diff --git a/docs/schemas/domaincommon.rng b/docs/schemas/domaincommon.rng index 4a454dddb4..d262eb2b1b 100644 --- a/docs/schemas/domaincommon.rng +++ b/docs/schemas/domaincommon.rng @@ -4270,11 +4270,19 @@
<define name="input"> <element name="input"> - <optional> - <element name="driver"> - <ref name="virtioOptions"/> - </element> - </optional> + <interleave> + <optional> + <element name="driver"> + <ref name="virtioOptions"/> + </element> + </optional> + <optional> + <ref name="alias"/> + </optional> + <optional> + <ref name="address"/> + </optional> + </interleave> <choice> <group> <attribute name="type">
This is not that simple. In between these two hunks there's another possible element defined <source/> for this kind of <input/> device: <input type='passthrough' bus='virtio'> <driver iommu='on' ats='on'/> <source evdev='/dev/input/event1234'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x12' function='0x0'/> </input> What we need is to put the whole <element name="input"/> body into <interleave/>. Fixed, ACKed and pushed. Michal