| パラダイム | 宣言的 |
|---|---|
| 開発者 | ワールドワイドウェブコンソーシアム(W3C) |
| 初登場 | 1998 |
| 安定版リリース | 3.0 / 2017年6月8日 |
| ファイル名拡張子 | .xslt |
| Webサイト | www.w3.org/TR/xslt-30/ |
| 主な実装 | |
| libxslt、Saxon、Xalan | |
| 影響を受けた | |
| DSSSL | |
| ファイル名拡張子 | .xslt |
|---|---|
| インターネットメディアの種類 |
アプリケーション/xslt+xml |
| 統一型識別子 (UTI) | org.w3.xsl |
XSLT(Extensible Stylesheet Language Transformations)は、もともとXML文書を他のXML文書[1] 、またはWebページ用のHTML、プレーンテキスト、XSL Formatting Objectsなどの他の形式に変換するために設計された言語です。これらの形式は、後で PDF、PostScript、 PNGなどの形式に変換できます。[2] JSONとプレーンテキスト変換のサポートは、XSLT 1.0仕様の後のアップデートで追加されました。
2022 年 8 月現在[アップデート]、この言語の最新の安定バージョンは XSLT 3.0 であり、2017 年 6 月に勧告ステータスを達成しました。
XSLT 3.0 の実装は、Java、.NET、C/C++、Python、PHP、NodeJS をサポートしています。XSLT 3.0 JavaScript ライブラリも Web ブラウザ内でホストできます。最近の Web ブラウザには、XSLT 1.0 のネイティブ サポートも含まれています。[3]
XSLT文書変換では、元の文書は変更されず、既存の文書の内容に基づいて新しい文書が作成されます。[4]通常、入力文書はXMLファイルですが、リレーショナルデータベーステーブルや地理情報システムなど、プロセッサがXQueryおよびXPathデータモデルを構築できるものであれば何でも使用できます。[1]
XSLTはもともとXML変換専用の言語として設計されましたが、この言語はチューリング完全であり、理論的には任意の計算が可能です。[5]
歴史
XSLTは関数型言語[6]やSNOBOLやAWKなどのテキストベースのパターンマッチング言語の影響を受けています。その最も直接的な前身はDSSSLであり、XSLTがXMLに対して行ったことをSGMLに対して行いました。[7]
- XSLT 1.0: XSLTは、 1998年から1999年にかけてのワールドワイドウェブコンソーシアム(W3C)の拡張スタイルシート言語(XSL)開発プロジェクトの一部であり、XSL-FOとXPathも開発されました。編集者のJames Clark氏を含む、XSLTを開発した標準化委員会の一部のメンバーは、以前DSSSLに携わっていました。XSLT 1.0は、1999年11月にW3C勧告として公開されました。 [8]古いバージョンであるにもかかわらず、XSLT 1.0 [9] は、 WebブラウザーやLAMPなどの環境ではネイティブにサポートされていないため、今でも広く使用されています(2018年現在[アップデート])。
- XSLT 2.0: 2001年にバージョン1.1を作成する試みが失敗に終わった後、[10] XSLワーキンググループはXQueryワーキンググループと協力し、XMLスキーマに基づくより豊富なデータモデルと型システムを備えたXPath 2.0 [11]を作成しました。これを基にして、 Michael Kayの編集の下で開発されたXSLT 2.0 [12]は、2007年1月に勧告ステータスに達しました。[13] XSLT 2.0の最も重要な革新は次のとおりです。
- 正規表現を使用した文字列操作
- 日付、時刻、期間を操作するための関数と演算子
- 複数の出力ドキュメント
- グループ化(フラットな入力シーケンスから階層構造を作成する)
- より豊富な型システムと強力な型チェック
- XSLT 3.0: 2017年6月8日にW3C勧告となった。主な新機能は以下の通り: [14]
- ストリーミング変換:以前のバージョンでは、入力文書全体を処理する前にメモリに読み込む必要があり、[15]処理が完了するまで出力を書き込むことができませんでした。XSLT 3.0ではXMLストリーミングが可能になり、メモリに収まらないほど大きな文書を処理する場合や、 XMLパイプラインで変換が連鎖している場合に役立ちます。
- 大規模なスタイルシートのモジュール性を向上させるパッケージ。
- たとえば、xsl:try 命令による動的エラーの処理が改善されました。
- マップと配列をサポートし、XSLT で XML だけでなく JSON も処理できるようになります。
- 関数は他の(高階)関数の引数になることができるようになりました。
設計と処理モデル

