The standards developed at the W3C ensure interoperability between distributed systems and the applications developers around the world. As we progress in this book from XML tools and strategies in your local applications to distributed application development, several new XML terms and issues come into the forefront.
As discussed in Section 1.2.2 in Chapter 1, namespaces provide a means to combine elements from different knowledge domains or schemas. The Namespaces specification accomplishes this by allowing element and attribute names to be qualified with a URI; every URI corresponds to a unique namespace. Namespaces are used for several purposes in practice, but the most important is to allow a document to contain elements defined by different schema (possibly originating from different organizations) without having naming conflicts.
Namespaces are used by associating a named
xmlns attribute with a URI. Namespaces are
communicated in an XML document using the reserved colon character in
an element name, prefixed with the
xmlns symbol. For example:
<sumc:purchaseOrder refnum="389473984-38844" xmlns:sumc="http://www.superultramegacorp.com"> <sumc:product name="Magical Widget" sku="398-4993833"> <sumc:qty value="24">One Case Order</sumc:qty> <sumc:amount value="34.56">34.56</sumc:amount> <sumc:shipping value="overnight">Next-day</sumc:shipping> </sumc:product> </sumc:purchaseOrder>
In this document, the namespace of SuperUltraMegaCorp ...