local-name Function
Returns the local part of the expanded name of the node in the node-set argument that is first in document order.
string local-name(node-set?)
Remarks
An expanded name typically consists of a namespace URI (or associated prefix), a colon (:) and a local part. For example, b:author
is an expanded name, where b
is the namespace URI prefix and author
is the local part. So applying the local-name()
function to this node returns author
. When a node has no expanded name, such as author
, applying the local-name()
function on this node returns the node name as is, i.e., author
.
If the node-set argument is omitted, it defaults to a node-set with the context node as its only member.
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>local-name() Function</h3>
<xsl:apply-templates />
</body>
</html>
</xsl:template>
<xsl:template match="*">
<xsl:value-of select="local-name()"/> = <xsl:value-of select="text()"/><br/>
<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
local-name() Function
catalog =
book =
author = Gambardella, Matthew
title = XML Developer's Guide
genre = Computer
price = 44.95
publish_date = 2000-10-01
description = An in-depth look at creating applications with XML.
book =
author = Ralls, Kim
title = Midnight Rain
genre = Fantasy
price = 5.95
publish_date = 2000-12-16
description = A former architect battles corporate zombies, an evil sorceress, and her own childhood to become queen of the world.
Processor Output
<html>
<body>
<h3>local-name() Function</h3>catalog = <br>book = <br>author = Gambardella, Matthew<br>title = XML Developer's Guide<br>genre = Computer<br>price = 44.95<br>publish_date = 2000-10-01<br>description = An in-depth look at creating applications with XML.<br>book = <br>author = Ralls, Kim<br>title = Midnight Rain<br>genre = Fantasy<br>price = 5.95<br>publish_date = 2000-12-16<br>description = A former architect battles corporate zombies, an evil sorceress, and her own childhood to become queen of the world.<br></body>
</html>