- From: Doug Schepers <schepers@w3.org>
 - Date: Wed, 18 Mar 2009 20:21:18 -0400
 - To: HTML WG <public-html@w3.org>
 - CC: www-svg@w3.org
 
Hi, Jonas-
Jonas Sicking wrote (on 3/18/09 6:56 PM):
> On Wed, Mar 18, 2009 at 2:26 PM, Doug Schepers<schepers@w3.org>  wrote:
>
> [snipped Doug dissing Robins SVG skills and calling his ]
FWIW, Robin's SVG skills make *you* look like a chump.
> <svg width="10cm" height="5cm" viewBox="0 0 1000 500"
>       xmlns="http://www.w3.org/2000/svg" version="1.1">
>    <defs>
>      <style type="text/css"><![CDATA[
>        svg>  rect {
>          fill: red;
>        }
>      ]]></style>
>    </defs>
>    <rect x="200" y="100" width="600" height="300"/>
> </svg>
>
> This should work great when copied into text/html. As would it if the
> style tag instead looked like:
>
> <style type="text/css">
>    svg>  rect {
>      fill: red;
>    }
> </style>
>
> However, if the style was
>
> <style type="text/css">
>    svg> rect {
>      fill: red;
>    }
> </style>
>
> then this would work as expected in XML-SVG, but there might possibly
> be problems when the markup is copied into a text/html document. In
> HTML, the contents of<style>  is parsed as CDATA. That means that no
> entities are escaped. So the above style tag would contain invalid CSS
> as the ">" would not be turned into a ">" and so the selector would
> be invalid and not match anything.
And your clear explanation makes *me* look like a chump.  Wow, chumped 
by a chump, how humiliating.
Now, couldn't we define a set of common (in script and style) entities 
that *would* be resolved, just to cover our bases?  Or would that likely 
break content?  I suppose it's likely that somebody out there is using a 
> entity in a string in script or even CSS that they want to stay 
that way...
Plus, it does seem like special casing in a way we might want to avoid.
> So the question is, how common do we think this is? We're looking for
> how common it is that:
> 1) An SVG file contains inline<style>, *and*
> 2) That style does not use<![CDATA[]]>  for the contents of the element, *and*
> 3) The contents uses entities.
Yes, this is a case I think we could safely lose.
> For markup that uses<![CDATA[]]>  I believe we can ensure that the
> markup will work correctly even in text/html, as detailed in my
> proposal at [1].
Okay, rereading that, it does make sense.  I thought we were talking 
about breaking all instances of CDATA in <style>. Phew!
I'm fine with your proposal, then, favoring solution 1, "Support 
<![CDATA[]]> while tokenizing CDATA."
Regards-
-Doug
p.s. Chump.
Received on Thursday, 19 March 2009 00:21:32 UTC