ふたつのスタイルシートXSL-FOとCSS

更新日: 2008/12/01

XMLとスタイルシート

ドキュメントをXML (Extensible Markup Language)で表現するとき、コンテンツ(内容)とスタイル(レイアウト指定)を分離することで、ワンソース・マルチユースを効率的に行なうことができます。

ワンソース・マルチユースは、英語ではシングル・ソーシングと言います。現在は、HTMLで記述したWebページと、紙を模倣した電子ファイルであるPDFへの出力が主流です。

WebとPDFの本質的な違い

WebとPDFには次のような本質的な違いがあります。

Webページは画面出力を主に想定して作成されます。画面はページの概念のない連続媒体と考えられています。また、分散して配置された情報をハイパーリンク機能を使って統合しているのが特徴です。

これに対してPDFは1ページ毎に区切られたページ媒体です。また、一塊の情報を1つのファイルに統合しています。PDFのようなページ媒体への出力では、読みやすくするようなページの区切り方、また、一覧性、検索性を増すための目次、ヘッダ、ページ番号、索引などの作成が必須となります。

さらに、Webと比較して、歴史が長いページ媒体に出力するには高度で精密なページレイアウトと文字配置が要求されます。紙への印刷と出版が文化の担い手として発展してきたこともあり、ページ媒体への出力は印刷文化の継承が必要でもあります。

スタイルシートのふたつの標準仕様

XMLにスタイルを与えるための二つの標準仕様がXSL-FO (Extensible Stylesheet Language)とCSS(Cascading Style Sheets)です。

XSL-FO

XSL-FOは、もっぱらページ媒体への出力を想定して設計されており、XMLをページ媒体に出力する標準として既に確立しています。2001年に初版が標準として勧告されており、既に、長年にわたる実績があります。XSL-FOはページ媒体向けの高度で優れたレイアウト指定機能をもっていますが、XSL-FOを使いこなすのは高度な専門知識が必要です。このため「良いけど大変」と採用に躊躇されることもあります。

CSS

XSL-FOに比べて、CSSは直感的で分かりやすく、だれでも直ぐに使い始めることができます。こうしたことから、すでにWebの世界では確実に普及しています。

CSS2.1

現在の最新としてCSS2.1 (Cascading Style Sheets Level2 Revison1) が提唱されており、CSS2.1標準を実装するブラウザも増えています。CSS2.1ではページの概念が導入されており、先頭ページ・左ページ・右ページ、ページ区切りなどの指定が可能です。しかし、ページサイズを指定することができず、用紙サイズを指定しての印刷出力はブラウザ依存とされています。CSS2.1でのページ媒体出力は原始的なレベルとなります。

また、現在のブラウザのページレイアウト、文字配置機能はレベルが低いことなどもあり、現時点では、CSS2.1は高品質なページ媒体向けのレイアウトには使えません。

CSS3

CSSについては、W3Cが高度なレイアウト指定のできる次世代標準CSS3(Cascading Style Sheets Level3)を開発しています。CSS3ではページサイズの指定が可能になっており、さらに、ページ媒体向けの機能の強化が行われています。但し、CSS3の開発はまだ発展途上であり、完成に近いとはいえない状況です。

スタイルシートの将来

XSL-FOは、XMLをXSL-FOに変換してから組版処理を行ないます。これは、XMLのツリー構造特性を旨く利用して、オリジナルのXMLコンテンツの加工を行なうことと一体になっており、大きな長所です。また仕様も安定しており、長期的に安心して使うことができます。

CSSは直感的であり分かりやすいですが、XMLコンテンツの加工を想定していない分だけ、オリジナルコンテンツにない情報を追加することに弱点があります。CSSのコンテンツ生成機能は複雑で分かりにくくなっています。この点を含め、CSSは発展途上の仕様ということができます。

参考資料

以下に主な資料をご紹介します。


Copyright © 1996 - 2008 Antenna House, Inc. ALL Right reserved.
Antenna House is a trademark of Antenna House, Inc.