Re: ISSUE-41/ACTION-97 decentralized-extensibility

Adrian Bateman wrote:
> We have included a base proposal with several optional components. The purpose of this document is to seed a discussion and we expect the discussion to drive improvements in the document.

Looking at just the base proposal for now:

> HTML Markup:
>      <my:calendar xmlns:my="com.mycompany">
> 
> DOM:
>      Element {
>           localName    = "calendar",
>           nodeName     = "my:calendar",
>           prefix       = "my",
>           namespaceURI = "com.mycompany"
>      }

> The proposal as stated closely matches behavior that Internet
> Explorer has had for a number of releases, reducing compatibility
> concerns.

This claim does not match my experience. For example, 
http://philip.html5.org/misc/xmlns-dom.html has the input:

   <html xmlns:foo="http://foo.example.com/" 
xmlns="http://www.w3.org/1999/xhtml">
<body><foo:bar></foo:bar>...

and then prints some DOM properties.

Output in the proposal above:

tagName:      ???
nodeName:     foo:bar
localName:    bar
prefix:       foo
namespaceURI: http://foo.example.com/
tagUrn:       ???

Output in IE8 (and in IE7 compat and quirks modes):

tagName:      bar
nodeName:     bar
localName:    undefined
prefix:       undefined
namespaceURI: undefined
tagUrn:       http://foo.example.com/

Output in Firefox 3.5:

tagName:      FOO:BAR
nodeName:     FOO:BAR
localName:    FOO:BAR
prefix:       null
namespaceURI: null
tagUrn:       undefined

Output in Opera 10:

tagName:      foo:bar
nodeName:     foo:bar
localName:    foo:bar
prefix:       null
namespaceURI: null
tagUrn:       undefined

Output in Safari 4:

tagName:      FOO:BAR
nodeName:     FOO:BAR
localName:    foo:bar
prefix:       null
namespaceURI: http://www.w3.org/1999/xhtml
tagUrn:       undefined

(HTML5 currently matches Safari, ignoring name case issues which I 
haven't bothered checking. (The namespaceURI doesn't come from the xmlns 
attribute, it's just the default for HTML elements - the attribute is 
ignored entirely.))

Output for http://philip.html5.org/misc/xmlns-dom.xhtml in everything 
that support XHTML:

tagName:      foo:bar
nodeName:     foo:bar
localName:    bar
prefix:       foo
namespaceURI: http://foo.example.com/
tagUrn:       undefined


The proposal therefore seems to be completely different to every current 
text/html browser, as far as the DOM goes. Am I missing something here?

-- 
Philip Taylor
pjt47@cam.ac.uk

Received on Wednesday, 30 September 2009 23:31:00 UTC