|
[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] RE: Namespace clashes?
> 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>" then > 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 www.schema.net. > 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 that > are a mixture of different DTD's? It's easy when they have the same content > model but what if "an:t" and "dn:t" are containers and have completely > 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 solve. 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:xml-dev@i... 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@i... the following message; (un)subscribe xml-dev To subscribe to the digests, mailto:majordomo@i... the following message; subscribe xml-dev-digest List coordinator, Henry Rzepa (mailto:rzepa@i...)
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|
|||||||||

Cart








