RE: What's the problem? "Reuse of 1998 XHTML namespace is potentially misleading/wrong"

I think I wasn't clear enough, so let me try to clarify:

In XML, namespaces identify vocabularies, not languages.
Language definitions define rules for putting together
vocabularies and user-supplied terms and procedures by
which a receiver of an utterance in the language (a
receiver) can interpret and understand the meaning
intended by the sender of that utterance.

You can have two different languages sharing the same
namespace as long as there is sufficient information
for any receiver of an utterance to determine which
language was intended.

Conclusion:
XpMLq and XrMLs can share the same XML namespace
as long as there is some way that you can determine
which was intended, through MIME types, DOCTYPE
or other means.

This is true whether XpMLq and XrMLs are XHTML1
and XHTML2, XHTML2 and XHML5 or XHTML5 and
XHTML5.001 (an incremental update). 

Sharing namespaces with different languages is
unacceptable if there is no other versioning
mechanism than the namespace name. It would
define two overlapping languages where there
is no deterministic way of deciding which
utterances were in which language, without
extra contextual information. This is very
bad language design.

Whether or not there is any "vendor" who supports
or is intending to support both XHTML2 and XHTML5 
is irrelevant to this question, since agents
that cannot properly interpret an instance
of the language they're presented with should
not blindly try to interpret those instances
in some other language.

Larry
--
http://larry.masinter.net


-----Original Message-----
From: Maciej Stachowiak [mailto:mjs@apple.com] 
Sent: Thursday, February 12, 2009 4:19 PM
To: Larry Masinter
Cc: Lachlan Hunt; HTML WG
Subject: Re: What's the problem? "Reuse of 1998 XHTML namespace is potentially misleading/wrong"


On Feb 11, 2009, at 12:46 PM, Larry Masinter wrote:

>>
>> But XHTML2 also has several major incompatibilities with XHTML1,  
>> which
>> would effectively make it impossible to implement both XHTML 1.x  
>> and 2
>> in the same implementation, if they share the same namespace [3].
>
> The fact that one language makes <title>abc</title> equivalent
> to <meta property="title" content="Document Title"/> and the other
> does not does mean the languages are incompatible. But the elements
> "title" and "meta" have the same meaning as vocabulary items, their
> usage is different in the two languages.
>
> I know that there is significant resistance to the idea that you might
> define a vocabulary independent of a language which uses that  
> vocabulary,
> or that you might define a language independent of the processing  
> rules
> by which instances of text in the language should be processed, but
> those separations are fundamental to the design of XML, and the  
> question
> here is about XML namespaces and their use.

What Lachlan raises is an actual technical problem in the design of  
the languages, even if the languages have "the same vocabulary" in  
some sense. It is not possible to implement a user agent that conforms  
to both XHTML5 and XHTML2. In many cases the same elements or  
attributes are defined to have different processing requirements.  
Since DTDs are optional, and since elements in the XHTML namespace may  
appear in a compound document, there is no way to determine which  
processing requirements to use. XHTML2 also has this problem with  
regard to XHTML1.x.

I don't believe any vendor currently plans to support XHTML5 and  
XHTML2 together in the same product, so perhaps this is not a problem  
in practice. But it is still a design flaw in XHTML2 and should be  
fixed by the XHTML2 Working Group.

Regards,
Maciej

Received on Monday, 16 February 2009 18:22:25 UTC