[PATCH 2/6] schema: domain: Allow interleaving of elements in 'osxen' definition

Peter Krempa pkrempa at redhat.com
Wed Feb 1 16:03:49 UTC 2023


The 'osxen' RNG type defines options for the <os> element in certain
modes. Allow interleaving of subelements recursively.

Signed-off-by: Peter Krempa <pkrempa at redhat.com>
---
 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



More information about the libvir-list mailing list