Re: More on SVG within HTML pages

On Mon, 7 Sep 2009, Henri Sivonen wrote:
> 
> It's HTML5--not RSS. Everything that isn't allowed is forbidden. 

Specifically:

  In text/html, documents MUST have a root element that is an <html> 
  element ("13.1 text/html" asserts that text/html resources are HTML 
  documents, "9.1 Writing HTML documents" asserts that HTML documents 
  must follow the HTML syntax, which requires the <html> element). All 
  HTML elements MUST obey the content models ("3.2.5 Content models"), and 
  this sets up the chain that thus forbids everything else.

  In XML, documents can have any root element they want, that's out of 
  scope of HTML5. However, HTML elements in XML documents can only be used 
  as described by their content models ("3.2.5 Content models"), and this 
  sets up the chain that thus forbids everything else inside HTML 
  subtrees.

  In the DOM, authors can again do pretty much whatever they like, but 
  again, HTML elements can only be used as described by their content 
  models ("3.2.5 Content models"), and this sets up the chain that thus 
  forbids everything else inside HTML subtrees.


> HTML5 defines how to parse text/html into a DOM. It also specifies above-DOM
> conformance requirements for elements in the http://www.w3.org/1999/xhtml
> namespace. It doesn't specify conformance requirements for elements in the
> http://www.w3.org/2000/svg or http://www.w3.org/1998/Math/MathML namespaces,
> so those are non-conforming as far as HTML5 itself goes.

That's not quite accurate. MathML's <math> and SVG's <svg> are defined to 
fit into specific content models, and thus are allowed in a number of 
places as children of HTML elements ("4.8.15 MathML" and "4.8.16 SVG"). 
What goes on within the MathML and SVG namespaces is up to the MathML and 
SVG specs, however, and HTML5 doesn't have anything to say about that 
(other than as it affects elements in the HTML namespace).

-- 
Ian Hickson               U+1047E                )\._.,--....,'``.    fL
http://ln.hixie.ch/       U+263A                /,   _.. \   _\  ;`._ ,.
Things that are impossible just take longer.   `._.-(,_..'--(,_..'`-.;.'

Received on Monday, 7 September 2009 09:33:14 UTC