File: Data.xml
<poem xmlns:red="http://www.java2s.com/red"
xmlns:blue="http://www.java2s.com/blue">
<red:title>From Book IV</red:title>
<blue:verse>line 1</blue:verse>
<red:verse>line 2</red:verse>
<blue:verse>line 3</blue:verse>
<verse>line 4</verse>
</poem>
File: Transform.xslt
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:red="http://www.java2s.com/red"
xmlns:blau="http://www.java2s.com/blue" version="1.0">
<xsl:output method="text" />
<xsl:template match="poem">
Namespace nodes:
<xsl:for-each select="namespace::*">
<xsl:value-of select="name()" />
<xsl:text> </xsl:text>
</xsl:for-each>
<xsl:apply-templates />
</xsl:template>
<xsl:template match="blau:verse">
Found a blue verse. name
<xsl:value-of select="name()" />
local-name
<xsl:value-of select="local-name()" />
namespace-uri
<xsl:value-of select="namespace-uri()" />
contents
<xsl:apply-templates />
</xsl:template>
<xsl:template match="red:*">
Found a red node: name
<xsl:value-of select="name(.)" />
local-name
<xsl:value-of select="local-name(.)" />
namespace-uri
<xsl:value-of select="namespace-uri(.)" />
contents
<xsl:apply-templates />
</xsl:template>
<xsl:template match="verse">
Found a verse element from the default namespace: name
<xsl:value-of select="name(.)" />
local-name
<xsl:value-of select="local-name(.)" />
namespace-uri
<xsl:value-of select="namespace-uri(.)" />
contents
<xsl:apply-templates />
</xsl:template>
<xsl:template match="*" />
</xsl:stylesheet>
Output:
Namespace nodes:
xml blue red
Found a red node: name
red:title
local-name
title
namespace-uri
http://www.java2s.com/red
contents
From Book IV
Found a blue verse. name
blue:verse
local-name
verse
namespace-uri
http://www.java2s.com/blue
contents
line 1
Found a red node: name
red:verse
local-name
verse
namespace-uri
http://www.java2s.com/red
contents
line 2
Found a blue verse. name
blue:verse
local-name
verse
namespace-uri
http://www.java2s.com/blue
contents
line 3
Found a verse element from the default namespace: name
verse
local-name
verse
namespace-uri
contents
line 4