SimpleXSL SimpleXSL

岸 和孝
第9版 2005年 2月20日
第8版 2005年 1月10日
第7版 2004年10月30日
第6版 2004年 9月10日
第5版 2004年 6月10日
第4版 2004年 2月10日
第3版 2004年 1月10日
第2版 2003年11月18日
初 版 2003年10月15日

1 概要

SimpleXSLは,ドラッグ・アンド・ドロップ操作で駆動するXSLフォーマッターです。SimpleXSL for MacMac OS X(Classic)で実行します。SimpleXSL for Winは,Microsoft Windows 98/2000/XPで実行します。SimpleXSLは,UTF-8またはシフトJISで表したXML文書を扱うことができます。

SimpleXSLは,図1-1のように,ドラッグ・アンド・ドロップ操作で放り込まれたXML文書(複数可)を入力し,PDF文書(スタイルシートによっては,HTML文書やXML文書)を変換出力します。また,HTML文書をPDF文書へスタイルシートなしで直接変換することもできます。SimpleXSLの処理条件は,条件設定ファイルであらかじめ設定できます。

図1-1 SimpleXSLの処理

SimpleXSLは,私(岸 和孝)がexpat,TransforMiix,JPEGLIBなどの公開されたソフトウェア部品を利用して開発しました。SimpleXSLは,シェアウェアです。SimpleXSLを継続使用される方は,私(岸)に使用料金を払う必要があります。

SimpleXSLの使用料金は6,000円(送料,消費税を含む)です。メールで申し込みいただくと,クライアント数に制限のないサイトライセンス付きのCDをお送りします。

SimpleXSL試用版には,いくつかの制約がありますが,「そのまま」の形であれば再配付は自由です。自由に頒布してかまいません。

Macintosh版SimpleXSL for Macの実行は,次の環境で確認しました。

Windows版SimpleXSL for Winの実行は,次の環境で確認しました。

SimpleXSLは,報告書や書簡などを組版モデルとして必要なXSL仕様とSVG仕様を選んで実現しています。したがって,適用する文書によっては,不十分な組版が出るかもしれません。そういうケースがありましたら,ぜひご一報ください。

2 プログラムのインストール

SimpleXSLフォルダーをそのままディスクへコピーするだけです。その内訳は次のとおりです。

ファイル内 容WindowsMacintosh
SimpleXSL.exeSimpleXSL for Winプログラム
SimpleXSL.appSimpleXSL for Macプログラム
%SimpleXSL%SimpleXSLの条件設定ファイル
PrefSimpleXSL.app条件設定プログラム
PrefSimpleXSL.exe条件設定プログラム
/docSimpleXSL説明書
/doc/grahic 同説明書で参照する画像データ
/doc/svg 同説明書で参照するSVGデータ
/sampleサンプルデータ
/sample/伝票 伝票の事例「売上伝票」
/sample/名刺 名刺の事例「岸和孝」
/sample/報告書 報告書の事例「ツールの特長」
/sample/手紙 手紙の事例「案内状」

Windowsでは,次のような点に注意してください。

  1. CDからディスクへコピーされたファイルやデータの属性は「読み取り専用」になっています。そのまま実行すると,サンプルデータのうち変換結果のデータ(.ps,.pdf,.fo,.svg)をアクセスできないというエラーが生じます。その場合,変換結果のデータを捨てるか,あらかじめファイルのアイコンで右ボタンを押して「プロパティ」を開き,「読み取り専用」のチェックを外しておいてください。
  2. CDからディスクへコピーされたファイルの中に“.DS_Store”という名前のファイルが見えるかもしれません。これはMacintosh用のファイル情報を表すもので,Windowsでは捨ててもかまいません。
  3. 条件設定ファイル“%SimpleXSL%”はエディターで変更できます。これには拡張子がありませんので,保存時に“.txt”を付けないようにしてください。
  4. SimpleXSLでは各種の拡張子を用いますので,それらがウィンドウで正しく表示される必要があります。「表示メニュー」から「フォルダオプション」を選び,「フォルダとファイル」の詳細設定において「登録されているファイルの拡張子は表示しない」をオフに,「すべてのファイルを表示する」をオンにしてください。

3 プログラムの操作

3.1 条件設定ファイル

SimpleXSLは,条件設定ファイルの設定に基づいて処理を行います。条件設定ファイルのファイル名は“%SimpleXSL%”です。条件設定ファイルは,SimpleXSLが存在するフォルダーと同じフォルダーになければなりません。

