[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: Basic namespace question
Philippe Poulard wrote: > hi, > > 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 : > "http://lle.rochester.edu/myProject/myNs" > or > "tag:dgresh@l...:2006-07-17:myNs" > 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> >> > > Thanks everyone for the replies, I understand it much better now. Just one last question: Rather than using a URL, such as http://myDomain/myNamespace, how would I use a URN? URLs are self-explanatory to get to - i.e. they're easy to determine. However, how does one find or create a URN? If I have a URI, http://myDomain/myNamespace, that is the URL. However, how could I determine a URN for that? Is it possible? Thanks agian, Dan
|
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
|