OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

office message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: OASIS-4110 draw:handle-position has wrong parameter order in case of polar handle-position


Hello members,

on last call I have volunteered to write a suggestion for this issue. Such is here attached.

The proposal introduces the new attributes draw:handle-positionXY, draw:handle-polar-radius and draw:handle-polar-angle.

I have grouped attributes which are only usable with polar-handles and have grouped attributes which are only usable with XY-handles. Exactly one of these two groups can be used.

For polar-handles the attribute draw:handle-polar is mandatory. It defines the pole of the polar coordinate system. For an XY-handle the new attribute draw:handle-positionXY is mandatory.

I have not removed the draw:handle-position attribute but have made it optional and I have deprecated it. That way it is possible that producers can write valid ODF 1.4 documents, which can be meaningful interpreted by ODF 1.3 consumers. That is needed for backward compatibility.

I have added a note to draw:handle-position section, why it is deprecated. Besides that I suggest to keep the current text there as it is and remove the attribute and text then in ODF 1.5.

Because the draw:handle-position attribute is now deprecated, I have copied the description and formal definition of the parameter to the <draw:handle> element. And I have added a description of the polar coordinate system there.

I hope it is early enough for you so that we can at least decide in next call, whether we want to go that way to solve the issue. Patrick, please add it to the agenda.

Kind regards,
Regina



--- OpenDocument-v1.3-schema_ODF13.rng	2021-04-27 18:00:00.000000000 +0200
+++ OpenDocument-v1.3-schema_OASIS_4110_v2.rng	2022-11-09 14:18:47.760253200 +0100
@@ -5190,10 +5190,62 @@
       <rng:empty/>
     </rng:element>
   </rng:define>
   <rng:define name="draw-handle-attlist">
     <rng:interleave>
+      <rng:choice>
+        <rng:group> <!-- XY-handle -->
+          <rng:attribute name="draw:handle-positionXY">
+            <rng:ref name="string"/>
+          </rng:attribute>
+          <rng:optional>
+            <rng:attribute name="draw:handle-range-x-minimum">
+              <rng:ref name="string"/>
+            </rng:attribute>
+          </rng:optional>
+          <rng:optional>
+            <rng:attribute name="draw:handle-range-x-maximum">
+              <rng:ref name="string"/>
+            </rng:attribute>
+          </rng:optional>
+          <rng:optional>
+            <rng:attribute name="draw:handle-range-y-minimum">
+              <rng:ref name="string"/>
+            </rng:attribute>
+          </rng:optional>
+          <rng:optional>
+            <rng:attribute name="draw:handle-range-y-maximum">
+              <rng:ref name="string"/>
+            </rng:attribute>
+          </rng:optional>
+        </rng:group>
+        <rng:group> <!-- polar handle -->
+          <rng:attribute name="draw:handle-polar">
+            <rng:ref name="string"/>
+          </rng:attribute>
+          <rng:optional>
+            <rng:attribute name="draw:handle-polar-radius">
+              <rng:ref name="string"/>
+            </rng:attribute>
+          </rng:optional>
+          <rng:optional>
+            <rng:attribute name="draw:handle-polar-angle">
+              <rng:ref name="string"/>
+            </rng:attribute>
+          </rng:optional>
+          <rng:optional>
+            <rng:attribute name="draw:handle-radius-range-minimum">
+              <rng:ref name="string"/>
+            </rng:attribute>
+          </rng:optional>
+          <rng:optional>
+            <rng:attribute name="draw:handle-radius-range-maximum">
+              <rng:ref name="string"/>
+            </rng:attribute>
+          </rng:optional>
+        </rng:group>
+      </rng:choice>
       <rng:optional>
         <rng:attribute name="draw:handle-mirror-vertical">
           <rng:ref name="boolean"/>
         </rng:attribute>
       </rng:optional>
@@ -5205,45 +5257,13 @@
       <rng:optional>
         <rng:attribute name="draw:handle-switched">
           <rng:ref name="boolean"/>
         </rng:attribute>
       </rng:optional>
-      <rng:attribute name="draw:handle-position">
-        <rng:ref name="string"/>
-      </rng:attribute>
-      <rng:optional>
-        <rng:attribute name="draw:handle-range-x-minimum">
-          <rng:ref name="string"/>
-        </rng:attribute>
-      </rng:optional>
-      <rng:optional>
-        <rng:attribute name="draw:handle-range-x-maximum">
-          <rng:ref name="string"/>
-        </rng:attribute>
-      </rng:optional>
-      <rng:optional>
-        <rng:attribute name="draw:handle-range-y-minimum">
-          <rng:ref name="string"/>
-        </rng:attribute>
-      </rng:optional>
-      <rng:optional>
-        <rng:attribute name="draw:handle-range-y-maximum">
-          <rng:ref name="string"/>
-        </rng:attribute>
-      </rng:optional>
-      <rng:optional>
-        <rng:attribute name="draw:handle-polar">
-          <rng:ref name="string"/>
-        </rng:attribute>
-      </rng:optional>
-      <rng:optional>
-        <rng:attribute name="draw:handle-radius-range-minimum">
-          <rng:ref name="string"/>
-        </rng:attribute>
-      </rng:optional>
+      <!-- The attribute draw:handle-position is deprecated -->
       <rng:optional>
-        <rng:attribute name="draw:handle-radius-range-maximum">
+        <rng:attribute name="draw:handle-position">
           <rng:ref name="string"/>
         </rng:attribute>
       </rng:optional>
     </rng:interleave>
   </rng:define>

Attachment: OASIS-4110 PolarHandle ODF 14 TCv1.odt
Description: application/vnd.oasis.opendocument.text



[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]