コンテキストノード
context node
XSLTのスクリプトが実行されているときに、個々のテンプレートを処理する際に基準点となるノードをコンテキストノードという。XSLTスクリプトの中にXPath式を書く時に、ルートノードを起点とした絶対指定の他に、コンテキストノードを起点とした相対指定を書くことができる。一般的に、XPath式は相対指定で書かれることが多いが、コンテキストノードの位置を勘違いすると、XPath式が意図通りに解釈されないことになる。これは、XSLTスクリプトで起きるトラブルの典型的なパターンの一つである。たとえば、以下のようなXSLTのテンプレートがあったとする。
<xsl:template match="para"> |
apply-templates要素のselect属性に書かれたXPath式を評価する際、itemという要素名を評価する場合のコンテキストノードは、templateでmatchさせたpara要素にある。そのため、ここでは、para要素の子要素のitem要素が対象となる。しかし、position()=1という式を評価するときには、コンテキストノードはpara要素ではなく、item要素になる。そのため、この式は、全体で、1番目のitem要素を選択する意図を表現している。決して、1番目のpara要素の子要素にくるitem要素ではない。
XML & SOA フォーラム 新着記事
- QAフレームワーク:仕様ガイドラインが勧告に昇格 (2005/10/21)
データベースの急速なXML対応に後押しされてか、9月に入って「XQuery」や「XPath」に関係したドラフトが一気に11本も更新された - XML勧告を記述するXMLspecとは何か (2005/10/12)
「XML 1.0勧告」はXMLspec DTDで記述され、XSLTによって生成されている。これはXMLが本当に役立っている具体的な証である - 文字符号化方式にまつわるジレンマ (2005/9/13)
文字符号化方式(UTF-8、シフトJISなど)を自動検出するには、ニワトリと卵の関係にあるジレンマを解消する仕組みが必要となる - XMLキー管理仕様(XKMS 2.0)が勧告に昇格 (2005/8/16)
セキュリティ関連のXML仕様に進展あり。また、日本発の新しいXMLソフトウェアアーキテクチャ「xfy technology」の詳細も紹介する
|
|