ISSUE-2050 (path subelements): Consider additional path syntax [SVG Core 2.0]

ISSUE-2050 (path subelements): Consider additional path syntax [SVG Core 2.0]

Raised by: Doug Schepers
On product: SVG Core 2.0

The EXI (Efficient XML Interchange) WG requested that we look at an additional alternative syntax for SVG:

<path stroke="blue" fill="yellow" fill-rule="evenodd">
  <moveto x="150" y="150"/> 
  <lineto x="200" y="100"/> 
  <horizontal x="250"/> 
  <vertical y="170"/> 
  <quadratic x1="350" y1="90" x2="375" y2="150"/>
  <smooth x1="400" y1="150"/> 
  <cubic x1="500" y1="100" x2="575" y2="300" x3="560" y3="150"/> 
  <smooth x1="650" y1="160" x2="550" y2="300"/> 
  <moveto x="500" y="200"/>
  <arc x1="25" y1="35" rotation="-80" large-arc="1" sweep="1" x2="450" y2="220"/

Probably there should also be a @pos="absolute*|relative" for each element, as well, to indicate its positioning.

This was the original proposal from PGML, and the decision to move away from it was for the sake of file sizes and compression:

Interestingly, because EXI is schema-based compression, they believe that this longer syntax would result in small transmission sizes.

It has other benefits as well, such as more discrete animation control, and better compatibility with XSLT.

Note that I'm not talking about getting rid of the old syntax, just adding a new alternative where it would be preferable.  The existing shorthand syntax in @d is probably still more broadly applicable, and works well.

Other past conversations:

Received on Saturday, 13 September 2008 07:18:40 UTC