XSLのすすめ
XSL仕様とは
「Extensible Stylesheet Language(XSL)」は、Webの普及と標準化を進めるW3C(World Wide Web Consortium)が、XML文書を綺麗にレイアウトして組版するための仕様として、開発を進めてきたものです。
XSL 1.1 仕様は2006年12月05日にW3C勧告として公開されています。
- XSL-FO 1.1 の公開について
- Extensible Stylesheet Language (XSL) Version 1.1 W3C Recommendation 05 December 2006
XSLは、多くの場合、文書構造の変換を行なうための「XSL Transformations(XSLT)」とセットで使われます。XSLT仕様は、XSL仕様より一足先にW3C勧告となっており、既に幅広く普及が進んでいます。
XSL仕様は、W3C勧告になったばかりであまり幅広く注目されていません。しかし、XSLTとXSLはセットで今後のWebの高度利用という面から重要な役割を担って行くと予想します。ここでは、最初に、XSLでなにができるかを簡単に説明し、次にXSLがなぜ重要になるかを説明します。
XSLで何ができるのか?
XSL仕様は、「フォーマッティングオブジェクト」(FO)と呼ぶ、ページ書式を規定するオブジェクト、文書の段落、表、リストなどの様々な種類の組版用オブジェクトを定義します。また、FOのプロパティとして、ページサイズやフォントサイズなどを定めています。
文書の印刷
XSL仕様を使うことでXMLデータや文書がどのように組版されるべきかを高度に記述することができます。すなわち、次のような専門的な印刷技術に基づくレイアウトが可能です。
- さまざまなページ書式の切替
- 脚注
- ヘッダ、フッタ
- 柱
- 段組
- 行や文字の進行方向の切替
- 目次、リーダ、ページ番号の自動生成
- 相互参照
- 索引
XML文書を紙に印刷する必要性は、Webの全盛の時代になっても決してなくなることはありません。たとえば、テクニカル・ドキュメント、契約書、あるいは顧客に提出するレポートなどをXMLで作成した場合、これを綺麗に紙に印刷する技術は必須事項です。今後、XMLの普及と並行して、専門的な印刷のレイアウト指定に基づいて紙に綺麗に印刷する技術であるXSLの必要性が高まるでしょう。
帳票の印刷
XSLが重要になると予想されるもうひとつの分野はXMLデータのレイアウトとPDF化です。
例えば、帳票データをXML形式にする場合、入力にはブラウザのフォームを使い、データ形式はXML、出力はXMLに書式指定して紙に印刷するというような役割分担は自然です。データをコンピュータ同士で交換する間はXMLが適切です。しかし、XMLはタグ付きの形式ですので、人間が内容を理解し、確認するには、書式を与えて印刷する、あるいは、PDFなどのデジタル化された紙に出力して人間が理解できるようにすることが必要です。
この領域では、従来、専用の帳票印刷ツールが普及していました。従来の帳票専用システムでは独自の書式指定を行いますが、XSLでは世界標準のスタイルシートを作成することでレイアウトを自由に指定できます。この結果、オープンなシステムを、短期間に、しかも安い価格で開発できるようになります。 今後は、専用の帳票印刷ツールに変わってよりオープンな解決策であるXSLが普及するものと予想しています。
XSLのすすめ
企業間(B2B)および企業と個人の間(B2C)のデータ交換、あるいは、企業内でも支店、営業所、現場事務所と本社などの間で、インターネットを経由してデータを交換するケースにおいて、XMLを交換形式として使う動きはますます増えてくると予想されます。
コンピュータ間で交換されるデータの形式としてXMLが普及していけば、その中で人間が確認しなければならないもの、そのような形式に変換しなければならないものが増えてくるのは必然です。
XSLはXMLに書式を与えるための仕様です。XMLとは切り離されていますので、ひとつのXMLに、複数のXSLによる書式を与えて、同一のデータを様々な形式でレイアウトすることもできます。すなわちXSL技術を使うことで、単一のデータソースから、さまざまな形で人間にプレゼンテーションすることができます。しかもそれを簡単に行うことができます。
XSL Formatterは、XMLを、XSLによるレイアウト指定、書式指定通りに組版処理して印刷するための組版エンジンです。言いかえれば、XMLの文書あるいは帳票データと、XSLで表現したレイアウト・書式情報を受け取って、それを組版してプリンタ(紙)、PDFなどの指定されたメディアに出力することができます。
遠隔地のPC上のブラウザから、サーバ上のXSL FormatterにXMLとXSLを送って、組版要求を出し、サーバ上でPDF化して戻すこともできますし、スタンドアロンのPC上で対話式に組版して、隣のプリンタに出力するのも自由にできます。
XSLを切り替えることで、レイアウトは自由に変更できます。例えば、組版サーバは先程まで書類をPDF化していても、次にはビジネス帳票をPDF化するというように、時々刻々に変化する要求にも自由に対処できます。このようなフレキシビリティは、内容をXML、書式をXSLに分離した結果として可能になるものです。従来のような専用システムでは対応することができません。
以上から、XSLが今後のWebの高度利用という側面から、非常に重要になるであろうことを容易に予想できます。XSLは、まだ大勢の人が注目しているとはいえませんけれど、XMLを書式化して印刷すると言う点では、XSLこそ本命、最も有望と断言できます。ぜひ、この重要技術を、逸早く、貴社のビジネスに採用し、Webの高度利用に向けて活用していただくことをお勧めします。