XSLT テスター

XML に XSLT 1.0 のスタイルシートを適用し、変換結果とそのソースを確認できます。処理はすべてお使いのブラウザの中で行うため、ファイルがアップロードされることはありません(プライバシーポリシー(英語))。

XSLT テスターはブラウザの中だけで動作するため、JavaScript が必要です。このページのほかの部分は JavaScript なしでも表示できます。代わりに、コマンドラインの xsltproc や、Python の lxml ライブラリを使う方法もあります。

入力

XML と XSLT を貼り付けるかドロップするか、サンプルを読み込んでください。ファイルはブラウザの中で読み込まれ、アップロードされることはありません。Ctrl+Enter で変換できます。

結果

XSLT 1.0 です。出力の中のスクリプトは動かず、ウェブからは何も読み込みません。

変換結果がここに表示されます。

このツールは役に立ちましたか? XMLNest を応援する

評価 5.0/5(3 件)

「Load example」で、XML タブと XSLT タブに RSS フィードとそのスタイルシートを入力します。「Transform」を押すと「Rendered」表示に変換後のページが現れ、「Source」表示では同じ結果を HTML のコードで確認できます。 (25 秒、音声なし、英語の画面)

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 は使いません。