XSLって何?

2001年11月4日(日)更新


■XSL

たけち: 前にXSLTについてInternet Explorerでサンプルを作って勉強したよね。

さらら: うん。XMLドキュメントの構造をHTMLに変換して、Internet Explorerで表示してみたのね。

たけち: そのときに、ちょっとだけXSLについて紹介したよね。

さらら: えっ、えぇ・・・ (^ ^; あんまし覚えてないけど。表示や印刷のために使うものだったような。。。。

たけち: そうそう。あるXMLドキュメントを別の構造のXMLドキュメントやHTMLなどに変換するための仕様がXSLTで、表示や印刷のための構造に関する仕様がXSL(eXtensible StyleSheet Language)なんだね。

さらら: ・・・・・ (^ ^; そっ、そうだったかしら。

さらら


■XSLTとXSLの関係

たけち: で、XSLが2001年10月15日にW3Cの勧告になったので、そろそろ勉強しておこうと思うんだ。実際にはまだ、そのXSLの仕様に準拠したツールはないと思うけど、最近は企業などの対応が速いので、わりと早いうちに使えるようになると思うんだ。

さらら: うん。まだ、なんとなくXSLTXSLの違いがイメージできないけど・・・・

たけち: まずは、XMLドキュメントを印刷する場合の構造の変換について、XSLTXSLの役割を見てみようね。

XSLとXSLTの関連


■FO(フォーマッティング・オブジェクト)

たけち: XMLドキュメントを、XSLTを使って、HTMLやCHTMLに変換できるね。

さらら: そうね。MSXMLを使ってXSLTを使って、HTMLに変換するサンプルはいくつかやってみたわね。

たけち: で、XSLなんだけど。表示/印刷のための情報を持っていないXMLドキュメントを、XSLTを使ってFO(フォーマッティング・オブジェクト)ツリーに変換するんだね。で、XSLに準拠した(XSLが理解できる)ソフトウェアでフォーマッティング処理して、プリンターに印刷したり、ブラウザで表示したりするんだ。

さらら: FO(フォーマッティング・オブジェクト)ってなぁに?

たけち: う〜んとね。。。。FO(フォーマッティング・オブジェクト)は、表示/印刷される内容をもつもので、それがどのように表示/印刷されるかという意味によって、色々な種類(クラスのこと)があるんだ。例えばねぇ、ページ、段落、テーブルとかね。

さらら: あぁ、なんとなく分かるような気がする。

たけち: それから、FO(フォーマッティング・オブジェクト)は、どのようにフォーマッティングするかという情報を示す属性を持つんだ。たとえば、color属性とかね。詳しくは次回以降でみてみようね。

さらら: フォーマッティングってなあに?

たけち


■フォーマッティング

たけち: フォーマッティングってね。。。そうだね。ドキュメントを表示や印刷する場合に、表示/印刷するそれぞれの要素を、表示/印刷する領域に適切に配置する処理のことを言うんだ。

さらら: レイアウトすることって言ってもいいの?

たけち: そうだね。ページへのレイアウトって考えていいよね。

さらら: 表示/印刷する領域って?

たけち: たとえば、紙への印刷だと、A4サイズの領域とかあるね。それから、本文の領域とか、段落を配置する領域だとか、脚注を配置する領域だとか。。。。。

さらら: うんうん。

たけち: すごく簡単なフォーマッティングのイメージを図にしてみるね。

さらら

フォーマッティング処理のイメージ

さらら: そっか。XMLドキュメントを表示/印刷するために、XSLスタイルシートを使って、FO(フォーマッティング・オブジェクト)ツリーに変換するのね。そうすると、それが理解できるXSLフォーマッタで、フォーマッティング処理して、画面に表示したり、プリンターに印刷したりするってことなのね。

たけち: そうそう。だいたいの雰囲気はわかったよね。でも、細かいことは何も見ていないから、次回からはFO(フォーマッティング・オブジェクト)がどんなものか詳しく見ていこうね。じあ、今回はここまで。

さらら: うん。ありがと。

→ 次回はFO(フォーマティング・オブジェクト)とフォーマッティング処理です。 (^ ^)v

さらら