schema/libreoffice/OpenDocument-v1.4+libreoffice-schema.rng |   40 ++++++++++--
 1 file changed, 36 insertions(+), 4 deletions(-)

New commits:
commit e21f78274d9620b05f43a520b3922a375b271a12
Author:     Michael Stahl <[email protected]>
AuthorDate: Wed Sep 10 10:51:18 2025 +0200
Commit:     Miklos Vajna <[email protected]>
CommitDate: Wed Sep 10 16:04:40 2025 +0200

    tdf#166319 schema: limit change nesting to what is actually supported
    
    Change-Id: Ie574377ea9cdd90ed9261229abaca480b4010440
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/190738
    Reviewed-by: Miklos Vajna <[email protected]>
    Tested-by: Jenkins

diff --git a/schema/libreoffice/OpenDocument-v1.4+libreoffice-schema.rng 
b/schema/libreoffice/OpenDocument-v1.4+libreoffice-schema.rng
index 05bc58c52dc7..0721512cbf7b 100644
--- a/schema/libreoffice/OpenDocument-v1.4+libreoffice-schema.rng
+++ b/schema/libreoffice/OpenDocument-v1.4+libreoffice-schema.rng
@@ -4188,10 +4188,42 @@ 
xmlns:loext="urn:org:documentfoundation:names:experimental:office:xmlns:loext:1.
   <rng:define name="text-changed-region" combine="choice">
     <rng:element name="text:changed-region">
       <rng:ref name="text-changed-region-attr"/>
-      <rng:ref name="text-changed-region-content"/>
-      <rng:optional>
-        <rng:ref name="text-changed-region-content"/>
-      </rng:optional>
+      <rng:choice>
+        <rng:ref name="text-changed-region-content-insertion"/>
+        <rng:group>
+          <rng:ref name="text-changed-region-content-deletion"/>
+          <rng:optional>
+            <rng:ref name="text-changed-region-content-insertion"/>
+          </rng:optional>
+        </rng:group>
+        <rng:group>
+          <rng:ref name="text-changed-region-content-format-change"/>
+          <rng:optional>
+            <rng:choice>
+              <rng:ref name="text-changed-region-content-insertion"/>
+              <rng:ref name="text-changed-region-content-deletion"/>
+            </rng:choice>
+          </rng:optional>
+        </rng:group>
+      </rng:choice>
+    </rng:element>
+  </rng:define>
+  <rng:define name="text-changed-region-content-insertion">
+    <rng:element name="text:insertion">
+      <rng:ref name="office-change-info"/>
+    </rng:element>
+  </rng:define>
+  <rng:define name="text-changed-region-content-deletion">
+    <rng:element name="text:deletion">
+      <rng:ref name="office-change-info"/>
+      <rng:zeroOrMore>
+        <rng:ref name="text-content"/>
+      </rng:zeroOrMore>
+    </rng:element>
+  </rng:define>
+  <rng:define name="text-changed-region-content-format-change">
+    <rng:element name="text:format-change">
+      <rng:ref name="office-change-info"/>
     </rng:element>
   </rng:define>
 

Reply via email to