- From: Henri Sivonen <hsivonen@iki.fi>
- Date: Wed, 2 Apr 2008 17:21:50 +0300
- To: Ian Hickson <ian@hixie.ch>
- Cc: Sam Ruby <rubys@us.ibm.com>, Neil Soiffer <Neils@dessci.com>, public-html@w3.org, www-math@w3.org
On Apr 2, 2008, at 04:57, Ian Hickson wrote: > I have been unable to come up with a generic syntax for vocabulary > extension that looks (even slightly) like XML and that would > actually work > in practice on the Web. Could you please elaborate why the following won't work? In particular, would the following breaks such a large mass of pages as to Break The Web? (Especially if the rendering rules for MathML are adjusted so that text children of <math> are rendered like text children of an HTML <span>.) The following elements are defined as 'namespace-sensitive': <html> <svg> <math> <foreignObject> <annotation-xml encoding="application/xhtml+xml"> <annotation-xml encoding="OpenMath">. Namespace-sensitive elements have two namespace URIs associated with them: self and scope. Thus: <html> self: http://www.w3.org/1999/xhtml scope: http://www.w3.org/1999/xhtml <svg> self: http://www.w3.org/2000/svg scope: http://www.w3.org/2000/svg <math> self: http://www.w3.org/1998/Math/MathML scope: http://www.w3.org/1998/Math/MathML <foreignObject> self: http://www.w3.org/2000/svg scope: http://www.w3.org/1999/xhtml <annotation-xml encoding="application/xhtml+xml"> self: http://www.w3.org/1998/Math/MathML scope: http://www.w3.org/1999/xhtml <annotation-xml encoding="OpenMath"> self: http://www.w3.org/1998/Math/MathML scope: http://www.openmath.org/OpenMath The namespace of a element node to be inserted is determined as follows: 1) If the node to be inserted is an namespace-sensitive element, use the value for 'self' in the above list and abort these steps. 2) Let 'node' be the current node on the stack of open elements. 3) If 'node' is a namespace-sensitive element, use the value for 'scope' in the above list and abort these steps. 4) Let 'node' be the next node on the stack of open elements towards the root element. (Of course, the repeated stack walking should be optimized away.) The /> empty element syntax should be supported on start tag tokens (node popped immediately) whose namespace doesn't resolve to http://www.w3.org/1999/xhtml according to the above rule. When the stack is pushed/popped, the namespace of the current node must be inspected. If it is http://www.w3.org/1999/xhtml, the tokenizer must be set not to support CDATA sections. Otherwise, the tokenizer must be set to support CDATA sections. -- Henri Sivonen hsivonen@iki.fi http://hsivonen.iki.fi/
Received on Wednesday, 2 April 2008 14:22:40 UTC