Mozilla の XSL Transformations (XSLT)
by Axel Hecht
XSLT (XSL Transformations) は、XML ドキュメントを他の XML ドキュメントへ変換するために使われる言語です。
参考情報については、W3C 勧告 http://www.w3.org/TR/xslt.html をご覧ください。
Netscape DevEdge は、Netscape のサイトにある、一般的な XSLT に関する情報です。
XSLT への近道は、Norman Walsh の チュートリアル をご覧ください。
簡単なサンプル や これと同じように見える と思われるものもご覧ください。
開発者
よくある質問
品質保証
XSLT のバグ報告ガイド
JavaScript の中で XSLT を使う
Mozilla の XSLT の実装は TransforMiiX モジュールで行われています。 あなたは、トカゲ (訳注 : Mozilla のことです) の一部として、あるいはスタンドアローンのプロセッサとして、これを使うことができます。
- 開発者/連絡先
-
TransforMiiX の原作者は Keith Visco です。 主な開発者は Peter Van der Beken (モジュールオーナー)、Axel Hecht と Jonas Sicking です。 連絡は netscape.public.mozilla.layout.xslt か Bugzilla へどうぞ。
TransforMiiX ソースの contributors.html も忘れずにチェックしてくださいね。 - よくある質問
-
なぜ私のスタイルシートは適用されないのですか?
なぜ Internet Explorer は Mozilla と違う XSLT ネームスペースを要求するのですか?
IE で動くのに、Mozilla では動かないのですが?
transformNode するにはどうしたらいいですか?
TransformMiiX のスタンドアローン版をビルドするにはどうしたらいいですか?
ソースとスタイルシートのどちらも、MIME タイプが XML MIME タイプ、つまり
text/xmlかapplication/xmlにセットされていることを確かめてください。 XSLT ネームスペースはhttp://www.w3.org/1999/XSL/Transformです。 Mozilla で扱える MIME タイプは、IE とは対照的に厳密です。いくらか CGI を書いてみてください。きっと好きになるでしょう。バージョン 6 以下の IE は XSLT ワーキングドラフトを軽視したネームスペースを要求しますので、ぜひ Mozilla にアップデートしてください(笑) ただし IE6 以上や MSXML3 以上では、この問題は修正されています。 XSLT1.0 と IE におけるワーキングドラフトの実装はかなり違うので、私たちは「遺物」のサポートを提供しません。
そこにはより一層の違いがあります。その大部分は、IE が変換の後にしているのではないかと私たちが考えていることから生じています。 それは(私の推測では)、実際にレンダリングするものを生成するために、出力をシリアライズして分析します。一方 Mozilla はあなたの変換の結果を正確にレンダリングします。 私たちが HTML 出力を XHTML の生成によってサポートしているということに注意してください( 問題点 をご覧ください)。
Mozilla 1.2 ファイナル 以降、
transformToDocumentとtransformToFragmentがあります。JavaScript インターフェイス をご覧ください。スタンドアローン のページをご覧ください。
- TransforMiiX の問題点
-
Mozilla の XSLT モジュールは XML ドキュメントを表示することしかできません。そのため、HTML 出力メソッドは代替手段として実装されています。 TransforMiiX は代わりに XHTML ドキュメントを生成します。それは、XSLT スタイルシートを CSS スタイリングについてより厳密にさせます。
分かっている問題 :
- XHTML には HTML のような body 修正規則がありません。ですから body は完全なページへの拡張ができません。 ページ全般の結果を得るためには、body の代わりに html をデザインしてください。XSLT スタンドアローンはトカゲ (訳注 : Mozilla のことです) に入っているものと同じように、テストと、いいテストケースが必要です。
Mozilla における XSLT の 未解決バグ をご覧ください。
このページに間違いを見つけた場合は 51601 に追加してください。