XSLT(Extensible Stylesheet Language Transformations)とは、XMLで書かれたデータを、別の形のXMLやHTML、テキストなどに変換するための言語のことです。「この要素はこう表示する」という変換のルールを書いておくと、元のデータを書き換えずに、目的に合ったさまざまな形の文書を作り出せます。
現実世界に例えると、XSLTは同じ材料の在庫表から、お客さん向けのメニュー表や、仕入れ担当者向けの発注書を作り分けるための「書き換えのレシピ」のようなものです。材料の一覧は1つのまま、レシピを変えるだけで違う書類ができあがります。
XSLT図解
標準として定められた言語
成り立ちの話です。XSLTは、Webの標準を定める団体のW3Cによって、1999年に最初の版が勧告されました。その後、2007年に2.0、2017年に3.0が定められ、機能が強化されています。XML自体もW3Cの標準であり、XMLを扱うための関連技術の1つとして生まれました。
テンプレートで変換のルールを書く
仕組みの基本です。XSLTでは、「どの要素に出会ったら、何を出力するか」を、テンプレートという単位で書いていきます。たとえば「商品の要素を見つけたら、表の1行として出力する」というルールを書けば、商品が何件あっても、すべてが表の行に変換されます。XSLTそのものも、XMLの形式で書かれています。
関連する技術
一緒に使われる仕組みです。XSLTは、XMLの中の場所を指し示す仕組みなど、いくつかの関連技術と組み合わせて使われます。
| 技術 | 役割 |
|---|---|
| XML | 変換の元になるデータを書き表す形式 |
| XPath | XMLの中の、どの要素や値を使うかを指し示す |
| XSLT | XMLを別の形に変換するルールを書く |
| XSL-FO | 印刷向けの、ページの体裁を指定する |
1つのデータから複数の形を作れる
最大の利点です。元のXMLを1つ用意しておけば、変換のルールを変えるだけで、Webページ用のHTML、印刷用の文書、他のシステムに渡すための別の形式のXMLなどを作り分けられます。内容を直すときは元のXMLだけを直せばよいため、複数の文書の内容が食い違う心配がありません。
身近な使われ方
意外なところでの活躍です。Webサイトのサイトマップ(sitemap.xml)をブラウザーで開くと、見やすい表の形で表示されることがあります。これは、XMLのサイトマップにXSLTを組み合わせて、人が読みやすい形に変換して表示しているものです。マニュアルや技術文書の作成、出版の分野でも、XMLとXSLTの組み合わせが使われてきました。
システムどうしのデータ変換
業務での使われ方です。企業のシステムどうしでXMLのデータをやり取りするとき、相手のシステムが求める形式にXSLTで変換する、という使い方がされてきました。項目の名前や並び順が異なるデータでも、変換のルールを用意すれば、プログラムを大きく作り変えずにつなぎ込めます。
学ぶうえでの難しさ
注意点です。XSLTは、手順を上から順に書くふつうのプログラミング言語とは考え方が異なり、ルールの組み合わせで結果が決まるため、慣れるまでは動きが読み取りにくいと感じる人が多い言語です。複雑な変換になるほど、どのルールが働いているのかを追うのが難しくなります。
現在の位置づけ
最近の状況です。データのやり取りの主流がXMLからJSONへ移ったことで、新しくXSLTを使う場面は少なくなりました。主要なブラウザーでも、XSLTの機能を将来的に取り除く方針が示されています。ただし、出版や業務システムなど、XMLを中心に作られた仕組みでは今も使われており、既存の資産を扱う場面では重要な技術です。



コメント