XSLT3.0

XSLT3.0への道(6) xsl:mode

東日本大震災で被災された方に心よりお見舞いを申し上げます. 今回はxsl:modeを紹介します.私は最初ちょっと眺めただけでxsl:modeはストリーミングをサポートするために付け加わったものと思っていましたがそうではないようです.今までmode属性は、例えば…

XSLT3.0への道(5) xsl:iterateの続きの続き

次のスタイルシートは、$prmLimitで指定された金額(10,000)を越えない限度まで入力データを出力します.xsl:breakでそのときの計を出力します.xsl:next-iterationとxsl:breakはxsl:iterateの最後の位置になければなりません.xsl:chooseでいずれかを選択…

XSLT3.0への道(5) xsl:iterateの続き

前回xsl:iterateについて紹介しましたが、最後につけたWordMLの変換の例はxsl:tryを使ったり、saxon:assignを使ったりして、あまりにも「オタク」すぎたのでもう少し簡単な例を載せておきます. [入力XML] <data> <product type="pencil" maker="三菱" price="100" count="5"/> <product type="pencil" maker="コーリン" price="90" count="10"/> </product></product></data>

XSLT3.0への道(4) xsl:iterate

xsl:iterateについて紹介したいと思います.xsl:iterateですから、「繰り返し」→ループかな?と思いました.確かに繰り返しではありますが、tail-recursion(後方再帰呼び出し?)を簡単に作れるようにしたのが本質です.これはドラフトのNoteのところで解説…

XSLT3.0への道(3) 訂正 xsl:evaluate

すみません.xsl:evaluateの記述と例は誤りがありました. > xsl:evaluateの@xpathからは、xsl:variableやxsl:paramを参照することができないとされています. > 参照するには、xsl:evaluateの下位要素のxsl:with-paramを使います. は、誤りです.@xpathの…

XSLT3.0への道(2) xsl:try, xsl:catch

XSLT3.0からはXSLTスタイルシートでも、一般のプログラミング言語でいうところのtry、catchが使えるようになります.これはXSLT2.0で変数やパラメータの型定義が導入され、テンプレートのパラメータの必須有無、またテンプレートの戻り値も型定義できるよう…

XSLT3.0への道(1) xsl:evaluate

会社で開発用にSaxonをバージョンアップしました.Professional Edition (PE)ですが、XSLT3.0の機能の一部が使えます.せっかくXSLT3.0のワーキングドラフトも出ていることなので、少しXSLT3.0の例を紹介したいと思います.ただし、あくまでもW3Cのワーキン…

閑話休題:XSLT3.0への道

ひどいことにW3CのXSLのホームページは2009年11月からちっとも更新されていません.このページではXSL、XPath、XSLTをカバーしているはずなのですが、最新の動向は何もないように見えます. http://www.w3.org/Style/XSL/ しかしページが更新されていなくと…