namespace-uri Function
Returns the namespace Uniform Resource Identifier (URI) of the expanded name of the node in the node-set argument that is first in document order.
string namespace-uri(node-set?)
Remarks
If the node-set argument is empty, the first node has no expanded name or the namespace URI of the expanded name is Null and an empty string is returned. If the argument is omitted, it defaults to a node-set with the context node as its only member.
Note
The string returned will be empty except for element nodes and attribute nodes.
Sample
XML File (data.xml)
<?xml-stylesheet type="text/xsl" href="sample.xsl"?>
<b:catalog xmlns:b="x-schema:book-schema.xml">
<b:book id="bk101">
<b:author>Gambardella, Matthew</b:author>
<b:title>XML Developer's Guide</b:title>
<b:genre>Computer</b:genre>
<b:price>44.95</b:price>
<b:publish_date>2000-10-01</b:publish_date>
<b:description>An in-depth look at creating applications with XML.</b:description>
</b:book>
<b:book id="bk102">
<b:author>Ralls, Kim</b:author>
<b:title>Midnight Rain</b:title>
<b:genre>Fantasy</b:genre>
<b:price>5.95</b:price>
<b:publish_date>2000-12-16</b:publish_date>
<b:description>A former architect battles corporate zombies, an evil sorceress, and her own childhood to become queen of the world.</b:description>
</b:book>
</b:catalog>
XSLT File (sample.xsl)
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="html"/>
<xsl:template match="/">
<html>
<body>
<h3>namespace-uri() Function</h3>
<table width="100%" border="1">
<tr>
<td width="25%"><b>namespace-uri()</b></td>
<td width="25%"><b>name()</b></td>
<td width="25%"><b>local-name</b></td>
<td width="25%"><b>text()</b></td>
</tr>
<xsl:apply-templates />
</table>
</body>
</html>
</xsl:template>
<xsl:template match="*">
<tr>
<td>
<xsl:value-of select="namespace-uri()"/>
</td>
<td>
<xsl:value-of select="name()"/>
</td>
<td>
<xsl:value-of select="local-name()"/>
</td>
<td>
<xsl:value-of select="text()"/>
</td>
</tr>
<xsl:apply-templates select="*"/>
</xsl:template>
</xsl:stylesheet>
Auxiliary XSLT File (book-schema.xml)
<Schema name="books" xmlns="urn:schemas-microsoft-com:xml-data"
xmlns:dt="urn:schemas-microsoft-com:datatypes">
<ElementType name="author"/>
<ElementType name="title"/>
<ElementType name="genre"/>
<ElementType name="price"/>
<ElementType name="publish_date"/>
<ElementType name="description"/>
<AttributeType name="id" dt:type="id"/>
<ElementType name="catalog">
<element type="book"/>
</ElementType>
<ElementType name="book" model="closed" content="eltOnly">
<attribute type="id"/>
<element type="author"/>
<element type="title"/>
<element type="genre"/>
<element type="price"/>
<element type="publish_date"/>
<element type="description"/>
</ElementType>
</Schema>
Formatted Output
Processor Output
<html>
<body>
<h3>namespace-uri() Function</h3>
<table width="100%" border="1">
<tr>
<td width="25%"><b>namespace-uri()</b></td>
<td width="25%"><b>name()</b></td>
<td width="25%"><b>local-name</b></td>
<td width="25%"><b>text()</b></td>
</tr>
<tr>
<td>x-schema:book-schema.xml</td>
<td>b:catalog</td>
<td>catalog</td>
<td></td>
</tr>
...
<tr>
<td>x-schema:book-schema.xml</td>
<td>b:author</td>
<td>author</td>
<td>Gambardella, Matthew</td>
</tr>
...
</table>
</body>
</html>