SVG fragmentatation

Also sprach Chris Lilley:

 > The eighth version of the Scalable Vector Graphics (SVG) specification [1]
 > has just been released. It re-enters last call. Public comments should be
 > sent to this list. Comments which are W3C Member internal should be sent to
 > svg-comments@w3.org

 > [1] http://www.w3.org/TR/2000/03/WD-SVG-20000303

The recently published SVG draft is not merely an incremental change,
it's a drastic split of SVG into two languages -- one called "Stylable
SVG" and one called "Exchange SVG" -- with different syntax, DTDs and
conformance requirements. If the recent draft becomes a W3C
Recommendation, implementations and documents will not be
interoperable. SVG interpreter A can claim to support SVG without
being able to display output from generator B -- even though they both
conform to the same specification.

Here is a simple example of written in "Stylable SVG":

  <svg width="400px" height="400px">
    <style type="text/css">
      text { color: white; fill: blue; font: 10px Helvetica, sans-serif }
      rect { visibility: visible; fill: red; stroke:blue; stroke-width: 4px; opacity: 0.7 }
      .em { font-style: bold }
    </style>
    <text x="100px" y="30px">This <tspan class="em">is</tspan> important</text>
    <text x="20px"  y="90px">This is <tspan class="em">not</tspan> important</text>
    <rect x="10px"  y="10px" width="50px" height="50px" />
    <rect x="200px" y="200px" width="100px" height="100px" />
  </svg>

And here is the same example in "Exchange SVG":

  <svg width="400px" height="400px">
    <text x="100px" y="30px" color="white" fill="blue" font-size="10px"
       font-family="Helvetica, sans-serif" font-style="normal
       font-variant="normal" font-weight="normal">This 
         <tspan font-style="bold">is</tspan> important</text>
    <text x="20px"  y="90px" color="white" fill="blue" font-size="10px"
       font-family="Helvetica, sans-serif" font-style="normal
       font-variant="normal" font-weight="normal">This is 
         <tspan font-style="bold">not</tspan> important</text>
    <rect x="10px" y="10px" width="50px" height="50px"
       visibility="visible" fill="red" stroke="blue" stroke-width="4px"
       opacity="0.7" />
    <rect x="200px" y="200px" width="100px" height="100px"
       visibility="visible" fill="red" stroke="blue" stroke-width="4px"
       opacity="0.7" />
  </svg>

The purpose of this message is not to argue about which form is the
better one (although that could be interesting, too), but to note that
the SVG specification now describes two languages -- both of which are
called SVG.

One of the reasons why people have been supportive of SVG development
has been to avoid fragmentation into several vector languages. There
have been rounds of applause at Seybold and WWW* conferences to
support/push vendors into agreeing on one single language and to avoid
vendor-specific solutions like VML and PDF. If SVG comes out as two
languages, fragmentation is unavoidable.

The W3C has in its charter to lead the World Wide Web and to "ensure
its interoperability". Coming out with two languages instead of one is
doing exactly the opposite.

Regards,

-h&kon

Chief Technology Officer                                Opera Software
Håkon Wium Lie                     http://www.opera.com/people/howcome
howcome@opera.com                                gets you there faster

Received on Monday, 6 March 2000 11:01:17 UTC