<html>
<head>
<title>Prefix Declared</title>
</head>
<body bgcolor="#FFFFFF" text="#000000">
<div id="Description">
<table cellpadding="0" cellspacing="0" border="0" width="100%" class="main">
<tr>
<td valign="top" class="NAME">Prefix Declared</td>
<td valign="top" class="COMPATIBILITY">&nbsp;</td>
</tr>
<tr>
<td colspan="2" class="divider"><img src="dwres:18084" width="100%" height="1"></td>
</tr>
<tr>
<td valign="top" colspan="2" class="description">&nbsp;
</td></tr>
<tr>
<td colspan="2" class="DESCRIPTIONTITLE">Text from specification</td>
</tr>
<tr>
<td colspan="2" class="description">


<p>The namespace prefix, unless it is <span class="LITERAL">xml</span> or
<span class="LITERAL">xmlns</span>, must have been declared in a namespace
declaration attribute in either the start-tag of the element where
the prefix is used or in an ancestor element (i.e., an element in
whose content the prefixed markup occurs). The prefix
<span class="LITERAL">xml</span> is by definition bound to the namespace name
<span class="LITERAL">http://www.w3.org/XML/1998/namespace</span>. The prefix
<span class="LITERAL">xmlns</span> is used only for namespace bindings and is
not itself bound to any namespace name.</p>

</td>
</tr>
<tr>
<td colspan="2" class="CLEARSEPARATION">&nbsp;</td>
</tr>
<tr>
<td colspan="2" class="DESCRIPTIONTITLE">Explanation</td>
</tr>
<tr>
<td colspan="2" class="description">


<p>You have to declare all namespaces before you can use them. The
prefixes have no meaning without the declarations, so using a prefix
without a declaration context is an error. The namespace with the
prefix <span class="LITERAL">xml</span> is permanently defined, so there is no
need to redeclare it. The <span class="LITERAL">xmlns</span> prefix used by
namespace declarations is not considered a namespace prefix itself,
and no declaration is needed for it.</p>
</td>
</tr>
<tr>
<td colspan="2" class="CLEARSEPARATION">&nbsp;</td>
</tr>
</table>
</div>
</body>
</html>