Use XML Namespaces in an XML Vocabulary
Though controversial, XML namespaces are a necessity if you want to manage XML documents in the wild. This hack gets into some of the nitty-gritty of namespaces so you can more easily untangle them.
In January 1999, the W3C published its Namespaces in XML recommendation (http://www.w3.org/TR/REC-xml-names/), about a year after the XML recommendation arrived. There were hints of namespaces in the original XML spec, evidenced by suggestions about the use of colons, but that was about it. On the surface, namespaces appear reasonable enough, but their implications have been the subject of confusion and criticism for over five years.
Namespaces were mentioned briefly in [Hack #7] . In this hack, we’ll talk about how namespaces work in more detail.
Look at the following document, namespace.xml , in Example 4-1.
Example 4-1. namespace.xml
<?xml version="1.0" encoding="UTF-8"?>
<!-- a time instant -->
<time timezone="PST" xmlns="http://www.wyeast.net/time">
<hour>11</hour>
<minute>59</minute>
<second>59</second>
<meridiem>p.m.</meridiem>
<atomic signal="true"/>
</time>This document isn’t very different from
time.xml except for the special
xmlns attribute on the time
element. The xmlns attribute and its value
http://www.wyeast.net/time are considered a
default
namespace
declaration. A default namespace declaration associates a
namespace name
—always a Uniform Resource
Identifier or URI (http://www.ietf.org/rfc/rfc2396.txt)—with one or more elements. ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access