名前空間プレフィックスの出自を指定しなければXSLTプロッセサはその名前空間を解釈できない。そのためXML文書と同じ指定を<xsl:stylesheet>内に記述しなければならない。そしてロケーションパスの中では名前空間プレフィックスを付けて要素を特定する。
[サンプルXML文書を表示](下のフレームに)
XMLソース
<?xml version="1.0" encoding="Shift_JIS" ?>
<?xml-stylesheet type="text/xsl" href="namespace01.xsl"?>
<root>
<title>名前空間ノードの指定法</title>
<ken xmlns:city="http://homepage1.nifty.com/kodayan/c"
xmlns:tiji="http://homepage1.nifty.com/kodayan/t">
<name>鳥取県
<city:name>米子市</city:name>
<city:name>倉吉市</city:name>
<city:gun>東伯郡</city:gun>
<city:mura>泊村</city:mura>
<city:name>鳥取市</city:name>
<tiji:name>片山</tiji:name>
</name>
</ken>
<end>以上です(03/12/11)</end>
</root>
XSLソース
<?xml version="1.0" encoding="Shift_Jis"?>
<xsl:stylesheet xmlns:city="http://homepage1.nifty.com/kodayan/c" xmlns:tiji="http://homepage1.nifty.com/kodayan/t" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="html" encoding="Shift_JIS"/>
<xsl:template match="/">
<center><H3><xsl:value-of select="root/title"/></H3></center>
<xsl:apply-templates select="root/ken"/>
</xsl:template>
<xsl:template match="ken">
<xsl:value-of select="name/text()"/><br/>
<xsl:value-of select="name/city:name[2]"/><br/>
<xsl:value-of select="name/tiji:name"/>
<hr/>
<xsl:for-each select="name/city:*">
(<xsl:value-of select="." />)
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
end(03/12/11)