ワンソース マルチユース システム (第4回 XSLTによる変換)
XSLTとは
XSLTは、XSL-FOと共に「XSL」という規格の一部でしたが、現在は別々の規格として保守されています。(XSL-FOについては、「第3回」を参照してください。)
XSL-FOは低レベルのスキーマで、人間が直接記述するのに向いていません。そのため、高度なスキーマで書かれたコンテンツを、XSL-FOに変換する仕組みとして、XSLTが考案されました。
XSLTは、XSL-FO変換だけでなく、XML→HTML変換や様々なXMLスキーマ間の変換に用いられています。
- XSLは「Extensible Stylesheet Language」の略です。
- XSL-FOは「Extensible Stylesheet Language – Formatting Objects」の略です。
- XSLTは「Extensible Stylesheet Language – Transformations」の略です。
XSLTの原理
変換テンプレート
XSLTでは、入力XML内のパターンに対応する、出力テンプレートを定義します。(template要素)
テンプレートは、パターンごとに複数定義できます。
テンプレートは再帰的に記述することができます。
変換エンジンの動作
変換エンジンは、入力XMLのトップレベル要素に対応するテンプレートを探して、それを適用します。
テンプレート内に再帰的な記述(apply-templates)が現れると、子要素に対応するテンプレートを探して適用します。
子要素が複数ある場合は、それぞれに対して順番にテンプレートを適用します。