[
Lists Home |
Date Index |
Thread Index
]
- From: Ann Navarro <ann@webgeek.com>
- To: xml-dev@ic.ac.uk
- Date: Mon, 20 Sep 1999 09:17:37 -0400
Date: Fri, 17 Sep 1999 18:14:14 +0200 (MET DST)
Message-Id: <UTC199909171614.SAA00910.steven@schoener.cwi.nl>
From: Steven Pemberton <Steven.Pemberton@cwi.nl>
To: ann@hwg.org
Subject: XML-DEV
X-UIDL: 918589418
Status: U
Ann,
I tried to send this to xml-dev, but apparently I can't if I'm not
subscribed.
Could you please post it there for me?
Thanks!
Steven
>From steven Thu Sep 16 15:02:06 1999
Date: Thu, 16 Sep 99 15:02:06 MET DST
From: Steven Pemberton <steven@cwi.nl>
To: xml-dev@ic.ac.uk
Cc: w3c-html-wg@w3.org
Subject: XHTML: One Namespace or Three?
(I don't know if I can post to this list, since I'm not subscribed)
I've been told that an opinion has been voiced in this group that
there is a conspiracy within the HTML Working group with regards three
namespaces, or that we are somehow working in secrecy.
That is not the case, but unfortunately xml-dev isn't one of our
standard communication channels.
To try and explain how the HTML WG came to the decision it did, I
enclose a document below that outlines the process we went
through. You'll see that we did approach the XML community on the
issue (via the xml-plenary list), and there was not a single answer
from the community.
I hope this document helps.
As I said, I'm not subscribed to this group, though members of the WG
are, who keep me in touch with what is being said. I already receive
more email per day than I can read in a day, so please be
understanding about any sluggishness in replies if you email me
directly.
Best wishes,
Steven Pemberton
Chair, W3C HTML WG
XHTML: One Namespace or Three?
Steven Pemberton
This document discusses the reasoning behind why the XHTML 1.0 PR
[http://www.w3.org/TR/xhtml1/] uses three namespaces.
Executive summary: Namespaces are used by software to distinguish what
is contained in a piece of markup. There are use-cases to support both
a single-namespace solution and a three-namespace solution: some
software cares which version of XHTML is being used, and some
doesn't. Three namespaces makes life harder for software that doesn't
care, but allows software that does care to do its work. A single
namespace makes life easier for software that doesn't care, but
prevents software that does care from doing its job. If the XML
community says that the use cases that support three namespaces are
not important, the HTML WG are willing change their mind.
What are Namespaces
In the short introductory section on motivation in The Namespace
recommendation [http://www.w3.org/TR/1999/REC-xml-names-19990114/]
it is said:
[Documents] containing multiple markup vocabularies, pose
problems of recognition and collision. Software modules need
to be able to recognize the tags and attributes which they are
designed to process, even in the face of "collisions"
occurring when markup intended for some other software package
uses the same element type or attribute name.
The only definition of a namespace the recommendation gives is:
[Definition:] An XML namespace is a collection of names,
identified by a URI reference [RFC2396], which are used in XML
documents as element types and attribute names.
So, according to the Namespace recommendation, Namespaces are used to
disambiguate different vocabularies, without saying where those
vocabularies come from. In other words, it is up to the designer of
the namespace itself to specify what the vocabulary is.
History
In the first public draft for XHTML 1.0
[http://www.w3.org/TR/1998/WD-html-in-xml-19981205/], we used three
namespaces, since we foresaw use-cases that made distinguishing the
three different vocabularies useful (see below).
After publishing the draft we received two comments (though without
technical argumentation) saying that there should only be one
namespace. Assuming we had misunderstood how namespaces were intended
to work, as a response to this we went to one namespace. To this we
got further (verbal) comments, with technical reasoning, that it
should really be three after all. Since this was the majority of the
group's feeling as well, we went back to our original decision, though
this time using hierarchically structured namespaces, in an attempt to
address both groups.
Since we were getting different messages from the XML Community, we
also asked the XML Plenary group to discuss the issue. This (long)
discussion starts at
[http://lists.w3.org/Archives/Member/w3c-xml-plenary/1999Jul/0017.html].
(See the end of this document for some selections.) The result of these
discussions seems to show that there isn't consensus on the issue,
with people arguing quite strongly for both positions.
Using Namespaces
The only place where the distinction between using one namespace and
using three is important is when including fragments of xhtml in
another document. You can include a namespace at the top of a
document, but there are other mechanisms available at that point for
distinguishing the markup used, for the namespace not to be important.
However, in a fragment such as the following:
<notes>
<p xmlns='http://www.w3.org/TR/xhtml1/strict'>
This is also available
<a href="http://www.w3.org/">online</a>.
</p>
</notes>
the namespace is the only mechanism available for identifying the
vocabulary intended.
As has been shown in the xml plenary mailing list, there are use-cases
for both alternatives; in other words there are processors that don't
care exactly which xhtml vocabulary is being used, and whose life is
easier if it only has to look for one namespace, and there are
processors that do care, and want to be able to distinguish. (You can
liken this to English-language processors: hyphenation algorithms
don't need to know if you are using American English or British
English; spelling checkers do).
So in the light of valid use-cases for both positions, the different
use-cases need to be evaluated to see which solution is preferable.
The HTML WG opted for three namespaces on the grounds that one
namespace makes one of the classes of use-case impossible, whereas
three namespaces allows both, only making one of the classes harder to
do.
(Please note that this is independent of whether the Namespace URI be
used to refer to a Schema of some sort; there are those who argue that
different Schemas imply different Namespaces, and therefore XHTML
should have three namespaces; the HTML WG does not have an official
position on that issue).
However, the HTML WG is not bound irrevocably to three namespaces. We
want XHTML to be a good XML citizen, and if the consensus of the XML
community is that the 3-namespace use-cases are not important and can
reasonably be ignored, we are willing to go with that consensus.
Steven Pemberton,
Chair, W3C HTML WG
---
Author of Effective Web Design: Master the Essentials
Coming in September --- Mastering XML
Founder, WebGeek Communications http://www.webgeek.com
Vice President-Finance, HTML Writers Guild http://www.hwg.org
Director, HWG Online Education http://www.hwg.org/services/classes
xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev@ic.ac.uk
Archived as: http://www.lists.ic.ac.uk/hypermail/xml-dev/ and on CD-ROM/ISBN 981-02-3594-1
To (un)subscribe, mailto:majordomo@ic.ac.uk the following message;
(un)subscribe xml-dev
To subscribe to the digests, mailto:majordomo@ic.ac.uk the following message;
subscribe xml-dev-digest
List coordinator, Henry Rzepa (mailto:rzepa@ic.ac.uk)
|