.. は parent::node() の省略形で、コンテキストノードの親ノードを表す。
(../..は、親の親を指す)
[サンプルXML文書を表示](下のフレームに)
XMLソース
<?xml version="1.0" encoding="Shift_JIS" ?>
<?xml-stylesheet type="text/xsl" href="xpath03.xsl"?>
<家系>
<title>XPath:親 parentのテスト</title>
<叔父>叔父さん
<従姉妹>叔父さんの娘</従姉妹>
</叔父>
<親>お父さんお母さん
<姉>お姉さん
<おい>お姉さんの息子</おい>
</姉>
<私>おいら
<長男>長男
<孫1>長男の娘
<曾孫>長男の娘の子</曾孫>
</孫1>
</長男>
<長女>長女
<孫2>長女の息子</孫2>
</長女>
<次男>次男</次男>
</私>
<弟>弟
<めい>弟の娘</めい>
</弟>
<妹>妹</妹>
</親>
<叔母>叔母さん
<従兄弟>叔母さんの息子</従兄弟>
</叔母>
<end>以上です(2004/3/24)</end>
</家系>
XSLソース
<?xml version="1.0" encoding="Shift_Jis"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" encoding="Shift_JIS"/>
<xsl:template match="/">
<center><H3><xsl:value-of select="家系/title"/></H3></center>
<xsl:apply-templates select="家系/親/私"/>
</xsl:template>
<xsl:template match="私">
"parent::node()" --→<xsl:value-of select="name(parent::node())"/><br/>
".." --→<xsl:value-of select="name(..)"/><br/>
"../.." --→<xsl:value-of select="name(../..)"/><br/>
</xsl:template>
</xsl:stylesheet>
end(04/3/24)