<html><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">Hello all,<div><br></div><div>Yesterday I raised namespaces (along with parsing) as the only thing I think HTML 4.1 should be focussed on right now. After further reflection on that I had some more ideas. First, many in the WhatWG claim that namespaces are&nbsp;unwieldy. While I find this claim way overblown, I had an idea that could probably satisfy most of the WhatWG concerns and also make authoring with HTML4.1 (or HTML5 whatever one wants to call it) a lot easier.</div><div><br></div><div>HTML5 could make default namespace declarations. These could be overridden by &nbsp;authors at their discretion, but for other authors, they would never need to think about the namespace URIs.</div><div><br></div><div>It would work something like this. We would declare several default attributes values for the root HTML element.</div><div><br></div><div>For the&nbsp;extensions from&nbsp;HTML5 (i.e., proposed content models, new elements, and new attributes):</div><div>xmlns:h4='<span class="Apple-style-span" style="font-family: -webkit-monospace; font-size: 10px; white-space: pre; "><font class="Apple-style-span" face="Helvetica" size="3"><span class="Apple-style-span" style="font-size: 12px; white-space: normal;"><a href="http://www.w3.org/1999/xhtml">http://www.w3.org/1999/xhtml</a></span></font><span class="Apple-style-span" style="font-family: Helvetica; font-size: 12px; white-space: normal; ">'&nbsp;</span></span></div><div><br></div><div>For&nbsp;</div><div>xmlns:svg = '<a href="http://www.w3.org/2000/svg'">http://www.w3.org/2000/svg'</a></div><div><br></div><div><br></div><div>Also include default namespace declarations of:&nbsp;</div><div><br></div><div>&nbsp;• xmlns:a (for ARIA);</div><div>&nbsp;• xmlns:m (for MathML);</div><div>&nbsp;• xmlns:ev (for XEvents);</div><div><br></div><div>and any others we feel authors will want to use easily and meet certain agreed upon criteria. These namespace declarations would all be the default values for these attributes on the HTML root element.</div><div><br></div><div>This would allow authors to incorporate these other standards into their HTML documents without making any xmlns declarations. They could at their own option make new declarations that would override these defaults, but I think that would seldom happen. The issue as I see it is that the W3C wanted to set a good example for others by choosing namespaces that were fully qualified http schema identifiers. On the other hand, since these are so often the basis from which we use other namespaces, it would have been nice to have namespaces that were much shorter, and make declarations for other namespaces. This solution addresses the problem in a way that satisfies both goals: 1) W3C continues to set a good example by using fully qualified http schema URIs as their namespace URIs; 2) authors can use minimized and easily remembered prefixes without necessarily ever encountering a namespace declaration.</div><div><br></div><div>A simple example document making use of this approach might look like this:</div><div><br></div><div><br></div><div>&lt;html lang='en' ></div><div>&lt;head></div><div>...</div><div>&lt;h4:meta name='abstract' ></div><div>An abstract of the document with &lt;em>rich&lt;/em> markup …</div><div>&lt;/h4:meta></div><div>&lt;/head></div><div>&lt;body></div><div>&lt;h4:section></div><div>&lt;h4:h>A heading&lt;h4:h></div><div>&lt;h4:p>some text and then&nbsp;</div><div>&lt;ul></div><div>&lt;li>A list of items within a paragraph&lt;/li></div><div>...</div><div>&lt;/ul></div><div>&lt;p>just a regular paragraph with &lt;em>only strictly inline&lt;/em> content a and an img &lt;h4:img id='myimg' alt='' >a lengthy description of the image&lt;/img></div><div>Another copy of the same image with the color adjusted &lt;img a:described-by='myimg' ></div><div>&lt;/p></div><div>&lt;h4:p></div><div>&lt;m:plus> some more MathML content…&lt;/m:plus></div><div>&lt;/h4:p></div><div>&lt;/h4:section></div><div>&lt;/body></div><div><br></div><div><br></div><div>If we do this right, the above namespaced content should work in IE (I think back to IE5 or IE6: i.e., back nearly a decade). The other browsers could be more responsive in adopting the namespace mechanism to text/html, but the same document could be authored for serving to IE back to IE5 as text/html and the other browsers as XHTML. Obviously there could be all sorts of nagging issues to get in the way, but its worth consideration. Once namespaces had been added to all browsers for text/html authors could easily choose to use text/html or application/xml+xhtml at their own discretion.</div><div><br></div><div>Take care,</div><div>Rob</div></body></html>