XSL FormatterXSL Formatter V2 の主な仕様/機能

動作環境

XSL Formatterを使うには、Microsoft XML Parserバージョン3(MSXML3SP2.DLL、またはMSXML3.DLL)が必須です。Microsoft XML Parserバージョン3は、WindowsXPには最初から組み込まれています。しかし、Window95/98/me/NT4.0/2000には組み込まれていませんので、ご自分で用意していただく必要があります

MSXML Parser 3.0 Service Pack 2 Releaseのダウンロード

Microsoft XML Parserは、Windows Installerを使ってインストールします。もし、お使いの環境にWindows Installerがない場合は、最初にWindows Installerをダウンロードしなければなりません。

Windows Installer のダウンロード

ダウンロードしたMicrosoft XML Parserは、(ファイル名はMSXML3SP1.EXE)は自己解凍ファイルですので、それを実行すると自動的にWindows Installer でインストールされます。

【注意】自分でシステムフォルダにコピーしても登録されませんのでご注意ください。


組版の仕組み

最初に説明した例では、XSL Formatterは、XMLファイルとXSLTスタイルシートを指定して「組版実行」を行うと結果を画面に出力しました。この処理は、内部では次のように2段階に分かれています。

第1段階
XMLファイルとXSLTスタイルシートから、XSL FormatterがXSLTプロセサを動かして、XSL Formatting Objectsのファイルを作り出します。
第2段階
XSL Formatterは、XSL Formatting Objectsのファイルを組版します。

Formatting Objects

第1段階でできあがるXSL Formatting Objectsのファイルは次のような内容です。

Formatting Objectsは、XMLのコンテンツにレイアウト・書式指定を施したものです。XSL Formatterは、データを指定された通りにページ上に組版を行います。

スタイルシートを切り替える

XMLのデータは同じでも、別のスタイルシートを使えば別の組版結果を得ることもできます。実際に、別のスタイルシートを指定してみましょう。スタイルシートは次の内容です。

  1. 新しいXSLTスタイルシートを用意します。

  2. 今度は、XMLファイルは同ものを指定して、スタイルシートだけを新しく用意したファイルに変更して、「組版実行」します(「ファイル」を「開く」ダイヤログは省略します)。

  3. すると、組版結果は次のようになります。

このように、ソースは同じでもXSLTスタイルシートを切り替えることで全く異なる組版結果を得ることができます。


組版エンジンとインターフェイス

Antenna House XSL Formatter V2の中核は、組版エンジンです。そして、この組版エンジンをドライブするために2タイプのインターフェイス・プログラムがあります。

  • スタンドアロンPCのWindows上から組版エンジンを使用するためのグラフィック・ユーザ・インターフェイス(GUI)。
  • アプリケーション組み込み用のインターフェイス

GUIからの使用方法

例としてXSL FormatterのGUI版インターフェイスを使って、PDFに出力する方法を説明します。

  1. 組版対象のXMLコンテンツを用意します。

  2. XSLTスタイルシートを用意します。スタイルシートは、別途開発する必要があります。

  3. 2つのファイルをXSL Formatter(GUI)の「ファイル」を「開く」で指定します。

  4. 「組版実行」を押すと画面に結果が表示されます。

  5. 印刷メニューで、プリンタドライバをPDFDistillerに設定し、印刷を実行します。

  6. PDFファイルができあがります。

    PDFファイルをダウンロード



Windows画面で操作するGUI

GUIを使うことで、デスクトップから組版エンジンを対話的に動かすことができます。

即ち、XMLファイルとXSLTスタイルシート・ファイルをPCのWindowsの上で指定して組版を実行し、組版結果を画面に表示しながら閲覧することができます。画面に表示した上で気に入れば、プリンタに出力したり、印刷時にAcrobatのドライバを指定してPDF化したりできます。

GUIでは、XMLファイルとXSLTスタイルシートのURLを指定して、インターネットの先にあるファイルを取り込んで、机の上のPCで組版処理を行って閲覧することもできます。

このページの最初に説明した例のソースファイルのURLは次の通りです。皆さんの机の上のPCにXSL Formatter V2がインストールされていれば、「ファイル」を「開く」にURLを指定してソースを取り出してご自分のWindows上で組版、表示もできます。

