What exactly are XML Namespaces? How do you declare them and how do you use them? I'm totally confused. Please can someone help me here (maybe point out some web sites to go to for references)? I tried reading the documentation on Namespaces by W3C but got confused even more. Thanks!
None technical view: Namespaces are just like packages in Java, a way to qualify a tagname and its meaning. If two partners need to agree on how to use a tag they can create their own namespace. A namespace usually have a URI that is suppose to be unique. This URI can point to a spec on how to use and interpret that tag but it doesn't have to.
I am also confused about namespace. Here is my understanding: the advantage of XML over html is the flexibilty of tag, but it can't get too flexible. XML still have certain number of tag just like html, but the number of different tag is very big (perhaps the size of dictionary). All these effort will pay off when do internet searching. The reason it can't get too flexible is that otherwise there is no way to search it. My confusion is: URN can be file name, web address, ... etc. I think this still lacks of standardation. A file name could mean the same domain as a web address, but it is in my c: drive. Who else will know it?