XSLTのキホン

は一個ではありません...

こんなことを書くと「あったりまえじゃん!」と言われそうですが、それでもXSLT 1.0のスタイルシートを見ていると意外とそのまま動いてしまっている例があります.それはXPath式でのロケーションステップに対する述語(predicate)の"[1]"という記述です. …

テンプレートと変数(3)

テンプレートの例ですが、変数の方はありきたりでしたのでちょっと極端なものを書いてみました. 次のテンプレートは、戻り値がitem()*で、いろいろな型のインスタンスを返します. <xsl:template name="generateSeq" as="item()*"> <xsl:sequence select="'ABC'"/> <xsl:sequence select="1"/> <xsl:sequence select="3.141567"/> <xsl:sequence select="true()"/> <xsl:element name="element"> </xsl:element></xsl:sequence></xsl:sequence></xsl:sequence></xsl:sequence></xsl:template>

テンプレートと変数(2)

XSLT2.0ではテンプレートと変数の構造は次のように定義されています. 6.1 Defining Templates http://www.w3.org/TR/xslt20/#defining-templates <xsl:template match? = pattern name? = qname priority? = number mode? = tokens as? = sequence-type> </xsl:template>

テンプレートと変数(1)

XSLT1.0が勧告になり、やがてMicrosoftがMSXML3を出し始めた頃は、結構スゴイということ話題になりました.使い始めたのですが、ともかく動かすこと優先でした.サンプルを見てトライアンドエラーでやっていて、恥ずかしながらXSLT1.0勧告を根本から理解して…

XSLTのキホン

最近XSLTの学習を始めた方がおられました.既存のXSLT2.0のスタイルシートを元にそれを改造するということをやっておられたそうです.そこでたまたまWEBで私のブログを見て参考にしていただいたようなのですが、以下のようにお叱りをいただきました. ① 「思…

ツリーのノードの巡回 (2)

Namspaceノードは、XSLTの使用するツリーモデルのXDM ()によれば次のように解説されています. http://www.w3.org/TR/xpath-datamodel/#NamespaceNode 6.4 Namespace Nodes Each Namespace Node represents the binding of a namespace URI to a namespace…

ツリーのノードの巡回

最近XSLTのレクチャーをやる機会がありましした.XSLTはXMLファイルを入力としてそれをツリー構造(ソースツリー)として扱い、変換を行って同じくツリー構造を生成します.(結果ツリー)このソースツリーは言ってみればノードの集合体なのですが、これを巡…