- From: Masayasu Ishikawa <mimasa@w3.org>
- Date: Mon, 28 Jul 2003 21:01:07 +0900 (JST)
- To: evan@prodromou.san-francisco.ca.us
- Cc: www-html@w3.org
Evan Prodromou <evan@prodromou.san-francisco.ca.us> wrote: > So, this is a general design question for XML document definitions > rather than a specific question about XHTML. Which should be better discussed on xml-dev or elsewhere. In fact during 1999 there were lots of discussions on that topic on xml-dev, triggered by the namespace usage in XHTML 1.0. A good summary of that discussion can be found at: http://www.xml.com/pub/a/1999/10/names/namespaces.html > In XML document definition design, I usually promote the viewpoint > that different published versions of a document definition should have > different namespace identifiers, especially if there are non-trivial > differences to the definitions. The loosely defined "space" of "names" > has changed; for compatibility, different identifiers should be used > for each space. > > The counterargument to this principle, of course, is XHTML 1.0 and > 1.1. These are two different document definitions -- elements allowed > in 1.0 aren't allowed in 1.1 -- yet they have the same XML namespace. More prominent counterargument is XSLT, which uses the same namespace URI for both version 1.0 and 2.0. Compared to the differences between XSLT 1.0 and 2.0, differences between XHTML 1.0 (Strict) and 1.1 are minimal. You can find many other examples, e.g. MathML 1.0/1.01/2.0 share the same namespace, SVG 1.0/1.1 (Full|Basic|Tiny) share the same namespace, and so on. Of course you can also find other examples that follow your principle. Versioning of namespaces has been a difficult issue carried over from the last millennium, and we haven't seen a clear consensus yet. The status quo is that there are many policies one can state about the relationship between a namespace name and a language, and each language should state a clear policy. > I can't find a good explanation for why this is. A historical fact is that the first XHTML 1.0 Proposed Recommendation [1], which proposed different namespaces for XHTML 1.0 Strict/Transitional/ Frameset, was returned to the HTML Woring Group with the instruction to adopt a single namespace [2]. Although this discussion was primarily whether to use different namespaces for variants of XHTML 1.0 or not, it effectively killed the possibility to adopt a different namespace for an XHTML Family document type using XHTML Modularization, such as XHTML 1.1. The HTML WG had no choice but to adopt a single namespace for XHTML 1.x. > This seems to violate > the W3C namespace policy template stated here: > > http://www.w3.org/1999/10/nsuri A template is just a template. The important thing is to state a clear policy, and there are many examples which state otherwise. > I can't seem to find a contradictory namespace policy for the XHTML > namespace URI. This is an XML namespace defined in the XHTML™ 1.0: The Extensible HyperText Markup Language specification, and is shared across XHTML Family document types using XHTML Modularization, including XHTML 1.1 and XHTML Basic. -- http://www.w3.org/1999/xhtml > Is my principle stated above -- different group of > names, different namespace -- deeply flawed? I don't think your principle is flawed, and it is fine to adopt such a principle to your language design. However, you should be aware that other policies exist, and should not assume that everyone in the world adopts the single canonical principle. It's a valid policy, but not the only policy. [1] http://www.w3.org/TR/1999/PR-xhtml1-19990824 [2] http://lists.xml.org/archives/xml-dev/199911/msg00096.html Regards, -- Masayasu Ishikawa / mimasa@w3.org W3C - World Wide Web Consortium
Received on Monday, 28 July 2003 08:01:10 UTC