XSLT をオンラインでテストするには
XML タブに XML を、XSLT タブにスタイルシートを貼り付けるか、.xml や .xsl のファイルをツールにドロップします。次に「変換」か Ctrl+Enter(Mac では ⌘+Enter)を押してください。「表示」では出力をウェブページとして、「ソース」では行番号付きのテキストとして確認できます。結果はコピーするか、.html、.xml、.txt のファイルとしてダウンロードできます。「サンプルを読み込む」では、RSS フィードを読みやすいページに変える実例を試せます。
このテスターが対応している内容
XSLT 1.0 を libxslt で実行します。長年 Chrome の XSLT を支えてきたエンジンで、オープンソースの xslt-polyfill プロジェクトが WebAssembly にしたものです。出力方式は html、xml、text のすべてに対応し、キー、モード、xsl:number も使えます。XSLT 2.0 と 3.0 には対応しておらず、upper-case() などの関数はエラーになります。xsl:message のテキストは結果の下に表示されます。ほかのファイルは読み込まないため、xsl:include と xsl:import は使えません。
Chrome の XSLT 廃止で何が変わりますか
Chrome は 2026年11月17日の Chrome 158 で XSLT の適用をやめます。XSLT で整えた RSS フィードやサイトマップは生の XML で表示され、スクリプトからは XSLTProcessor API が使えなくなります。このテスターはブラウザの XSLT を使わないので、その後も動きます。サイト運営者の選択肢は、ガイド「Chrome の XSLT 廃止で何をすればよいか」で説明しています。拡張機能 XMLNest は、Chrome でスタイルシートを再び適用し、選んだサイトで XSLTProcessor を復活させます。
よくあるスタイルシートのエラーと直し方
エラーの多くは XPath が原因です。select 式のつづり間違い、XSLT 2.0 の関数、宣言していない名前空間の接頭辞などです。式だけを確かめるならXPath テスターが使えます。メッセージにはスタイルシートの行が示され、「エラーの位置へ移動」でその行を選択できます。出力が空のときは、たいていテンプレートが要素に一致していません。XML にデフォルト名前空間があるなら、スタイルシートで接頭辞を宣言し、すべてのパスに付けてください。整形式でないファイルは、XML 構文チェッカーと同じように最初に見つかります。
XML と XSLT のファイルはアップロードされますか
いいえ。変換はこのタブの中で行い、このページのセキュリティ設定が、ツールからも出力からも通信を止めます。出力の中のスクリプトは動かず、ほかのサーバーにある画像も読み込みません。何も保存されず、タブを閉じればファイルは消えます。先に XML を整えるなら、XML 整形ツールを使ってください。
よくある質問
どの XSLT のバージョンに対応していますか。
libxslt による XSLT 1.0 と XPath 1.0 です。version="2.0" と書いたスタイルシートも、1.0 の機能だけなら動きますが、XSLT 2.0 で加わった関数はエラーになります。
出力が空になるのはなぜですか。
たいていは、どのテンプレートも一致していないためです。match と select のパスを確認してください。XSLT 1.0 では、デフォルト名前空間の要素に接頭辞が必要です。スタイルシートで宣言し、すべてのパスで使ってください。
スタイルシートにパラメーターを渡せますか。
まだできません。xsl:param はそれぞれの初期値のままです。別の値を試すには、スタイルシートで初期値を変えてください。
xsl:include や document() は使えますか。
いいえ。このツールはほかのファイルを読み込まないので、取り込むテンプレートは同じスタイルシートに書いてください。document() は何も取得せず、そのことが結果の下に表示されます。
「表示」でスクリプトが動かないのはなぜですか。
出力は隔離されたフレームに表示され、スクリプト、フォーム、外部ファイルは止められています。スタイルシートが思わぬコードを出力しても安全です。「ソース」ではいつでも出力全体を確認できます。
変換にはどのエンジンを使っていますか。
libxslt と libxml2 です。オープンソースの xslt-polyfill プロジェクトが BSD ライセンスで WebAssembly にしたもので、サーバーではなくブラウザの中で動きます。Chrome 自身の XSLT は使いません。