XML > XSLT > 概要
概要
XML 文章を「どう表示するか」を記述するスタイルシート言語として
XSL(eXtensible Stylesheet Language) がある。
XSL は XML 文書のツリー構造を別のツリー構造に変換し、
新しいツリー構造にスタイル情報を追加する。
しかし、仕様が膨大で勧告までに時間がかかったため、
XSL から変換処理を行なう部分を抜き出した仕様として
XSLT(XSL Transformations) が作成された。
XSLT は XML ベースの言語であり、XML 文書を別の XML 文書や
他のフォーマット文章に変換する方法を記述する。
XML 文書はツリー構造をしており、変換前のツリーをソースツリー(source tree)、
変換後のツリーを結果ツリー(result tree)と呼ぶ。
また、関連仕様として XML 文章の表示部分を規定した XSL-FO(XSL Formatting Object) がある。
よって XSLT + XSL-FO = XSL とみなすことが出来る。
XSLTで出来ること
・全く別のXML文書への変換
・要素名・属性名の変換
・階層構造の変換
・ノードのフィルタ
・ソート
(例) 元のXML文章 <?xml version="1.0" ?> <社員名簿> <2003年度> <名前 社員番号="200301">山田太郎</名前> <名前 社員番号="200302">鈴木花子</名前> </2003年度> <2004年度> <名前 社員番号="200401">斉藤一郎</名前> <名前 社員番号="200402">田中五郎</名前> </2004年度> </社員名簿> 要素名・属性名の変換 <?xml version="1.0" ?> <社員一覧> <2003年入社> <名前 社員NO="200301">山田太郎</名前> <名前 社員NO="200302">鈴木花子</名前> </2003年入社> <2004年入社> <名前 社員NO="200401">斉藤一郎</名前> <名前 社員NO="200402">田中五郎</名前> </2004年入社> </社員名簿> ノードのフィルタ <?xml version="1.0" ?> <社員名簿> <2004年度> <名前 社員番号="200401">斉藤一郎</名前> <名前 社員番号="200402">田中五郎</名前> </2004年度> </社員名簿> |
XSL, XSLT のバージョン
勧告日 | 勧告内容 | リンク | 別窓 |
---|---|---|---|
1999/11/16 | XSLT 1.0 | http://www.w3.org/TR/1999/REC-xslt-19991116 | OPEN |
2001/10/15 | XSL 1.0 | http://www.w3.org/TR/2001/REC-xsl-20011015 | OPEN |
2006/12/05 | XSL 1.1 | http://www.w3.org/TR/2006/REC-xsl11-20061205/ | OPEN |