XSLTプロセッサは、1つ以上のXMLソース文書と1つ以上のXSLTスタイルシートを受け取り、それらを処理して1つ以上の出力文書を生成します。[16] [17] Cのような広く実装されている命令型プログラミング言語とは対照的に、XSLTは宣言型です。[18]基本的な処理パラダイムはパターンマッチングです。[19]テンプレートルールは、ステートフル環境で実行するアクションの命令的なシーケンスをリストするのではなく、プロセッサが特定のXPathのようなパターンに一致するノードに遭遇した場合に、そのノードを処理する方法のみを定義し、テンプレートの内容は、評価された形式、つまりプロセッサの出力の基礎となる結果ツリーを直接表す 関数式を効果的に構成します。
一般的なプロセッサの動作は、次のようになります。まず、スタイルシートが既に読み込まれ準備されていると仮定して、プロセッサは入力 XML ドキュメントからソースツリーを構築します。次に、ソース ツリーのルート ノードを処理し、スタイルシート内でそのノードに最も一致するテンプレートを見つけて、テンプレートの内容を評価します。各テンプレートの指示は、通常、プロセッサに結果ツリー内にノードを作成するか、ルート ノードと同じ方法でソース ツリー内の他のノードを処理するように指示します。最後に、結果ツリーは XML または HTML テキストとしてシリアル化されます。
XPath
XSLT はXPath を使用してソース ドキュメント ツリーのサブセットを識別し、計算を実行します。XPath はさまざまな関数も提供しており、XSLT 自体がそれらをさらに拡張します。
XSLT 1.0 は XPath 1.0 を使用し、XSLT 2.0 は XPath 2.0 を使用します。XSLT 3.0 は、XPath 3.0 または 3.1 のどちらでも動作します。1.0 と 2.0 の場合、XSLT と XPath の仕様は同じ日に公開されました。ただし、3.0 では同期されなくなり、XPath 3.0 は 2014 年 4 月に勧告となり、続いて 2017 年 2 月に XPath 3.1 が勧告となり、2017 年 6 月に XSLT 3.0 が勧告となりました。
XQueryの比較
XSLT の機能は、当初は大規模な XML ドキュメントのコレクション用のクエリ言語として考案された XQueryの機能と重複しています。
XSLT 2.0 および XQuery 1.0 標準は、W3C内の別々のワーキング グループによって開発され、適切な場合に共通のアプローチを確保するために協力しています。これらは同じデータ モデル、型システム、および関数ライブラリを共有し、どちらもサブ言語として XPath 2.0 を含んでいます。
ただし、この 2 つの言語は異なる伝統に根ざしており、異なるコミュニティのニーズに応えています。XSLT は主にスタイルシート言語として考案され、その主な目的は画面上、Web ( Web テンプレート言語として)、または紙上で人間の読者向けに XML をレンダリングすることでした。XQuery は主にSQLの伝統に則ったデータベース クエリ言語として考案されました。
2つの言語は異なるコミュニティに由来するため、XSLTはより柔軟な構造を持つ物語文書の処理に優れており、XQueryはリレーショナル結合などのデータ処理に優れています。[20]
メディアの種類
要素<output>はオプションで属性 を取ることができmedia-type、これにより結果の出力のメディア タイプ<xsl:output output="xml" media-type="application/xml"/>(または MIME タイプ) を設定できます。例: 。XSLT 1.0 勧告では、より一般的な属性タイプが推奨されていますtext/xmlが、application/xml長い間 XSLT に登録されたメディア タイプがなかったため、 がこの間にtext/xsl事実上の標準になりました。XSLT 1.0 では、media-type値の使用方法は指定されていませんでした。
XSLT 2.0のリリースに伴い、W3Cは2007年にMIMEメディアタイプの登録を推奨しapplication/xslt+xml[21] 、後にInternet Assigned Numbers Authorityに登録されました。[22]
XSLTの1.0以前のワーキングドラフトではtext/xsl埋め込み例に使用されていましたが、このタイプはMicrosoftによってInternet Explorer [23]と2012年頃のMSXMLで実装され、推進され続けました。また、xml-stylesheet他のブラウザの処理命令でも広く認識されています。そのため、実際には、この処理命令を使用してブラウザで変換を制御したいユーザーは、この未登録のメディアタイプを使用する必要がありました。[24]
例
これらの例では、次の受信 XML ドキュメントを使用します。
<?xml version="1.0" ?>
<persons>
<person username= "JS1" > <name> John </name> <family-name> Smith </family-name> </person> <person username= "MI1" > <name> Morka </name> <family-name> Ismincius </family-name> </person> </persons>
例 1 (XML から XML への変換)
この XSLT スタイルシートは、XML ドキュメントを変換するためのテンプレートを提供します。
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl= "http://www.w3.org/1999/XSL/Transform" version= "1.0" > <xsl:output method= "xml" indent= "yes" />
<xsl:template match= "/persons" > <root> <xsl:apply-templates select= "person" /> </root> </xsl:template>
<xsl:template match= "person" > <name username= "{@username}" > <xsl:value-of select= "name" /> </name> </xsl:template>
</xsl:スタイルシート>
評価の結果、別の構造を持つ新しい XML ドキュメントが生成されます。
<?xml version="1.0" encoding="UTF-8"?>
<root>
<name username= "JS1" > John </name> <name username= "MI1" > Morka </name> </root>
例 2 (XML を XHTML に変換する)
次のサンプルXSLTファイルを処理します
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet
version= "1.0" xmlns:xsl= "http://www.w3.org/1999/XSL/Transform" xmlns= "http://www.w3.org/1999/xhtml" >
<xsl:出力方法= "xml"インデント= "yes"エンコード= "UTF-8" />
<xsl:template match= "/persons" > <html> <head> <title> XML のテスト例</title> </head> <body> <h1>人物</h1> <ul> <xsl:apply-templates select= "person" > <xsl:sort select= "family-name" /> </xsl:apply-templates> </ul> </body> </html> </xsl:template>
<xsl:template match= "人" > <li> <xsl:value-of select= "姓" /><xsl:text>、</xsl:text><xsl:value-of select= "名前" /> </li> </xsl:template>
</xsl:スタイルシート>
上記の XML 入力ファイルを使用すると、次のXHTMLが生成されます(ここではわかりやすくするために空白が調整されています)。
<?xml version="1.0" encoding="UTF-8"?>
<html xmlns= "http://www.w3.org/1999/xhtml" > <head> <title> XML のテスト例</title> </head> <body> <h1>人物</h1> <ul> <li> Ismincius, Morka </li> <li> Smith, John </li> </ul> </body> </html>
この XHTML は、Web ブラウザーでレンダリングされると、以下の出力を生成します。

