It seems I can't post to public-svg-wg so posting to www-archive for reference.


On Thu, 26 Feb 2009 00:45:49 +0100, Simon Pieters <[email protected]> wrote:

I thought I'd point out things that don't match my understanding of HTML5:

On Thu, 26 Feb 2009 00:14:12 +0100,  wrote:

Hello WG.

I’ve taken a brief look at the commented out SVG parsing language in
HTML 5.  Below are some pertinent notes for ACTION-2395.  Something
being a “parse error” means that the document is non-conforming.

It also means that a UA has the choise to continue parsing (using the rules given in the spec) or to abort parsing.


Parsing this document:

  <svg xmlns='http://www.w3.org/2000/svg'>
    <circle r='100'/>
  </svg>

as text/html would be non-conforming, since it doesn't begin with an
<html> tag,

No, <html> is optional, but lack of a doctype is a parse error. (Lack of <title> is not a parse error but a content model error.)



Parsing this document:

  <!DOCTYPE html>
  <html>
    <head>
      <title></title>
    </head>
    <body>
      <svg>
        <circle r='100'/>
      </svg>
    </body>
  </html>

would be non-conforming, since the <svg> tag is missing an
xmlns='http://www.w3.org/2000/svg' attribute.

No, xmlns is optional. If it is preset, it must have the right value, though.


SVG Tiny 1.2 elements aren't considered, and so <textArea> will parse
as an HTML <textarea> element and break out of foreign content mode.

<textArea> *could* be supported, though.


There's a comment <!--XXXSVG need to define processing for </script> to
match HTML5's </script> processing --> but I'm not sure what processing
this means.

See: http://www.whatwg.org/specs/web-apps/current-work/multipage/tree-construction.html#parsing-main-incdata

Basically, it says how to run the script in a way that is compatible with how browsers have to do it for HTML (in the face of, say, an external script that document.writes another external script that document.writes something).


In foreign content mode, a <font> start tag with a color, face or size
attribute will cause the document to be non-conforming.  <!-- the
attributes here are required so that SVG <font> will go through as SVG
but legacy <font>s won't -->


The following start tags cause a parse error inside foreign content:
b, big, blockquote, body, br, center, code, dd, div, dl, dt, em, embed,
h1, h2, h3, h4, h5, h6, head, hr, i, img, li, listing, menu, meta, nobr,
ol, p, pre, ruby, s, small, span, string, strike, sub, sup, tbale, tt,
u, ul and var.  <!-- this list was determined empirically by studying
over 6,000,000,000 pages that were specifically not XML pages -->

They are not parse errors in <foreignContent>, <title> or <desc>, though. Anywhere else (in SVG) would cause the tag to escape back to HTML context.

Example:

   <svg> <title> <b>foo</b> </title> </svg>

is parsed as expected (svg and title are SVG elements, b is an HTML element), but

   <svg> <g> <b>foo</b> </g> </svg>

is a parse error and is parsed as if it were

   <svg> <g> </g></svg><b>foo</b>





--
Simon Pieters
Opera Software



Reply via email to