The 'osxen' RNG type defines options for the <os> element in certain modes. Allow interleaving of subelements recursively. Signed-off-by: Peter Krempa <pkrempa@xxxxxxxxxx> --- src/conf/schemas/domaincommon.rng | 40 +++++++++++++++++++------------ 1 file changed, 25 insertions(+), 15 deletions(-) diff --git a/src/conf/schemas/domaincommon.rng b/src/conf/schemas/domaincommon.rng index f966285641..765306f094 100644 --- a/src/conf/schemas/domaincommon.rng +++ b/src/conf/schemas/domaincommon.rng @@ -257,30 +257,40 @@ <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> + <interleave> + <optional> + <ref name="bootloader"/> + </optional> <element name="os"> - <ref name="ostypexen"/> - <optional> + <interleave> + <ref name="ostypexen"/> <ref name="osbootkernel"/> - </optional> + </interleave> </element> - </optional> + </interleave> + </group> + <group> + <interleave> + <ref name="bootloader"/> + <optional> + <element name="os"> + <interleave> + <ref name="ostypexen"/> + <optional> + <ref name="osbootkernel"/> + </optional> + </interleave> + </element> + </optional> + </interleave> </group> </choice> </define> + <define name="oshvm"> <interleave> <optional> -- 2.39.1