
![]() 動作環境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をダウンロードしなければなりません。 ダウンロードしたMicrosoft XML Parserは、(ファイル名はMSXML3SP1.EXE)は自己解凍ファイルですので、それを実行すると自動的にWindows Installer でインストールされます。 【注意】自分でシステムフォルダにコピーしても登録されませんのでご注意ください。 組版の仕組み最初に説明した例では、XSL Formatterは、XMLファイルとXSLTスタイルシートを指定して「組版実行」を行うと結果を画面に出力しました。この処理は、内部では次のように2段階に分かれています。
Formatting Objects第1段階でできあがるXSL Formatting Objectsのファイルは次のような内容です。 Formatting Objectsは、XMLのコンテンツにレイアウト・書式指定を施したものです。XSL Formatterは、データを指定された通りにページ上に組版を行います。 スタイルシートを切り替えるXMLのデータは同じでも、別のスタイルシートを使えば別の組版結果を得ることもできます。実際に、別のスタイルシートを指定してみましょう。スタイルシートは次の内容です。
このように、ソースは同じでもXSLTスタイルシートを切り替えることで全く異なる組版結果を得ることができます。 組版エンジンとインターフェイスAntenna House XSL Formatter V2の中核は、組版エンジンです。そして、この組版エンジンをドライブするために2タイプのインターフェイス・プログラムがあります。
GUIからの使用方法例としてXSL FormatterのGUI版インターフェイスを使って、PDFに出力する方法を説明します。
Windows画面で操作するGUIGUIを使うことで、デスクトップから組版エンジンを対話的に動かすことができます。 即ち、XMLファイルとXSLTスタイルシート・ファイルをPCのWindowsの上で指定して組版を実行し、組版結果を画面に表示しながら閲覧することができます。画面に表示した上で気に入れば、プリンタに出力したり、印刷時にAcrobatのドライバを指定してPDF化したりできます。 GUIでは、XMLファイルとXSLTスタイルシートのURLを指定して、インターネットの先にあるファイルを取り込んで、机の上のPCで組版処理を行って閲覧することもできます。 このページの最初に説明した例のソースファイルのURLは次の通りです。皆さんの机の上のPCにXSL Formatter V2がインストールされていれば、「ファイル」を「開く」にURLを指定してソースを取り出してご自分のWindows上で組版、表示もできます。
次のように入力します。ぜひお試しください。 さあ、「組版実行」ボタンを押してみてください。 アプリケーション組込みインターフェイス
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を使用することができます。
例)
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の組版結果を画面表示するようなアプリケーションへの組込み機能をご希望のお客様は、下記へご連絡ください。 アンテナハウス株式会社 システム営業グループ |