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

Formatted output of the function

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>

See Also

Reference

XML Data Types Reference