[This local archive copy is from the official and canonical URL, http://www.w3.org/Press/1999/XML-Namespaces-REC; please refer to the canonical source document if possible.]
http://www.w3.org/ -- 14 January 1999 -- Leading the Web to its full potential, the World Wide Web Consortium (W3C) today released the "Namespaces in XML" specification as a W3C Recommendation. Teaming up with W3C's Extensible Markup Language (XML) Recommendation, this new specification allows authors to mix two or more XML-based languages in one document without conflict or ambiguity, thus promoting the modular development and reuse of XML languages and applications. A W3C Recommendation indicates that a specification is stable, contributes to Web interoperability and has been reviewed by W3C Membership who are in favor of its adoption by the industry.
The "Namespaces in XML" specification resolves potential name clashes by using the Web addressing infrastructure. Each element name in a document may be prefixed with a unique address, thus precisely qualifying the name. The modularity and simplicity of XML technology combined with namespaces paves the way for future developments, such as the work in progress in W3C's XML Schema Working Group, and data exchange based on W3C's Resource Description Framework (RDF) architecture.
The "Namespaces in XML" specification was created and developed by the W3C XML Working Group, which includes key industry players such as Adobe, ArborText, DataChannel, Hewlett-Packard, IBM, Inso, Isogen, Microsoft, NCSA, Netscape, Oracle, SoftQuad, Sun Microsystems, Texcel, Vignette, and Fuji Xerox; as well as experts in structured documents and electronic publishing.
The design of "Namespaces in XML" is the direct result of W3C's experience with evolving Web technologies. Namespaces allow the Web to scale in a way that promotes interoperability. "We've seen what it takes for technology to move forward in practice. This Recommendation is engineering to make the Web capable of evolving - not just good, but capable of becoming ever better," says Tim Berners-Lee, W3C Director. "As the Web gets bigger, new technology must be able to move slowly from invention in a small community to global adoption. And that must be possible without anyone having to recode existing applications to meet the new standard."
Every XML document contains elements just as every HTML document contains elements (such as the familiar "P", "TABLE", etc.). XML, unlike HTML, allows people to create their own elements to meet their particular needs. A collection of elements is called a "namespace" and this W3C Recommendation describes how to mix two or more of these namespaces. The specification ensures that when two namespaces both contain an element with the same name, applications can distinguish the names by a prefix (just as two telephone numbers may be the same in two cities, distinguished by an area code). It is possible, for example, to mix HTML and MathML, to put structured math content in the middle of a Web page.
Namespaces are already used in W3C's current Working Draft on Reformulating HTML in XML.
Namespaces also mean that applications processing a document will work even if they don't understand all of the namespaces in that document. "Think of an invoice," suggests Dan Connolly, W3C XML Activity Lead. "Most of an invoice like the addresses and quantities and amounts are in regular commercial language. But maybe the descriptions of exactly what parts have been ordered would only be understood by experts manufacturing or using the parts. Still, many people can understand the invoice without having to understand what the part description means. XML namespaces allows a digitally coded document like this invoice to be processed -- without everyone who uses invoices having to agree on a vocabulary for turbojet engine side intake manifold monitor valve mounting nuts, or whatever."
Further information about upcoming developments of XML are available at http://www.w3.org/XML/Activity
The W3C was created to lead the Web to its full potential by developing common protocols that promote its evolution and ensure its interoperability. It is an international industry consortium jointly run by the MIT Laboratory for Computer Science (MIT LCS) in the USA, the National Institute for Research in Computer Science and Control (INRIA) in France and Keio University in Japan. Services provided by the Consortium include: a repository of information about the World Wide Web for developers and users, reference code implementations to embody and promote standards, and various prototype and sample applications to demonstrate use of new technology. To date, over 300 organizations are Members of the Consortium.
For more information about the World Wide Web Consortium, see http://www.w3.org/