SVG in HTML5

From SVG

This page is an archive of the previous Group's wiki from http://www.w3.org/Graphics/SVG/Group/wiki.


Requirements

  • SVG must preserve as big parts of its XML syntax as possible when inline in HTML
 - Exceptions to this requirement: 
  • Doctype and XML PI:s are ignored
  • Character encoding is taken from the main document
  • Unquoted attribute values? Would need separate attribute value parsing definition in HTML5. (Vote: Allow or Disallow)
  • The "svg" start tag may skip declaring the svg and xlink namespaces, but if xmlns is provided it must be used instead (Vote: Allow or Disallow)
  • Entity references can only come from the main document
  • Allow non-CDATA-escaped script element content? (Vote: Allow or Disallow)
 - In particular this means:
  • Element and attribute names are case-sensitive, wrong element name casing should lead to the HTML parser inserting an element with the casing preserved for the tagname in the current element's namespace
  • Namespaces in XML must apply to svg fragments
  • "xml:" prefixed attributes must work the same as in svg
  • Attributes and elements can be prefixed
  • If elements are misnested then the svg fragment must be made invisible, (and all elements must be made into legacy elements in the html namespace?)
  • <svg:script xlink:href="foo.js"> elements will execute in new UA:s even if the svg content is supposed to be invisible
  • Svg elements must never be automatically closed by the HTML parser, instead mark the content as invisible and exit the "in foreign content mode"
  • There must always be an svg root element, un-svg-parented circle elements for example should end up in the HTML namespace
  • The main extensibility-point from the SVG container is the foreignObject element
 - Inline fallback content must be provided here if at all