ワンソース マルチユース システム (第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)が現れると、子要素に対応するテンプレートを探して適用します。

子要素が複数ある場合は、それぞれに対して順番にテンプレートを適用します。