条件設定ファイル“%SimpleXSL%”は,単純な行からなるテキストです。先頭が“#”から始まる行は,単なる注釈です。[表3.1参照]

表3.1 条件設定ファイル

行の文字列意 味
PARSE検証だけを行います。“REPORT”が指定されている場合は,文書の構成を表示します。
XSLTXSL変換だけを行います。
WIN-SJISWindowsのShift-JISにおける外字の入力を可能にします。
REPORT処理の状況を報告します。
FOREIGNメッセージを英語表示します。
SAME-XSLドラッグ・アンド・ドロップ操作で放り込まれたXML文書(またはXSL(FO)文書)のファイルと同じファイル名を持つXSLスタイルシートを使います。この場合,XML文書内に“<?xml-stylesheet … ?>”によるスタイルシート呼び出し指定があっても無視されます。
CSS-PORTING放り込んだ(またはXSL変換した結果の)HTML文書のCSSに基づくスタイル指定を有効にします。
CSS-HEADERCSSに基づくページのスタイル指定時にヘッダーを付与します。
ODD-OR-EVEN見開き様式にレイアウトします。[暫定機能]
CSS-FOOTERCSSに基づくページのスタイル指定時にフッターを付与します。
COLOR-TO-GRAY文字や図形の色をカラーからグレイに変換します。
BOOK-PART本の一部とみなし,第1ページを中扉扱いにします。「目次」はPDF文書として出力しないで,PS文書として出力します。
行の文字列意 味
PAGE-NUMBER=番号指定した番号をページの開始番号とします。省略時は1とみなします。
PAGE-CROPページの表示区画にトンボを付けます。
SVG-CROPSVGの表示区画にトンボを付けます。
IMG-CROP外部画像の表示区画にトンボを付けます。
LINK-CROPリンク箇所の表示区画にトンボを付けます。内部リンクの箇所は青色の外枠で表示され,外部リンクの箇所は緑色の外枠で表示されます。
FO-OUTPUTXSL(FO)文書を出力します。
PS-OUTPUTPS(PostScript)文書を出力します。[試用版では無効]
CHART-TO-SVGビジネスグラフをSVG文書へ変換して出力します。[試用版では無効]
TABLE-TO-SVG表をSVG文書へ変換して出力します。[試用版では無効]
GRIDレイアウトの確認のためのグリッドを表示します。[試用版では無効]

3.1.1 文書の構成の表示

文書の構成の表示では,次表のように文書要素ごとの情報を字下げして表示します。A要素にB要素が後続するとき,A要素より右にB要素が字下げされる場合は,A要素の中にB要素が含まれることを意味します。

行の文字列意 味
^属性名 = 属性値次に現れる要素の開始タグにおける属性名と属性値。
(要素名要素の開始タグ。
)要素名要素の終了タグ。
-文字列要素の内容。
~行末符号。

3.1.2 見開き様式

見開き様式では,次図のように,先頭ページ以外の奇数ページだけにヘッダーを付与し,先頭ページ以外にフッターを付与します。さらに「本文」までのページが奇数であった時は,空白のページが挿入され,「本文」が奇数ページから始まるようになります。「本文」の奇数ページだけにヘッダーが付与され,すべての「本文」にフッターが付与されます。

3.1.3 Shift-JISにおける文字対応

次図のShift-JISにおける文字の符号値は,WindowsとMacintoshとでは対応していません。SimpleXSLは,MacintoshのShift-JISに合わせています。条件設定ファイルで“WIN-SJIS”を指定すると,次の文字はMacintoshのShift-JISに合うように変換されます。[制約]これらの文字のフォントは「平成明朝」「平成角ゴシック」以外のフォント(つまり,「細明朝体」「中ゴシック体」「Osaka」「Osaka−等幅」)とします。

@ A B C D E F G H I
J K L M N O P Q R S
氈@ 。 「 」 、 ・ ヲ ァ ィ
ウ エ オ カ キ ク ケ コ サ シ
@ B F H J L M
宦@怐@掾@K M P 刀@煤@普@磨@
氈@ 。 「 ァ ィ ゥ ォ ャ ュ ッ ー イ ウ エ オ
蛛@諱@轣@
@ A B
T U

3.2 入力データの扱い

SimpleXSLでは,次のように入力データが扱われます。

表3.2-1 拡張子,その文書の種類,その処理順序

