Lists Home |
Date Index |
- From: Ronald Bourret <email@example.com>
- To: "XML Developers' List" <firstname.lastname@example.org>
- Date: Wed, 3 Feb 1999 12:47:35 +0100
> Imagine A, B, C, D and E and all users of some XML data. A and B exchange
> data and agree to use A's namespace and that "<an:t>title</an:t>" is a
> book title (among other things).
> Elsewhere, C and D also exchange data and agree to use D's namespace and
> that "<dn:t>title</dn:t>" is a book title.
> 1. E comes along and wants to create data and exchange data with A, B, C
> and D. What does E use? If E creates a new NS "<en:t>title</en:t>"
> A, B, C and D have to update there procedures to cater for this?
E should use <an:t> to exchange data with A and B and <dn:t> to exchange
data with C and D. If E creates their own DTD, then everybody who wants to
exchange data with E needs to update their software, which is unlikely to
make E very popular. A much better solution is to get everybody (A-E) to
agree on a single set of tags in the first place.
> 2. Is there going to be (or is there) a registry for URI and tags so that
> this can be avoided?
There are some DTD (tag) registries already -- for example, see
> 3. Is there some way to "alias" names so that you can say that "an:t",
> "dn:t" and "en:t" are all the same (or is this up to the application)?
I believe that architectural forms allow you to do this, but I'm not sure.
> 4. How do you validate a document that may contain tag's and attributes
> are a mixture of different DTD's? It's easy when they have the same
> model but what if "an:t" and "dn:t" are containers and have
> different content models?
With current parsers, you need to make sure that the same prefixes are used
in both the DTD and the document. That "an:t" and "dn:t" have different
content models is not a problem for validation -- they are different
elements and have different names. Differentiating between two different
elements with the same name (whether they represent the same real-world
information or not) is exactly the problem that namespaces were designed to
Note that an application needs to treat "an:t" and "dn:t" differently, just
as it would treat "an:t" and "an:xxx" differently. The fact that both
represent a title is the application's problem and must be solved in the
application. As mentioned above, a simple (but not always easy) way to do
this is to get A-E to agree on a single DTD.
In general, namespaces will more likely be used to differentiate between
elements from two different DTDs that cover different subject areas but use
the same names, such as when <Title> means book title in one DTD and job
title in another DTD. This becomes a problem when somebody creates a new
DTD that reuses both of these DTDs.
-- Ron Bourret
xml-dev: A list for W3C XML Developers. To post, mailto:email@example.com
Archived as: http://www.lists.ic.ac.uk/hypermail/xml-dev/ and on CD-ROM/ISBN 981-02-3594-1
To (un)subscribe, mailto:firstname.lastname@example.org the following message;
To subscribe to the digests, mailto:email@example.com the following message;
List coordinator, Henry Rzepa (mailto:firstname.lastname@example.org)