ソースXMLファイル
http://www.antenna.co.jp/XSL-FO/V3/img/order.xml
最初のXSLTスタイルシート
http://www.antenna.co.jp/XSL-FO/V3/img/ukesho.xsl

(ご注意)XSL Formatter V1.1 をお使いの方は、
http://www.antenna.co.jp/XSL-FO/V3/img/ukesho-CR.xsl
をご指定ください。 XSL Formatter V1.1 は、XSL V1.0 Candidate Recommendation 21 November, 2000 に準拠しているため、W3C勧告準拠(XSL Formatter V2.0用)のスタイルシートを使用すると結果が乱れる個所があります。

2つめのXSLTスタイルシート
http://www.antenna.co.jp/XSL-FO/V3/img/shipping.xsl

次のように入力します。ぜひお試しください。

さあ、「組版実行」ボタンを押してみてください。


アプリケーション組込みインターフェイス


XSL Formatter V2.0の中核の組版エンジンをお客様のシステムに簡単に組み込めるようにCOMサーバーインターフェイス、コマンドラインインターフェイス、Javaインターフェイスがあります。

COM Serverインターフェイスを使用すると、COM をサポートする言語から簡単にXSL Formatterの組版機能を利用することができます。

(VBScriptからの使用例) sample.xmlとsample.xslから組版し、PDF Writerを使用して結果をsample.pdfに出力します。 dim objAXF On Error Resume Next set objAXF=CreateObject("AXFOSVR.XFOObj") objAXF.Source="C:\My Documents\XML\data\sample.xml" objAXF.Stylesheet="C:\My Documents\XML\data\sample.xsl" objAXF.Option="C:\My Documents\XML\data\option.ini " objAXF.PrinterName="Acrobat PDFWriter" objAXF.OutputFile=" C:\My Documents\XML\data\sample.pdf " objAXF.Execute() if Err.Number then MsgBox("Format Failed!", mbOKOnly) set objAXF=nothing

また、こちらにIISを使用して、ASPでXSL Formatterを使用してPDFファイルを出力するためのサンプルも用意しました。

またコマンドラインは、バッチファイルやWindowsのShellExecuteを使用して組版機能を使用することができます。

(コマンドラインの呼び出し例) sample.xmlとsample.xslから組版し、PDF Writerを使用して結果をsample.pdfに出力します。 AXFOCMD -d "c:\My Documents\xml\sample.xml" -s "c:\My Documents\xml\sample.xsl" -i "c:\My Documents\xml\option.ini" -p "Acrobat PDFWriter" -o "c:\My Documents\xml\sample.pdf"

Javaインターフェイスオプションをインストールすることによって、Java言語からもXSL Formatterを使用することができます。
(JavaインターフェイスオプションはXSL FomatterはXSL Formatterと同時にダウンロードできます。そして、XSL Formatterの試用版、製品版にて無償で使用できます)

例) sample.xmlとsample.xslから組版し、PDF Writerを使用して結果をsample.pdfに出力します。 /** TAXjava.java */ import jp.co.antenna.axfosvr.*; public class TAXjava { public static void main(String[] args) { XFOSvrFactory fac = new XFOSvrFactory(); IXFOObj app = fac.create(); try { app.Clear(); app.Source("C:\\My Documents\\XML\\data\\sample.xml"); app.Stylesheet("C:\\My Documents\\XML\\data\\sample.xsl"); app.OutputFile("C:\\My Documents\\XML\\data\\sample.pdf "); app.PrinterName("Acrobat PDFWriter"); app.Execute(); if(app.ErrorCode() != 0){ System.out.println("Error occurred."); System.out.println(" ErrorCode :"+app.ErrorCode()); System.out.println(" Line :"+app.Line()); System.out.println(" Reason :"+app.Reason()); }else{ System.out.println("Formatting succeed."); } }catch(onMessageException e) { e.printStackTrace(); } } }

COMサーバーインターフェイスやコマンドラインインターフェイスは、組版結果の出力先としてプリンタドライバを想定しており、組版結果の画面表示はできません。XSL Formatterの組版結果を画面表示するようなアプリケーションへの組込み機能をご希望のお客様は、下記へご連絡ください。

アンテナハウス株式会社 システム営業グループ
Email: sis@antenna.co.jp


戻る

Copyright © 1996-2005 Antenna House, Inc. All rights reserved.