« 2006年06月08日 | メイン | 2006年06月10日 »

2006年06月09日

XSL-FOによるXMLのPDF化 (4) 特定アプリケーションのXMLタグ

2.”一般的でない”第2のグループは、特定のアプリケーションで描画することを想定するXMLタグです。

この一番、典型的な例は、Microsoft Word 2003 のWordprocessingML(WordML)です。

例えば、Word2003で次のような文書を作成します。
WordML.png
(図A)

これを、XML形式で保存すると次のような内容のファイルができます。
WordML文書の例

WordMLのXMLタグの付け方は、Microsoftが仕様を公開しています。

Office 2003 XML リファレンス スキーマ

一般の書籍も出ています。

Simon St. Laurent 他 「Office 2003 XML, Integrating Office with the Rest of the World」 2004年6月刊 ISBN: 0-596-00538-5, 576 pages, US$39.95, O'Reilley

さて、上のWordMLの例には(文書本文)に次のような部分が出てきます。
<w:p>
<w:ppr>
<w:rpr>
<w:rfonts w:ascii="平成角ゴシック Std W7" w:fareast="平成角ゴシック Std W7" w:h-ansi="平成角ゴシック Std W7" w:hint="fareast"/>
<wx:font wx:val="平成角ゴシック Std W7"/>
<w:sz w:val="48"/>
<w:sz-cs w:val="48"/>
</w:rpr>
</w:ppr>
<w:r>
<w:rpr>
<w:rfonts w:ascii="平成角ゴシック Std W7" w:fareast="平成角ゴシック Std W7" w:h-ansi="平成角ゴシック Std W7" w:hint="fareast"/>
<wx:font wx:val="平成角ゴシック Std W7"/>
<w:sz w:val="48"/>
<w:sz-cs w:val="48"/>
</w:rpr>
<w:t>
Word2003のXML保存
</w:t>
</w:r>
</w:p>

これは、XMLの文書自体に、テキストのみでなく、文字の大きさやフォントの種類の情報が入っています。このWordMLを読んで上の図Aのように表示するためには、各タグをどのように表示するかという知識が前提として必要です。

昨日説明しました、SVG、MathML(表現用タグ)では、各タグをどのように表示するかが、W3Cの定める仕様として決まっています。

ところが、WordMLの各タグをどのように表示するかという仕様は(すくなくともパブリックには)存在しません。この仕様はMicrosoft Wordというソフトウェアの中に知識として内蔵されているのです。

このため、WordMLで書かれたXML文書を正しく表示したり、PDF化するには、Microsoft Word 2003 (Word ビューアを含む)、または、Microsoft Wordと表示機能において互換のアプリケーションが必要です。

例えば、当社のサーバべース・コンバータは、Microsoft Wordと互換のWordML表示・PDF化を実現することを狙って開発されているアプリケーションのひとつです。

ちなみに、WordMLをXSL-FOに変換してから表示したり、PDFにするソフトウェアは世界に幾つかあります。例えばこちらをご覧ください。しかし、XSL-FOではWordMLをあまりうまく表示することができません。それは、Microsoft Wordが内蔵している組版モデルと、XSL-FOの組版モデルはかなり異なったものだからです。

投票をお願いいたします

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