拡張子文書の種類処理の順序
.xml
.xsl
.svg
XML文書XML文書が入力されXSL変換が行われ結果が出力されます。結果がXSL(FO)文書の場合はPDFへの組版が行われます。結果がXML文書またはHTML文書の場合は,PDFへの組版は行われません。結果がHTML文書で,条件設定ファイルで“CSS-PORTING”が指定されている場合は,PDFへの組版が行われます。拡張子が“.xsl”“.svg”の場合は,検証のみ行われます。
.htmHTML文書HTML文書が入力され検証されます。条件設定ファイルで“CSS-PORTING”が指定されている場合は,PDFへの組版が行われます。
[制約]このファイルの符号化はShift_JISでなければなりません。
.foXSL(FO)文書XSL(FO)文書が入力されPDFへの組版が行われます。

図3.2-1 SimpleXSLの処理順序

条件設定処理の順序
    XML文書 → XSL変換 → FO文書 → FO変換 → PDF文書
    XML文書 → XSL変換 → FO文書
    XML文書 → XSL変換 → HTML文書
    XML文書 → XSL変換 → SVG文書
    XML文書 → XSL変換 → テキスト文書
    FO文書 → FO変換 → PDF文書
CSS-PORTINGXML文書 → XSL変換 → HTML文書 → HTML変換 → FO文書 ┐
┌−−−−−−−−−−−−−−−−−−−−−−−−−┘
└→ FO変換 → PDF文書
CSS-PORTINGHTML文書 → HTML変換 → FO文書 → FO変換 → PDF文書

表3.2-2 実体宣言なしで使える実体参照

文字実体参照
<&lt;
>&gt;
'&apos;
"&quot;
&&amp;

3.3 出力データの扱い

SimpleXSLでは,次のように出力データが扱われます。

表3.3-1 ファイル拡張子,その文書の種類,出力される条件

拡張子文書の種類出力される条件
.pdfPDF文書条件設定ファイルで“XSLT”が指定されていない場合で,XSL変換の結果がXSL(FO)文書の時。
XSL変換の結果がHTML文書で,条件設定ファイルでCSS-PORTINGが指定されている時。
.psPS文書条件設定ファイルで“PS-OUTPUT”が指定されている場合で,XSL変換の結果がXSL(FO)文書の時。
[制約]出力されたPS文書をAcrobat DistillerによってPDF文書へ変換した場合,ハイパーリンク,「しおり」,「文書の概要」は実現されません。
_n.svgSVG文書条件設定ファイルで“CHART-TO-SVG”または“TABLE-TO-SVG”が指定されている場合で,ビジネスグラフが生成された時または表が生成された時。SVG文書を区別するために,ファイル名の末尾にSVGの出現番号“_n”が追加されます。
さらにSVG文書を区別するために,ビジネスグラフの場合は“<!-- CHART id -->”を付加し,表の場合は“<!-- TABLE id -->”を付加します。ここで,idはid属性値を表します。
このファイルはUTF-8に符号化されます。
.foXSL(FO)文書条件設定ファイルで“FO-OUTPUT”が指定されている場合で,XSL変換の結果がXSL(FO)文書の時。
_.xmlXML文書条件設定ファイルで“XSLT”が指定されている場合で,XSL変換の結果がXML文書の時。変換対象のXML文書のファイル名と区別するために,ファイル名の末尾に“_”が追加されます。
.htmHTML文書条件設定ファイルで“XSLT”が指定されている場合で,XSL変換の結果がHTML文書の時。
.txtテキスト文書条件設定ファイルで“XSLT”が指定されている場合で,XSL変換の結果がテキスト文書の時。

表3.3-2 出力文書の種類,結び付けられるアプリケーション

文書の種類データタイプアプリケーション(クリエータ)
PDF文書PDF Acrobat Reader(CARO)
PS文書TEXTAcrobat Distiller(DSTL)
SVG文書TEXTSimpleXML(Kisi)
XSL(FO)文書TEXTSimpleXSL(kisi)
XML文書TEXTSimpleXML(Kisi)
HTML文書TEXTInternet Explorer(MSIE)
テキスト文書TEXTテキストエディット(ttxt)

表3.3-3 実体参照へ変換されない特定の文字

文字実体参照
'&apos;
"&quot;

4 プログラムの使用

4.1 SimpleXSL試用版

SimpleXSL試用版は「そのまま」の形であれば再配付は自由です。どうぞSimpleXSLを試してください。そして不具合な点がありましたらご一報ください。

SimpleXSL試用版には,次のような制約があります。

4.2 SimpleXSLの使用料金

