XSLT と XPath の理解
とりあえずカレントノードとコンテキストノード。
カレントノード = current() で、コンテキストノード = self::node()。カレントノードは XSLT のもの。XPath には current() という関数はないし、そもそも必要ない。
current() が変わるのは xsl:template 又は xsl:for-each。選択 (select) されたノードが current() になる。
self::node() が変わるのは /, [ ]。(別に変わるとは限らない……)
基準点とノードテストがまだあんまり理解できてない……
関連エントリー
- XSLT for-each でカレントドキュメントが変わる <xsl:for-each select="$document('some.xml')"> <xsl:apply-template sele...
- XPath の紛らわしさ XPath は XPath という名前だけでも誤解を招く。Path というだけにディレクトリパスとかを連想する。まぁ、ディレクトリパスとは類...
- Ruby で XML をまじめに使いたい 標準添付の rexml は軽くやるぐらいなら十分だけど、名前空間関係がちょっと怪しい。今時 XML を真面目に使えないとなるとやばい。 RA...
- XSLT と DOM との相違 XSLT では属性ノードとその親ノード (要素) との関係は片方向……属性ノード側からは @attr[. = ../../@attr] (省...
- Sablotron にノード集合を渡す。 XSLT エンジンにノード集合渡したいことが多々あるけど、params にナマの XML を渡しても当たり前にサニタライズされたただの文字列...