ファイル ID : 5

tXSLTProcesser 0.0.1

ポスト @ 0:42:01 | mozilla

Mozilla でほんの少し綺麗な XSLT 変換結果を得るための JavaScript です(サンプルページ)。 transformToDocument() の結果に関して、

  • XML 及び HTML 出力では 標準及び <xsl:output indent="yes" /> でインデントされます。
  • XML 出力では XML 宣言が付きます(versionencodingstandalone)
  • テキスト出力(<xsl:ouput method="text">) では テキストだけが出力されます (<transformiix:result/>、</transformiix:result/> 無し)。

これらは transformToFragment() では起きません。

変換結果に勝手に名前空間接頭辞 a0: が付く問題は手元の Trunk (Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9a1) Gecko/20050828 Firefox/1.6a1 ID:2005082809) では再現しないため対策をとっていません。

使い方

tXSLT.js を読み込んでおいてから new XSLProcesser() の代わりに new tXSLTProcesser() としてください。XSLProcesser() のメソッドは全て使えるはずです。

テキスト出力ではテキストのみが出力されるので処理に注意してください。

ライセンス

インデントを機能させるために Sageopml.js から xmlIndent関数をぱくってます。よって Orignal Code が Sage の MPL/LGPL/GPL とします。

このスクリプトは永遠の開発(放置)版です。このスクリプトの利用によって発生したいかなる問題も製作者は負いません。

課題

  • ライセンスの整理
  • transformToFragment
  • HTML 出力の改善
    • DOCTYPE 宣言 ?
    • 勝手に入る <META http-equiv="Content-Type" content="..."/> 除去 ?
    • XHTML 化?

参考

tXSLT.js ( application/x-javascript : 6 KB)

MD5 : 1131407f9d866bc8787335906f5fb8a3