« 2006年06月15日 | メイン | 2006年06月17日 »

2006年06月16日

XSL-FOによるXMLのPDF化 (9) XSL Formatter前史

このPrinting XML: Why CSS Is Better than XSLですが、どうもHåkon Wium Lie氏のXSL批判はまとはずれなところが多いように思います。

Håkon Wium Lie氏は、この文書の中で、XSL Transformation(XSLT)のスクリプトが長く複雑なのにCSSは簡単である、だからCSSが優れているという趣旨の発言を繰り返しています。しかし、XSLTは、XMLのツリー構造を操作する言語なので、これをCSSと比較するのは不適切です。

【参考】
XSLT (XSL Transformations)

XSLTはXSL-FOを作り出すための最も主要な方式なのですが、XSLTを使わなくてもXSL-FOを作り出すことができます。

特にサーバサイドではデータベースなどから検索したデータとテンプレートを使ってダイナミックにXSL-FOを作り出すこともできるでしょう。

また、例えば、XML文書にもともと存在しない目次や索引をXSLT変換で作りだすことができます。こうして作り出した目次や索引にCSSを適用することもできます。このように、XSLTとCSSを組み合わせて使うこともできます。

ですので、スタイルシートの機能を比較するなら、CSSとXSL-FOを比較しなければならないのです。そしてCSSとXSL-FOはレイアウトモデルの観点では、兄弟の関係になります。つまり50歩100歩。お互いに批判するにしても兄弟喧嘩になるに過ぎません。

3.当社のXSL Formatter開発の経緯

時々、当社がなぜ、XSL Formatterの開発に取組んでいるのか、という質問を受けることがあります。XSL-FOの歴史をお話するついでにそのことをお話しましょう。

当社は、1989年にリッチテキスト・コンバータの開発を開始しました。リッチテキスト・コンバータの開発はかなり四苦八苦をしたのですが、漸く1995年頃には大きな収益を出すことができるようになりました。

リッチテキスト・コンバータの開発になぜ苦労したかと言いますと、ワープロ文書はバイナリ形式といってコンピュータでしか理解できないデータになっていて、文書の文章内容と制御用データが渾然一体となっていること。そして、レイアウト、スタイル、罫線の情報などが、各ワープロ独自の仕様になっていること。例えば、日本語ワープロでは、表を罫線で作りますが、Microsoft Wordを初めとして西欧言語のワープロでは表をセルを積み重ねて作ります。このようにそもそも文書のモデルが違うのです。

このため、データ変換ソフトは完全なレイアウト互換性をもたせることが困難です。苦労した割りに満足できる結果になりにくいのです。

そこで、次の製品プロジェクトを開始するにあたり、もっと標準的な文書表現方法がないものか、といろいろ考えました。

投票をお願いいたします

投稿者 koba : 08:00 | コメント (0) | トラックバック