XSLT コンテキスト(ドット)の概要
命令が文書階層を<xsl:apply-templates>トラバースし、命令が <xsl:for-each> XPath 式に一致する各ノードを検査すると、現在のコンテキスト・ノードは変更されます。すべての相対ノード参照は、現在のコンテキスト ノードに対して相対的です。このノードは短縮された" (.read: dot) であり、XPath 式で参照でき、現在のノードへの明示的な参照を可能にします。
次の例では、「.」の 4 つの用途が含まれています。ノードはsystem、 "."の値が変更される命令内<xsl:for-each>で使用するための変数に保存されますsystem。式はfor-eachselect、要素の値を意味するために"".をname使用します。"."は要素のname値を要素に引き出<tag>すために使用されます。次に、テストは<xsl:if>""を.使用して現在のコンテキストノードの値を参照します。
<xsl:template match="system"> <xsl:variable name="system" select="."/> <xsl:for-each select="name-server/name[starts-with(., '10.')]"> <tag><xsl:value-of select="."/></tag> <xsl:if test=". = '10.1.1.1'"> <match> <xsl:value-of select="$system/host-name"/> </match> </xsl:if> </xsl:for-each> </xsl:template>