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

New commits:
commit 9e13361a61d773caff45b99301df771ea76d545a
Author:     Michael Stahl <[email protected]>
AuthorDate: Wed Sep 10 10:51:18 2025 +0200
Commit:     Adolfo Jayme Barrientos <[email protected]>
CommitDate: Wed Sep 10 19:02:10 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
    (cherry picked from commit e21f78274d9620b05f43a520b3922a375b271a12)
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/190771
    Reviewed-by: Adolfo Jayme Barrientos <[email protected]>

diff --git a/schema/libreoffice/OpenDocument-v1.4+libreoffice-schema.rng 
b/schema/libreoffice/OpenDocument-v1.4+libreoffice-schema.rng
index 0ecec12dad0f..62e6d2b3090f 100644
--- a/schema/libreoffice/OpenDocument-v1.4+libreoffice-schema.rng
+++ b/schema/libreoffice/OpenDocument-v1.4+libreoffice-schema.rng
@@ -4140,10 +4140,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