SimpleXSLを継続使用される方は,私(岸)に使用料金を払う必要があります。使用料金は,SimpleXSL for Windows/Macintoshバンドル9,000円(送料,消費税を含む),SimpleXSL for Windows 6,000円(送料,消費税を含む),SimpleXSL for Macintosh 6,000円(送料,消費税を含む)です。メールで申し込みいただくと,クライアント数に制限のないサイトライセンス付きのCD-Rをお送りします。現品をお受け取りになりましたら,ご確認の上,郵便払込みしてください。下記の要領でお願いします。

1. メールで注文する

宛   先 岸 和孝
kisi@nifty.com
メール表題 SimpleXSL for Win/Macバンドル 申し込み
SimpleXSL for Windows 申し込み
SimpleXSL for Macintosh 申し込み バージョンアップ 申し込み
メール文面 お名前
お届け先の住所
同 郵便番号
メールアドレス
請求書の宛先
使用されているSimpleXSLのプラットフォームとバージョン番号(バージョンアップの場合)

2. 現品を受け取る

宅配品の内訳 CD-R 1枚
 SimpleXSLプログラム
 説明書
 サンプルデータ
インストール説明書
納品書および請求書
郵便払込み用紙(下記)

3. 郵便払込みで支払う

支払方法郵便払込み
口座番号02250-6-90657
加入者名飯豊山書林
福島県喜多方市松山町鳥見山4608
郵便番号 966-0901
払込料金加入者負担ですので,不要です。
金  額 SimpleXSL for Win/Macバンドル 9,000円(送料,消費税を含む)
SimpleXSL for Windows 6,000円(送料,消費税を含む)
SimpleXSL for Macintosh 6,000円(送料,消費税を含む)
バージョンアップ 3,000円(送料,消費税を含む)

4.3 SimpleXSLの保証制限

次の条件に同意できない場合は,SimpleXSL(試用版・CD-R共)を使用しないでください。

4.4 SimpleXSLのバージョンアップ

SimpleXSLは,機能拡充と性能向上のためにバージョンアップを予告なしに行うことがあります。現在,次のような項目について開発中です。

SimpleXSLのバグ(不具合)修正に関わるバージョンアップは無料で行います。その際は,メールでお知らせいたします。

5 プログラムの改版履歴

バージョン1.6.5 2005年2月20日

SimpleXSL for Mac SimpleXSL for Win
「目次」の自動生成の不具合を修正しました。同左
keep-with-next.within-page(後続するブロックが同じページ内に入らない場合に改ページ)の不具合を修正しました。同左
fo:simple-linkのブロック範囲の不具合を修正しました。同左
linefeed-treatment(行末符号の扱い)属性とwhite-space-treatment(空白文字の扱い)属性の不具合を修正しました。同左
検証だけの処理において文書の構成の表示に属性を追加しました。同左
指定できる外部画像の種類として,8ビットのグレー階調を表すBMP形式またはJPEG形式を追加しました。同左
条件設定ファイルに,カラーからグレイへの変換(COLOR-TO-GRAY)を追加しました。同左
条件設定ファイルに,本の一部とみなす機能(BOOK-PART)を追加しました。同左
この仕様書を改訂増補しました。同左

バージョン1.6 2005年1月10日

SimpleXSL for Mac SimpleXSL for Win
MathMLを追加しました[利用可能なタグセットについては仕様書を参照してください]。同左
HTML文書からPDF文書への変換時においてHTMLの一部としてMathMLとSVGの記述を可能にするSPAN.FOREIGN要素を追加しました。同左
fo:instream-foreign-object要素にsource-document属性を追加しました。同左
「Symbol」フォントを追加しました。同左
stroke-width属性の数値指定の不具合を修正しました。同左
PDF生成時のページ関連の不具合を修正しました。同左
プログラムのフォルダー(.app)に作業用ファイルが残ってしまう不具合を修正しました。
記憶管理上の不具合を修正しました。同左
この仕様書を改訂増補しました。同左

バージョン1.5 2004年9月28日

SimpleXSL for Mac SimpleXSL for Win
PrefSimpleXSL.exeを追加しました。

バージョン1.5 2004年9月10日

