Extensible Stylesheet Language
出典: フリー百科事典『ウィキペディア(Wikipedia)』
Extensible Stylesheet Language(XSL; 拡張可能なスタイルシート言語)は、マークアップ言語XMLに準拠した文書をもとに組版ないし変換を行うための、複数の言語仕様から構成されるスタイルシート技術である。
XSL技術を構成する言語仕様は次の3つである。
- XSL Transformations
- XSL Transformations (XSLT) は、XML文書を構造の異なるXML文書などに変換するためのXMLに準拠したマークアップ言語である。
- XML Path Language
- XML Path Language (XPath) は、XML文書の特定の部分(要素、属性、テキストなど)を指定する言語である。XPathは、XSLTで処理対象のXML文書の特定部分を指定するために使われている。XPath言語自体は簡潔な構文(式言語)であり、XMLに準拠したマークアップ言語ではない。
- XSL Formatting Objects
- XSL Formatting Objects (XSL-FO) は、人間に理解しやすい形式の文書の組版を記述する、XMLに準拠したマークアップ言語である。
この3つの言語仕様は、標準化団体 W3C (World Wide Web Consortium) で開発され勧告として公表されている。
目次 |
[編集] 歴史
XSLの歴史は、既存の SGML 向けのスタイルシート技術 DSSSL の機能、特に印刷と植字の機能を、XMLに適用できる技術として開発する作業から始まった。
- 1997年12月から、W3CのXSL作業部会の活動が始まった。XSL作業部会では、シャロン・アドラーとスティーブ・ジルズが共同議長を、ジェームズ・クラークがエディタを、それぞれ務めた。ジェームズ・クラークは、XSLの非公式な主席設計者でもあった。また、クリス・リリーがW3Cスタッフの連絡役を務めた。
- 1998年8月18日に、作業部会はXSL仕様の最初の作業ドラフトを公表した。
- 1999年11月16日に、XSLT 1.0 と XPath 1.0 がW3Cから勧告として公表された。
- 2001年10月15日に、XSL 1.0(XSL-FOを含む)がW3Cから勧告として公表された。
- 2007年1月23日に、XSLT 2.0 と XPath 2.0 がW3Cから勧告として公表された。
[編集] XSLを構成する技術
[編集] XSL Transformations
詳細はXSL Transformationsを参照
XSL Transformations (XSLT) は、XML文書を構造の異なるXML文書などに変換するためのXMLに準拠したマークアップ言語である。 XSLTを使うことにより、任意の形式のXML文書をXSL-FO形式のXML文書に変換することができる。 XSLTは、XSL-FO形式のXML文書への変換だけでなく、XML文書の汎用的な変換言語として使うことができる。
現在、XSLT処理系の実装は、数多く開発されており、利用することができる。 主な実装を次に示す。
- Saxon - オープンソースの実装
- Apache Xalan - Apache XML プロジェクトによるオープンソース実装
- ウェブブラウザで利用されている実装
- MSXML - Internet Explorer で使われている
- TransforMiiX - Mozilla Firefox、Mozilla、Netscape で使われている
[編集] XML Path Language
詳細はXML Path Languageを参照
XML Path Language (XPath) は、XML文書の特定の部分(要素、属性、テキストなど)を指定する言語である。 XPath自体は簡潔な構文(式言語)であり、XMLに準拠したマークアップ言語ではない。 XPathは、XSLTで処理対象のXML文書の特定部分を指定するために使われている。 XSL技術の構成要素と位置づけられている。 一般にXSLT処理系の実装は、XPath処理系の実装を含んでいる。
XPathを拡張した技術としてW3CはXQueryを開発している。 XQueryは、処理対象のXML文書の特定部分を検索する。
[編集] XSL Formatting Objects
詳細はXSL Formatting Objectsを参照
XSL Formatting Objects (XSL-FO) は、人間に理解しやすい形式の文書の組版を記述する、XMLに準拠したマークアップ言語である。 視覚的媒体だけでなく、聴覚的媒体に関する制御も規定されている。 XSL-FO文書の生成は、XSLTによる変換によって行うことができるが、XSLTを使わずに任意の手段でXSL-FO文書を生成して構わない。
現在、XSL-FO処理系の実装は、あまり多くはないが、利用することができる。 XSL-FO処理系は、XSL-FO文書を実際に視覚的な形式(PDFなど)に組版もしくは聴覚的媒体に出力する。 XSL-FOの仕様では非常に多くの機能を規定しているため、多くの処理系の実装はXSL-FO仕様で規定された機能を全て実装するには至っていない。 主な実装を次に示す。
- Apache FOP - Apache XML Graphics プロジェクトによるオープンソースの実装。PDFを含むさまざまな出力形式に対応している。
- PassiveTeX パッケージ - TeX技術を使い、XSL-FOで記述された文書をPDF形式に変換する。
- XSL Formatter - アンテナハウス社による商用の実装。
XSL-FO処理系の出力形式としては、さまざまなファイルフォーマットがある。 実際に出力可能なフォーマットは、XSL-FO処理系の実装により異なる。実装によってはファイルを作成せずに、直接にコンピュータ画面に表示したり、直接印刷することもできる。
- PostScript
- SVG
- MIF
- PCL
- プレーンテキスト
[編集] 関連項目
[編集] 外部リンク
- The Extensible Stylesheet Language Family (XSL) - W3CのXSLのページ
- アンテナハウス社のページ(日本語)
- XSL Formatter - アンテナハウス社によるXSL-FOの商用処理系
- XSLのすすめ
- XML資料室
- Extensible Stylesheet Language - xml.coverpages.org
- What is XSL-FO? - O'REILLY XML.com
- XML Focus Topics : CSS, XSL, XSL-FO - XML.org
- xmlroff - オープンソースの処理系
- Apache FOP - Apache XML Graphics プロジェクトによるオープンソースの処理系。PDF/SVG/プレーンテキストなどへの変換が可能
- W3Cschools XSL Tutorial