OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.


Help: OASIS Mailing Lists Help | MarkMail Help



   Re: [xml-dev] Basic namespace question

[ Lists Home | Date Index | Thread Index ]


namespace URIs are used to disambiguish names used in elements (and 
sometimes in attributes) ; the idea is to consider that a name has 2 
parts, an ID and a local name ; 2 elements that have the same local name 
are distinct when the ID you choose is not the same than mine ; now what 
would happenned if unfortunately we have both choosen the same ID ? we 
would have a clash ; the solution would be :
1) to disambiguish again our elements by considering that a name has 3 
parts (an ID, another ID and a local name) ; now loop again if we choose 
again the same IDs
2) to choose a better ID

so we must ensure that when you choose an ID, it is not the same than 
mine ; the idea is to use a "universal ID", an ID that is unique all 
over the world

candidates :
-URIs ("http://foo.com/myNs"; or "urn:isbn:9-780201-770049")
-GUIDs (they are also expressible with URN : "urn:guid:etc...")
- la Java ("com.foo.myNs")

URIs win

avoid using "that text document" : even if XML processors won't complain 
because it's not an URI string, it is not a unique string

so, the kind of URI you could use could be something like this :
or any other, as long as it is unique

Daniel Gresh wrote:
> I have a basic question about XML Namespaces, as I just cannot seem to 
> fully grasp the concept.
> I know how to set up a namespace, and I know how they are used in the 
> document and such; my question is mainly about the URI associated with a 
> namespace. Let's use this as an example:
> |<x xmlns:edi='http://ecommerce.org/schema'>
>  <!-- the 'price' element's namespace is http://ecommerce.org/schema -->
>  <edi:price units='Euro'>32.18</edi:price>
> </x>||
> Now I'm not too sure how to phrase this question, but here goes: do I 
> have to associate a URI with a namespace? In the above example, what 
> would be the case if there was no xmlns declaration and the ns "edi" was 
> used? I suppose what I am asking is: what is the benefit of declaring an 
> xmlns in the manner  xmlns:prefix='URI'? Is information from that URI 
> being used in the XML document somehow? It's all very confusing to me.
> Also, let's say I have a simple text document located somewhere on my 
> hard drive, like C:\document.txt. If I wanted to define a namespace for 
> that document, such as  xmlns:doc='that text document', how exactly 
> would I do so? Is it even needed?
> Thanks in advance,
> Dan
> |
> -----------------------------------------------------------------
> The xml-dev list is sponsored by XML.org <http://www.xml.org>, an
> initiative of OASIS <http://www.oasis-open.org>
> The list archives are at http://lists.xml.org/archives/xml-dev/
> To subscribe or unsubscribe from this list use the subscription
> manager: <http://www.oasis-open.org/mlmanage/index.php>


              (. .)
|      Philippe Poulard       |
        Have the RefleX !


News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 2001 XML.org. This site is hosted by OASIS