WebブラウザでのXML文書の表示
さきほどのデータが単なる住所録のデータであれば、
これを直接ブラウザで表示する必要はないかもしれません。
しかし、書式をつけてWebブラウザで表示したり、
印刷したりするのが目的な場合もあります。
HTMLの場合、WebブラウザがHTML文書の表示方法を知っています。
例えばWebブラウザが h1 というタグを見たら、
文字を大きくして改行しよう、と思うわけです。
これに対し、XML文書の場合にはWebブラウザの知らないタグばかり現れますから、
Webブラウザは困ってしまいます。
なんらかの方法で、Webブラウザに表示方法を教えてあげる必要があるわけです。
XML文書に書式(スタイル)を与えるにはいくつかの方法があり、
それぞれ使われる場面が異なります。
- HTML文書に変換する
- なんらかの方法でHTML文書に変換すれば、Webブラウザは表示することができます。
XML文書の構造を変換するための言語である
XSLT を使うか、
Javaなどで変換プログラムを作成します。
この方法では、サーバ側でHTML文書に変換するのが普通です。
WebブラウザにXSLTを扱う機能が組み込まれていれば、クライアント側でHTML文書に変換し表示することができます。今回はこの方法をとります。
- スタイルシートを使ってブラウザに書式を教える
- CSS というスタイルシートを使って、Webブラウザに書式を教えることができます。
CSS は HTML文書と組み合わせて使用できることもあり、
多くのWebブラウザが対応しています。
ただし、CSS は要素ごとに書式を指定する言語なので、
XML文書から必要な情報を選んで表示するといった用途には対応できません。
- XSL というスタイルシートを使って書式を表現する方法もあります。
XSL は、XML文書を変換する XSLT と、書式を表現する XSL-FO などからなるものです。
XML文書を変換する XSLT で、書式を表現する XSL-FO の記述に変換していきます。
XSL-FO は紙の印刷に対応できる記述能力があり将来的には有望ですが、
仕様が固まってから日が経っていないこともあり、
対応しているWebブラウザはほとんどありません。
W3Cのページ「CSS and XSL: which should I use?」も参考になるでしょう。
ここでは、CSS を使って書式の指定を行う方法、および、XSLT でHTML文書に変換する方法を学びます。