Extensible Stylesheet Language

Extensible Stylesheet Language (XSL) について



Extensible Stylesheet Language (XSL) は、XML文書を変換したり、印刷に適した形式に組版したりするためのスタイルシート言語です。XSLは単一の言語ではなく、以下の3つの主要な仕様から構成されています。

1. XSL Transformations (XSLT)
XML文書を異なる構造のXML文書に変換するための言語です。XMLで記述され、XMLデータの変換に特化しています。
XSLTはXML形式だけでなく、テキスト形式など、他の形式での出力も可能です。
XSLTはXSL全体の中で、XSL-FOへの変換によく利用されます。XMLデータの加工や変換を行う際の中心的な役割を担います。
多くの実装が存在し、オープンソースのSaxonやApache Xalan、ウェブブラウザで利用されるMSXMLやTransforMiiXなどが挙げられます。

2. XML Path Language (XPath)
XML文書内の特定の部分(要素、属性、テキストなど)を指定するための表現法です。
XPathはXMLをベースとした言語ではありません。簡潔な構文で記述できます。
XSLTで処理対象のXML文書の特定部分を指定するために利用される他、XQueryなど他のXML関連技術でも利用されます。
XQueryはXPathを拡張したような仕様で、XML文書から特定の情報を検索する際に利用されます。

3. XSL Formatting Objects (XSL-FO)
XML文書を人間が理解しやすい形式(PDFなど)に組版するための記述言語です。
XSL-FOもXMLで記述されます。
XSL-FOはXMLデータを印刷や画面表示に適した形に変換するための技術です。複雑なレイアウトやデザインを定義できます。

XSLは、元々SGML向けのスタイルシートであったDSSSLの機能をXMLに適用するために開発が始まりました。W3Cによって標準化され、XML処理の基礎技術として広く利用されています。

歴史



1997年12月: W3CにてXSL作業部会が発足。
1998年8月18日: XSL仕様の最初の作業ドラフトが公開。
1999年11月16日: XSLT 1.0とXPath 1.0がW3C勧告として公表。
2001年10月15日: XSL 1.0(XSL-FOを含む)がW3C勧告として公表。
2006年12月5日: XSL 1.1(XSL-FOを含む)がW3C勧告として公表。
2007年1月23日: XSLT 2.0とXPath 2.0がW3C勧告として公表。
2014年4月8日: XPath 3.0がW3C勧告として公表。
2017年3月21日: XPath 3.1がW3C勧告として公表。
2017年6月8日: XSLT 3.0がW3C勧告として公表。

XSLは、XML文書の変換、データの抽出、整形、印刷など、幅広い用途で利用されています。特に、XMLデータからPDFを作成したり、Webページを生成したりする際に重要な役割を果たします。

関連技術



XML: XSLが処理対象とするデータ形式
スタイルシート: CSSなど、文書の見た目を定義する技術
DSSSL: XSLの基となったSGML向けのスタイルシート言語
CSS: Webページのスタイル定義に使われる言語
TeX, La[[TeX]]: 組版システム


外部リンク



The Extensible Stylesheet Language Family (XSL) - W3CのXSLのページ
アンテナハウス社のページ(日本語)
Antenna House XSL Formatter: アンテナハウス社によるXSL-FOの商用処理系
XSL-FO の基礎 第2版 - XML を組版するためのレイアウト仕様
スタイルシート開発の基礎 XML と FO で簡単な本を作ってみよう
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

もう一度検索

【記事の利用について】

タイトルと記事文章は、記事のあるページにリンクを張っていただければ、無料で利用できます。
※画像は、利用できませんのでご注意ください。

【リンクついて】

リンクフリーです。