[Bug 6775] DOM-to-DOM transform with method='html' needs to convert no-namespace nodes into the HTML namespace

http://www.w3.org/Bugs/Public/show_bug.cgi?id=6775


C. M. Sperberg-McQueen <cmsmcq@blackmesatech.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |cmsmcq@blackmesatech.com




--- Comment #11 from C. M. Sperberg-McQueen <cmsmcq@blackmesatech.com>  2009-06-02 15:17:25 ---
I have a question, perhaps a painfully ignorant one (my apologies to
the sensitive among those who read this comment), which perhaps
Henri Sivonen or one of the others interested here can answer.

The original issue description says

    It follows that an HTML 5-compliant UA treats elements in the
    http://www.w3.org/1999/xhtml namespace as HTML elements 
    but doesn't treat no-namespace elements as HTML elements.

I am taking "treat ... elements as HTML elements" to mean supplying
the default styling and behavior specified in the various HTML
specifications.  

My question is: why?  Why not make HTML 5 specify that elements
in the http://www.w3.org/1999/xhtml namespace are treated as
HTML elements, and elements for which no namespace is specified
(i.e. elements with unqualified names, called in the description above
"no-namespace elements") are also treated as HTML if their local
name matches an element name in the HTML vocabulary (if necessary,
by performing an ad-hoc transformation on the DOM to supply an
explicit namespace name where appropriate)?  That 
would seem to match (large parts of) the existing Web better than 
the rule enunciated in the bug description.

Two subsidiary points may be worth mentioning.  First, my understanding
of the Namespaces recommendation is that its awkward ways of 
describing unqualified names (namespace-name + local name pairs
in which the namespace name is null) stem precisely from a desire
to ensure that unqualified names can in appropriate cases (e.g. 
where there is external information) be recognized as identical in
denotation (at least), or short-hand for, qualified names.  

It is not unusual for people and specifications to treat unqualified
names as if they were in a namespace distinct from any other 
namespace, and to refer to 'the anonymous namespace' or 'the
no-namespace namespace'.  I have even heard otherwise well informed
people say that unqualified names are "not in any namespace".  But
these formulations are all, strictly speaking, different from what the
Namespaces spec says.  An unqualified name is a name for which
the Namespaces spec does not identify a namespace name; it is
not a name for which the Namespaces spec licenses the inference
that it is not in any namespace.  

That is:  I don't believe the Namespaces rec requires anyone or any
spec to treat {}p and {http://www.w3.org/1999/xhtml}p as 
denoting different things. 

There are sometimes good reasons for specs (e.g. XSD and the QT)
specs to treat unqualified names as if they were known not to be 
in any namespace, but that treatment is not imposed on them by 
the Namespaces spec, and there can be cases where a spec will do 
better to say "under such and such circumstances, we claim the 
unqualified name 'xyz' for the  'zyxxyz' namespace:  conforming 
zyxxyz processors, that is, will treat {}xyz and {zyxxyz}xyz as the 
same thing."

It seems to me at first glance that HTML 5 might do well to use
the special nature of unqualified names and to say that in an
HTML processor, unqualified names which happen to be known 
to be in the HTML vocabulary should be treated as being in the
appropriate namespace.

What am I missing here?


-- 
Configure bugmail: http://www.w3.org/Bugs/Public/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.

Received on Tuesday, 2 June 2009 15:17:31 UTC