SimpleXSL for Mac SimpleXSL for Win
fo:block要素のtext-align属性に均等揃え(justify)を追加しました。行の折り返しで英数字列を分断しないように,文字間隔を調整しました。さらに英数字列と日本語文字列の間に適度のクワタ(間隔)を入れるようにしました。[注意]表では未実現。同左
条件設定ファイル“%SimpleXSL%”に,開始ページ番号の指定(PAGE-NUMBER)と見開き様式のレイアウト(ODD-OR-EVEN)を追加しました[暫定機能]。同左
fo:toc要素(「目次」の自動生成)を追加しました。同左
PrefSimpleXSLのダイアログに開始ページ番号の指定を追加しました。(開発中)
SVGをインライン要素としても扱えるようにしました。同左
フォントの寸法に6ポイントと7ポイントを追加しました。同左
fo:list-block要素における表示の不具合を修正しました。同左
Times,Courier,Osakaのフォントメトリックスの不具合を修正しました。同左
HTML文書からPDF文書への変換時におけるSVG入力の不具合を修正しました。同左
SVG(path要素のsコマンドなど)における表示の不具合を修正しました。同左
HTML文書からPDF文書への変換時における検証の不具合を修正しました。同左
「しおり」生成の不具合を修正しました。同左
終了メッセージの表示の不具合を修正しました。同左
行末符号変換の不具合を修正しました。同左

バージョン1.4 2004年6月10日

SimpleXSL for Mac SimpleXSL for Win
HTML文書をPDF文書へ直接変換できるようにしました。同左
条件設定ファイルの内容を対話的に変更できるプログラム“PrefSimpleXSL”を用意しました。(開発中)
fo:table要素でtable-layout属性を,かつfo:table-cell要素でwidth属性を指定できるようにしました。これによって表レイアウトの自動化と固定化,欄内の折り返しを実現しました。同左
fo:block要素でlinefeed-treatment属性とwhite-space-treatment属性を指定できるようにしました。同左
fo:external-graphic要素でwidth属性とheight属性を指定できるようにし,スケーリングを可能にしました。同左
fo:external-graphic要素のhref属性におけるハイパー参照の不具合を修正しました。例:./subfolder/flower.jpg同左
条件設定ファイル“%SimpleXSL%”に,HTML文書のCSSに基づくスタイル指定(CSS-PORTING)とそのヘッダーの付与(CSS-HEADER)およびフッターの付与(CSS-FOOTER),表からSVGへの変換(TABLE-TO-SVG),リンク箇所へのトンボ付与(LINK-CROP),WindowsのShift-JISの外字入力(WIN-SJIS)を追加しました。同左
ビジネスグラフまたは表からSVGへの変換出力の符号化をShift_JISからUTF-8へ変更しました。同左
条件設定ファイル“%SimpleXSL%”における外部画像の表示区画へのトンボ付与(IMG-CROP)の不具合を修正しました。同左
ビジネスグラフの表示の不具合を修正しました。同左
この仕様書を改訂増補しました。同左

バージョン1.3 2004年2月10日

SimpleXSL for Mac SimpleXSL for Win
<?xml-stylesheet … ?>によるスタイルシート呼び出し指定を追加しました。
なお,条件設定ファイル“%SimpleXSL%”におけるSAME-XSL指定も有効です。
同左
fo:block要素とfo:inline要素にcolor属性を追加しました。同左
line-height属性の不具合を修正しました。同左
svg要素の名前空間の不具合を修正しました。同左
コンソール表示の不具合を修正しました。
条件設定ファイル“%SimpleXSL%”におけるXSL変換だけの処理(XSLT)の設定を試用版でも可能にしました。同左
この仕様書を改訂増補しました。同左

バージョン1.2 2004年1月10日

SimpleXSL for Mac SimpleXSL for Win
fo:simple-link要素を追加しました。同左
コンソール表示の不具合を修正しました。
この仕様書を改訂増補しました。同左

バージョン1.1 2003年11月18日

SimpleXSL for Mac SimpleXSL for Win
起動ディスク以外のボリュームからのドラッグ・アンド・ドロップ操作でエラーになる不具合を修正しました。
エラー検出時に直ちに終了しない不具合を修正しました。
ビジネスグラフに関する名前空間を修正しました。同左
XMLパーザーexpatを最新バージョン(1.95.7)に入れ替えました。同左
start-indent属性とend-ident属性を追加しました。同左
「Osaka」フォントと「Osaka−等幅」フォントを追加しました。同左
fo:outline要素(「しおり」の自動生成)を可能にしました。同左
画像の圧縮を可能にしました。同左
「文書の概要」の生成を可能にしました。同左
この仕様書を改訂増補しました。同左

バージョン1.0 2003年11月5日

SimpleXSL for Mac SimpleXSL for Win
初版

バージョン1.0 2003年10月15日

SimpleXSL for Mac SimpleXSL for Win
初版
abc123