SVG in HTML5
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