XSLとXLST

XSLとXLSTという二つの用語がよく混同されます。

本章の最後に両者の違いについて見ていきましょう。

XSLは文章をレイアウトして、書式情報を与えて表示・印刷用形式に変換するための言語です。つまり、XSLは、XML文書を画面に表示したり、紙に印刷したりしたときの見た目も整えるところまで範疇としています。

一方、XSLTはXMLの実用にあたってより重要な文書変換部分のみを切り出した技術になります。XSLT単体では、「この部分はイタリック体で表示する」といった見た目を整えるところまでは範疇に入りません。

そこを担当するのは、XSL-FOという技術です。

実は、XSLTとXSL-FOはXSLに包括されます。つまり、XSLは、文書変換を担当するXSLTとスタイル付けを担当するXSL-FO(Formatting Objects)の2つの仕様から構成されるということです。ですので、前回までの記事で行ってきたテンプレートルールの記述は、XSLを使用していると言っても間違いではありません。

ただ、XSL-FOは前述したとおり、XSLの中でスタイル付けを担当するものですが、XSL-FOは高度な技術となっており、標準化が遅れたこと、それによりIE等の代表的なWebブラウザがXSL-FOへの対応に遅れたことなどを理由にあまり普及しておりません。実際の開発現場で活躍している現役システムエンジニアやプログラマの方でもXSL-FOを使用したことがあるという方はめずらしいと言えるでしょう。

では、その見た目の部分は誰が担当しているのかというと、前回のサンプルでも出てきたCSSになります。

XSLTにより、CSS付きのHTML文書生成することができるので、より広く普及しているCSSがXSLTと一緒に採用されることが多いです。