ウェブブラウザがXML文書にXSL変換を適用できるようにするには、XMLスタイルシート処理命令をXMLに挿入します。たとえば、上記の例2のスタイルシートが「example2.xsl」として利用できる場合は、次の命令を元のXMLに追加できます。[25]
<?xml-stylesheet href="example2.xsl" type="text/xsl" ?>
この例では、text/xslW3C仕様[25]によれば、 は技術的には誤りです(W3C仕様では、 型は であるべきだとされていますapplication/xslt+xml)が、2009年時点ではブラウザ間で広くサポートされている唯一のメディアタイプであり、2021年でも状況は変わりません。
プロセッサの実装
- Altovaの RaptorXML は、XMLSpy 開発ツールキットで使用できる XSLT 3.0 プロセッサであり、REST インターフェイスを使用して呼び出される独立したサーバー実装としても使用できます。
- IBM は、 Datapowerブランドの専用ハードウェア アプライアンスに組み込まれた XSLT 処理を提供しています。
- libxsltはMITライセンスの下で公開されているフリー ライブラリで、商用アプリケーションで再利用できます。libxmlをベースにしており、速度と移植性を考慮してCで実装されています。XSLT 1.0とEXSLT拡張機能をサポートしています。[26]
- これは、macOS [28]や多くのLinuxディストリビューションに含まれているxsltproc [27]を介してコマンドラインで使用することができ、Cygwin [29]を介してWindowsで使用することもできます。
- 例えばSafariやChromeウェブブラウザでそれぞれ使用されているWebKitやBlinkレイアウトエンジンは、 XSL変換を行うためにlibxsltライブラリを使用しています。[30]
- Python [31]、 [ Perl ] 、[32]、[ Ruby]、[33] 、[ PHP]、[ 34]、[ Common Lisp]、[35]、[Tcl ] 、[36]、[C++ ]のバインディングが存在します。[37]
- Microsoftは2つのXSLTプロセッサ(どちらもXSLT 1.0のみ)を提供しています。初期のプロセッサMSXMLはCOMインターフェイスを提供し、MSXML 4.0からはコマンドラインユーティリティも含まれています
msxsl.exe。[38] .NETランタイムには、ライブラリ内に別の組み込みXSLTプロセッサが含まれていますSystem.Xml.Xsl。 - SaxonはXSLT 3.0およびXQuery 3.1プロセッサで、スタンドアロン操作用およびJava、JavaScript 、.NET用のオープンソース版と独自版があります。別の製品であるSaxon-JS [39]は、 Node.jsとブラウザ上でXSLT 3.0処理を提供します。
- xjslt は、 Node.jsとブラウザをサポートするJavaScript用のオープンソースXSLT 2.0 コンパイラです。
- Xalanは、 Apache Software Foundationのオープン ソース XSLT 1.0 プロセッサで、Java および C++ で使用できます。Xalan プロセッサのバリアントは、Oracle の標準 Java ディストリビューションにデフォルトの XSLT プロセッサとして含まれています。
- ウェブブラウザ: Safari、Chrome、Firefox、Opera、Internet ExplorerはすべてXSLT 1.0(のみ)をサポートしています。[40]ブラウザはXMLファイルのオンザフライ変換を実行し、ブラウザウィンドウに変換出力を表示できます。これは、XML文書にXSLを埋め込むか、XML文書からXSL命令を含むファイルを参照することによって行われます。後者は、セキュリティモデルのため、ローカルファイルシステムのファイルではChromeでは機能しない可能性があります。[41]
- Adobe AXSLEエンジン、独自ライブラリ
パフォーマンス
初期のXSLTプロセッサのほとんどはインタープリタでした。最近では、移植可能な中間言語(Javaバイトコードや.NET共通中間言語など)をターゲットとして使用したコード生成がますます一般的になっています。ただし、インタープリタ製品でも通常は分析フェーズと実行フェーズが別々に提供されており、最適化された式ツリーをメモリ内に作成し、複数の変換を実行するために再利用できます。これにより、同じ変換が異なるソースドキュメントに1秒間に何度も適用されるオンラインパブリッシングアプリケーションで、パフォーマンスが大幅に向上します。[42]この分離は、XSLT処理API( JAXPなど)の設計に反映されています。
初期の XSLT プロセッサには、最適化がほとんどありませんでした。スタイルシート ドキュメントはドキュメント オブジェクト モデルに読み込まれ、プロセッサはそれを直接処理します。XPathエンジンも最適化されていませんでした。しかし、 XSLTプロセッサは、関数型プログラミング言語やデータベース クエリ言語に見られる最適化手法、たとえば式ツリーの静的書き換え (たとえば、計算をループから移動) や、遅延パイプライン評価による中間結果のメモリ使用量の削減 (および、プロセッサがすべての部分式を完全に評価せずに式を評価できる場合に「早期終了」を可能にする) などを使用することが多くなっています。多くのプロセッサは、汎用 DOM 実装よりも
following-sibling::*[1]大幅に効率の高い (スペースと時間の両方で) [43]ツリー表現も使用します。
2014年6月、デビー・ロケットとマイケル・ケイは、 XSLTプロセッサ用のオープンソースのベンチマークフレームワーク「XT-Speedo」を発表しました。[44]
参照
- XSLT 要素– よく使用される XSLT 構造のリスト。
- Muenchian グループ化– XSLT1 と XSLT2+ の間の方言差異。
- 拡張スタイルシート言語- XSLT が属する言語ファミリー
- XQuery と XSLT の比較
- XSL フォーマット オブジェクトまたはXSL-FO – ドキュメント用の XML ベースの言語。通常はソース ドキュメントを XSLT で変換して生成され、フォーマットされた出力を作成するために使用されるオブジェクトで構成されます。
- アイデンティティ変換– 変換パイプラインでXMLツリーからデータ要素を追加または削除するフィルタチェーンの開始点
- Apache Cocoon – XSLT やその他のトランスフォーマーを使用してデータを処理するためのJavaベースのフレームワーク。
参考文献
- ^ ab "Transformation". 2012-09-19.
- ^ 「XML 出力メソッド」。2012 年 9 月 19 日。
- ^ 「XSLT は何のために使用されるのか?」 2018-02-07。
- ^ 「はじめに」。XSL 変換 (XSLT) バージョン 1.0 W3C 勧告。W3C。1999 年 11 月 16 日。2012年11 月 7 日閲覧。
- ^ XSLT バージョン 2.0 はチューリング完全です: 純粋な変換ベースの証明
- ^ Michael Kay. 「XSLT とはどのような言語か?」IBM . 2016 年7 月 8 日閲覧。
- ^ 「XSL の提案」 W3C 。 2012 年11 月 7 日閲覧。
- ^ 「XML およびセマンティック ウェブ W3C 標準タイムライン」(PDF)。2013 年 4 月 24 日時点のオリジナル(PDF)からアーカイブ。2012年 2 月 4 日に取得。
- ^ 「XSL 変換 (XSLT)」。W3.org。1999 年 11 月 16 日。2014 年 7 月 12 日閲覧。
- ^ 「XSL 変換 (XSLT) バージョン 1.1」。W3.org。2001 年 8 月 24 日。2014 年 7 月 12 日閲覧。
- ^ 「XML Path Language (XPath) 2.0 (第2版)」。W3.org。2010年12月14日。 2014年7月12日閲覧。
- ^ 「XSL 変換 (XSLT) バージョン 2.0」。W3.org。2007 年 1 月 23 日。2014 年 7 月 12 日閲覧。
- ^ 「XML およびセマンティック ウェブ W3C 標準タイムライン」(PDF)。2012 年 2 月 4 日。2013 年 4 月 24 日時点のオリジナル(PDF)からアーカイブ。2012年 2 月 4 日に取得。
- ^ 「XSLT 3.0 の新機能」w3。2014年1 月 6 日閲覧。
- ^ Kay, Michael. 「ストリーミング XSLT プロセッサ」。Balisage: The Markup Conference 2010 Proceedings。2012年2 月 15 日閲覧。
- ^ Flatt, Amelie; Langner, Arne; Leps, Olof (2022)、「フェーズ III: モデルからのアーティファクトの生成」、Akoma Ntoso アプリケーション プロファイルのモデル駆動型開発、Cham: Springer International Publishing、pp. 31–37、doi :10.1007/978-3-031-14132-4_5、ISBN 978-3-031-14131-7、 2023-01-07取得
- ^ 「XSL 変換 (XSLT) バージョン 2.0 (第 2 版)」www.w3.org 。 2023 年 2 月 7 日取得。
例: 複数の結果ドキュメント
- ^ 「XSLT の驚異を発見: XSLT の癖」。2011 年 7 月 9 日にオリジナルからアーカイブ。2011年 2 月 11 日に取得。XSLT
は、独特の宣言型の特徴を持つ非常に特殊な言語です。
- ^ Kay, Michael. 「XSLT とはどのような言語か?」IBM . 2013 年11 月 13 日閲覧。
- ^ 「Saxonica: XSLT と XQuery」www.saxonica.com . 2022 年 6 月 29 日閲覧。
- ^ 「XSL 変換 (XSLT) バージョン 2.0」。W3C。2012年10 月 19 日閲覧。
- ^ 「アプリケーションメディアタイプ」。IANA 。 2012年10月19日閲覧。
- ^ 「ブラウザで XML を表示するための XSLT 要件」。Microsoft。2012年10 月 19 日閲覧。
- ^ Kay, Michael (2008). XSLT 2.0 および XPath 2.0 プログラマーズリファレンス. Wiley. p. 100. ISBN 978-0-470-19274-0。
- ^ ab 「XSL 変換 (XSLT) バージョン 1.0: W3C 勧告 - 埋め込みスタイルシート」。W3C。1999 年 11 月 16 日。2016 年9 月 20 日閲覧。
- ^ 「GNOME 用 XSLT C ライブラリ: libxslt」 。2012年11 月 23 日閲覧。
- ^ 「GNOME 用 XSLT C ライブラリ: xsltproc ツール」 。2012年11 月 23 日閲覧。
- ^ 「xsltproc man page」 。 2012年11月23日閲覧。
- ^ 「新しいパッケージ: libxslt」 。 2012年11月23日閲覧。
- ^ 「WebKit オープンソース プロジェクト - XSLT」 。2009年 10 月 25 日閲覧。
- ^ 「Gnome の XML C パーサーとツールキット: Python とバインディング」 。2012年11 月 23 日閲覧。
- ^ 「XML::LibXSLT - GNOME libxslt ライブラリへのインターフェース」 CPAN . 2012 年11 月 23 日閲覧。
- ^ "libxslt-ruby" . 2012年11月23日閲覧。
- ^ "libxml" . 2012年11月23日閲覧。
- ^ "cl-libxml2 libxml2 および libxslt ライブラリの高レベルラッパー"。
- ^ "TclXML" . 2013年5月21日閲覧。
- ^ "libxml++". sourceforge.net . 2012年11月23日閲覧。
- ^ 「コマンド ライン変換ユーティリティ (msxsl.exe)」。Microsoft。2012年10 月 22 日閲覧。
- ^ "Saxon-JS".サクソニカ。2018 年9 月 6 日に取得。
- ^ 「一般的な XSLT エラー」。MDN Web Docs。Mozilla。2023年 7 月 10 日。2024 年9 月 16 日に閲覧。
- ^ 「問題 58151: XMLHttpRequest を使用してローカル ファイル システムに XML ファイルをロードできない」。
- ^ Saxon: XSLT プロセッサの構造 - 一般的な XSLT プロセッサの実装と最適化の詳細を説明する記事。
- ^ Lumley, John; Kay, Michael (2015 年6 月)。「XSLT のパターン マッチング パフォーマンスの向上」。XML London 2015 : 9–25。doi : 10.14337/XMLLondon15.Lumley01 (2024 年 11 月 1 日非アクティブ) 。ISBN 978-0-9926471-2-4。
{{cite journal}}: CS1 メンテナンス: DOI は 2024 年 11 月時点で非アクティブです (リンク) - ^ Kay, Michael; Lockett, Debbie (2014 年 6 月)。「XSLT パフォーマンスのベンチマーク」。XML London 2014 : 10–23。doi : 10.14337/XMLLondon14.Kay01 (2024 年 11 月 1 日非アクティブ) 。ISBN 978-0-9926471-1-7。
{{cite journal}}: CS1 メンテナンス: DOI は 2024 年 11 月時点で非アクティブです (リンク)
さらに読む
- Doug Tidwell 著のXSLT、O'Reilly 発行 ( ISBN 0-596-00053-7 )
- Sal Mangano 著『XSLT Cookbook』、O'Reilly 発行 ( ISBN 0-596-00974-7 )
- XSLT 2.0 プログラマーズ リファレンス( Michael Kay著、 ISBN 0-764-56909-0 )
- XSLT 2.0 および XPath 2.0 プログラマーズ リファレンス(Michael Kay 著、ISBN 978-0-470-19274-0 )
- XSLT 2.0 Web 開発、 Dmitry Kirsanov 著 ( ISBN 0-13-140635-3 )
- XSL コンパニオン、第 2 版、Neil Bradley 著、Addison-Wesley 発行 ( ISBN 0-201-77083-0 )
- XSLT and XPath on the Edge (Unlimited Edition) 、Jeni Tennison著、Hungry Minds Inc、米国発行 ( ISBN 0-7645-4776-3 )
- XSLT & XPath、XML 変換ガイド、 John Robert Gardner および Zarella Rendon 著、Prentice-Hall 発行 ( ISBN 0-13-040446-2 )
- XSL-FO (Dave Pawson 著、O'Reilly 発行、ISBN 978-0-596-00355-5 )
外部リンク
- ドキュメント
- XSLT 1.0 W3C 勧告
- XSLT 2.0 W3C 勧告
- XSLT 3.0 W3C 勧告
- XSLT - MDC ドキュメントは、Mozilla Developer Network のWayback Machineに 2011-12-26 にアーカイブされています。
- XSLT リファレンス (MSDN)
- XSLT 要素 (Saxon)
- XSLT の紹介とリファレンス
- XSLT コードライブラリ
- EXSLT は、XSLT の拡張機能を提供するための広範なコミュニティ イニシアチブです。
- FXSL は、XSLT の高階関数のサポートを実装するライブラリです。FXSL は XSLT 自体で記述されています。
- XSLT 標準ライブラリ xsltsl は、XSLT 開発者に、よく使用される機能の XSLT テンプレートのセットを提供します。これらは純粋に XSLT で実装されており、拡張機能は使用されていません。xsltsl は SourceForge プロジェクトです。
- Kernow 変換を実行するためのポイント アンド クリック インターフェイスを提供する Saxon 用の GUI。
- xslt.js – ブラウザ内で XSLT を使用して XML を変換する JavaScript ライブラリ。
