現在、当サイト「mozilla.org 日本語版」の和訳文書は更新されておらず、mozilla.org の原文 よりも内容が古くなっている可能性があります。ご不便をお掛けしますが、最新の情報は原文をご確認ください。



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 HechtJonas Sicking です。 連絡は netscape.public.mozilla.layout.xslt か Bugzilla へどうぞ。
TransforMiiX ソースの contributors.html も忘れずにチェックしてくださいね。

よくある質問
  1. なぜ私のスタイルシートは適用されないのですか?

  2. ソースとスタイルシートのどちらも、MIME タイプが XML MIME タイプ、つまり text/xmlapplication/xml にセットされていることを確かめてください。 XSLT ネームスペースは http://www.w3.org/1999/XSL/Transform です。 Mozilla で扱える MIME タイプは、IE とは対照的に厳密です。いくらか CGI を書いてみてください。きっと好きになるでしょう。

  3. なぜ Internet Explorer は Mozilla と違う XSLT ネームスペースを要求するのですか?

  4. バージョン 6 以下の IE は XSLT ワーキングドラフトを軽視したネームスペースを要求しますので、ぜひ Mozilla にアップデートしてください(笑) ただし IE6 以上や MSXML3 以上では、この問題は修正されています。 XSLT1.0 と IE におけるワーキングドラフトの実装はかなり違うので、私たちは「遺物」のサポートを提供しません。

  5. IE で動くのに、Mozilla では動かないのですが?

  6. そこにはより一層の違いがあります。その大部分は、IE が変換の後にしているのではないかと私たちが考えていることから生じています。 それは(私の推測では)、実際にレンダリングするものを生成するために、出力をシリアライズして分析します。一方 Mozilla はあなたの変換の結果を正確にレンダリングします。 私たちが HTML 出力を XHTML の生成によってサポートしているということに注意してください( 問題点 をご覧ください)。

  7. transformNode するにはどうしたらいいですか?

  8. Mozilla 1.2 ファイナル 以降、transformToDocumenttransformToFragment があります。JavaScript インターフェイス をご覧ください。

  9. TransformMiiX のスタンドアローン版をビルドするにはどうしたらいいですか?

  10. スタンドアローン のページをご覧ください。

TransforMiiX の問題点

Mozilla の XSLT モジュールは XML ドキュメントを表示することしかできません。そのため、HTML 出力メソッドは代替手段として実装されています。 TransforMiiX は代わりに XHTML ドキュメントを生成します。それは、XSLT スタイルシートを CSS スタイリングについてより厳密にさせます。
分かっている問題 :
- XHTML には HTML のような body 修正規則がありません。ですから body は完全なページへの拡張ができません。 ページ全般の結果を得るためには、body の代わりに html をデザインしてください。

XSLT スタンドアローンはトカゲ (訳注 : Mozilla のことです) に入っているものと同じように、テストと、いいテストケースが必要です。

Mozilla における XSLT の 未解決バグ をご覧ください。

このページに間違いを見つけた場合は 51601 に追加してください。