- From: Larry Masinter <masinter@adobe.com>
- Date: Mon, 16 Feb 2009 10:21:43 -0800
- To: Maciej Stachowiak <mjs@apple.com>
- CC: Lachlan Hunt <lachlan.hunt@lachy.id.au>, HTML WG <public-html@w3.org>
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