XMLによる組版タグ処理への応用

XSLTを使う


2000年10月3日

岸 和孝

日本印刷技術協会 客員研究員



要 約

 現在,わが国では経済の活性化を求めて電子商取引へ多くの企業が参入しつつあり,その電子データ交換様式としてXMLの採用が進んでいる。 その中でも,とりわけXML文書を別の表現形式(フォーマット)へ変換(または変形)する機能である XSLT への関心が高まっている。

 各種の XSLプロセッサー が開発されており,XMLベースのシステム構築の条件は整いつつある。しかし, XSLT XSL の一部分に過ぎず,印刷への応用については時期尚早である,と思われる。

 私は,通信における文書交換を確立するために,SGML/XMLツールは,いかなるプラットフォームでも動作するフリーウェアでなければならないと考えている。とりわけ整備の遅れているMacOS環境で動作するツールを開発し普及する活動を行っている。そうした観点から,ここでは,フリーウェアの XSLプロセッサー について述べる。



目 次

XSLとXSLT

 XSLとは

 XSLTとは

XSLTの背景

 GMLからXML/XSLまでの開発の経緯

 処理モデル

XSLTの機能

 XSL変換の例

 スタイルシート

 XSL変換ツールの種類

 Internet Explorer 5

 InDelv XML Client

 XT

 TranforMixx

 XSLプロセッサーの状況

XSLTの利用事例

 HTMLコンテンツへの変換

 組版データへの変換

今後へ向けて

 



1 XSLとXSLT


1.1 XSLとは

  XSL 規格は,まだW3C作業案の段階であるが,近いうちに承認され,W3C勧告となる見通しである。

  XSL 規格の要約では,次のように述べられている。

  XSL は,スタイルシートを表すための言語であり,次の二つの部分から成る。

  1. XSL変換 (Transform)
  2. XSLフォーマッター (Format)

 XSLスタイルシートは,フォーマットボキャブラリ(フォーマットのためのタグの集合)を用いるXML文書へクラスのインスタンスを変換する方法を記述することによって,XML文書のクラスの表現を指定する。

  XSL は,次のような段階で処理される。

 最初の段階は, XSL変換 である。 ソースXMLを結果XML(XSLの“fo”名前空間)へ変換する。ツリー変換と共に,結果ツリーの構造はソースツリーの構造とは全く違うものにできる。結果ツリーの構成において,ソースツリーにフィルターをかけたり,再配置したりすることができる。さらに,任意の構造と生成した内容を追加できる。これが XSLT に相当する機能であり, XSL 規格の全体が決まる前にW3C勧告となった。


▲図1.1 ソースXMLのボキャブラリ変換

 第二の段階は,XSLフォーマットの具体化である。 結果XML( XSL の“fo”)をXSLフォーマットオブジェクトと特性へ変換する。 文字列は文字フォーマットオブジェクト列へ変換され, 暗黙的方向は明示的な双方向マークへ導かれ, 複合の特性が作られる。 特性のあるもの,例えば“color”は,フォーマット結果を直接指定する。 別の特性,例えば“space-before”は,いかなる特定のフォーマット結果を指定することなく,可能なフォーマット結果の集合を強制するだけである。


▲図1.2 XSLフォーマットオブジェクトツリーの作成

 第三の段階は,XSLフォーマットの詳細化である。 XSLフォーマットオブジェクトツリーは,反復的な型へ詳細化される。 特性の継承が解析され, 計算された値が処理され, 式が評価され, 複製された対応する特性が取り除かれる。


▲図1.3 XSLフォーマットオブジェクトツリーの詳細化

 最後の段階は,幾何学的領域ツリーの生成である。 それらの領域は,一ページ以上の列に位置付けされる。 各々の幾何学的領域は,ページ上の位置,その領域で表示するものの指定,パディング,境界を持つ。


▲図1.4 幾何学的領域ツリーの生成


1.2 XSLTとは

  XSLT (XSL Transformations)は,XML文書を別の表現形式(フォーマット)へ変換(または変形)する機能であり, XSL の一部として設計された。ここでは, XSLT という用語は言語を指し, XSL変換 という用語はその機能を指すものとする。

  XSLT 規格の要約では,次のように述べられている。

  XSLT とは,XML文書を別のXML文書に変換するための言語である。

  XSLT は,XML用のスタイルシート言語である XSL の一部として用いるために設計された。

  XSL は, XSLT の他に,フォーマットを指定するためのXMLボキャブラリ(XMLのタグの集合)も含む。 XSL は,XML文書のスタイルを指定する際に,その文書をフォーマットボキャブラリ(フォーマットのためのタグの集合)を使用する別のXML文書へ変換する方法を, XSLT を用いて記述する。

  XSLT XSL から独立して使用できるようにも設計されている。 しかし, XSLT は完全に汎用的なXML変換用言語として用いるために設計されたわけではない。 むしろ設計の主眼は, XSL の一部として XSLT を用いる際に必要となる変換処理を行うことにある。



2 XSLTの背景


2.1 GMLからXML/XSLまでの開発の経緯

 当初,電子文書関連規格の開発は,ISO(国際標準化機構)で進められ,次のような規格が開発されてきた。現在,これらはJIS(日本工業規格)となっている。

  1. SGML(標準汎用マーク言語)
  2. DSSSL(文書スタイル意味指定言語)
  3. ODA(開放型文書体系)
  4. OSI(開放型システム間相互接続)

 インターネットの登場によって,ほぼ同等の機能であるOSIの必要性が低くなった。さらに,ODAの複雑さから生じる実現の困難さが指摘された。そうしたことを背景にして,ODAに代わるネット交換向けの電子文書規格の必要性が高まった。

 現在,電子文書規格の開発の中心は,ISOから非政府民間組織であるW3C(ワールドワイドウェブコンソーシアム)へと移り,次のような規格が開発されてきている。ちなみに,これらはJISではない。

  1. HTML(ハイパーテキストマーク言語)
  2. XML(拡張可能なマーク言語)
  3. CSS(段階スタイルシート)
  4. XSL (拡張可能なスタイルシート言語)
  5. XSLT (XSL変換)
  6. XHTML(拡張可能なハイパーテキストマーク言語)
  7. その他

▲図2.1 GMLからXML/XSLまでの開発の経緯

 関連規格の開発史を通覧すると,一つに,規格の開発が情報産業の手に移ったことが分かる。もう一つは,マーク指定の規格(SGML,XML)に比べてスタイル指定の規格( DSSSL XSL )が遅れることが分かる。それだけスタイル指定の一般化が困難であることを物語っている。


2.2 処理モデル

 処理効率の面からも,XML文書を直接扱うことは少なく,何らかの表現形式へ変換する必要が生じるだろう。 XSL変換 の応用として,次の三つの処理モデルが考えられる。

  1. サーバー処理モデル
  2. クライアント処理モデル
  3. 組版処理モデル

 サーバー処理モデルでは, XSLプロセッサー はC,Java,Perlなどで組まれたCGI(共通ゲートウェイインターフェース)から呼び出される。


▲図2.1 サーバー処理モデル

 クライアント処理モデルでは, XSLプロセッサー はウェブブラウザーに内蔵される。変換結果のHTML文書は内部的に変換されるだけで直接見ることことができない。


▲図2.2 クライアント処理モデル

 組版処理モデルでは, XSLプロセッサー はフォーマッターとして用いられる。


▲図2.3 組版処理モデル



3 XSLTの機能


3.1 XSL変換の例

 簡単な「名刺」の文書型は,次のようになる。

              
<!ELEMENT meishi       (simei,kaisyamei,zyusyo,denwabangou,logomark?)>
<!ELEMENT simei        (sei,mei)>
<!ELEMENT sei          (#PCDATA)>
<!ELEMENT mei          (#PCDATA)>
<!ELEMENT kaisyamei    (#PCDATA)>
<!ELEMENT zyusyo       (#PCDATA)>
<!ELEMENT denwabangou  (#PCDATA)>
<!ELEMENT logomark     EMPTY >
<!ATTLIST logomark     gazou  CDATA  #REQUIRED >

            

 この文書型が意味する構造は,次のようになる。


▲図3.1 「名刺」の構造

 それに基づいて「名刺」を妥当なXML文書(インスタンス)として表すと,次のようになる。ちなみに,整形式のXML文書では文書型定義が省略される。

              
<?xml version="1.0" encoding="Shift_JIS" ?>
<?xml-stylesheet type="text/xsl" href="MEISHI.XSL" ?>
<!DOCTYPE meishi [
<!ELEMENT meishi       (simei,kaisyamei,zyusyo,denwabangou,logomark?)>
<!ELEMENT simei        (sei,mei)>
<!ELEMENT sei          (#PCDATA)>
<!ELEMENT mei          (#PCDATA)>
<!ELEMENT kaisyamei    (#PCDATA)>
<!ELEMENT zyusyo       (#PCDATA)>
<!ELEMENT denwabangou  (#PCDATA)>
<!ELEMENT logomark     EMPTY >
<!ATTLIST logomark     gazou  CDATA  #REQUIRED >
]>
<meishi>
<shimei><sei>岸</sei><mei>和孝</mei></shimei>
<kaisyamei>飯豊山書林</kaisyamei>
<zyusyo>喜多方市松山町鳥見山字下堰下4608</zyusyo>
<denwabangou>0241-22-3981</denwabangou>
<logomark gazou="AIZU.GIF"/>
</meishi>

            

  XSL変換 の結果では,次のようなHTML文書(インスタンス)を期待するものとする。

              
<HTML>
<HEAD><TITLE>名刺</TITLE></HEAD>
<BODY>
<TABLE BORDER="1"><TR><TD>
<P ALIGN="RIGHT">><IMG SRC="AIZU.GIF"></IMG></P>
<P ALIGN="CENTER"><FONT SIZE="+2">岸 和孝</FONT></P>
<P ALIGN="CENTER">飯豊山書林</P>
<P ALIGN="CENTER">喜多方市松山町鳥見山字下堰下4608</P>
</TD></TR></TABLE>
</BODY>
</HTML>

            

 このような XSL変換 を指示するスタイルシートは,次のようになる。このスタイルシートもまたXML文書であることに注目されたい。

              
<?xml version="1.0" encoding="Shift_JIS" ?>
 <xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl">
 <xsl:template match="/">
 <HTML>
  <HEAD><TITLE>名刺</TITLE></HEAD>
  <BODY>
   <TABLE BORDER="1"><TR><TD>
    <xsl:if test="meishi/logomark">
     <P ALIGN="RIGHT">
      <IMG>
       <xsl:attribute name="SRC">
       <xsl:value-of select="meishi/logomark/@gazou"/>
       </xsl:attribute>
      </IMG>
     </P>
    </xsl:if>
    <P ALIGN="CENTER"><FONT SIZE="+2">
    <xsl:value-of select="meishi/shimei/sei"/>
    <xsl:value-of select="meishi/shimei/mei"/>
    </FONT></P>
    <P ALIGN="CENTER"><xsl:value-of select="meishi/kaisyamei"/></P>
    <P ALIGN="CENTER"><xsl:value-of select="meishi/zyusyo"/></P>
   </TD></TR></TABLE>
  </BODY>
  </HTML>
 </xsl:template>
</xsl:stylesheet>

            

 このスタイルシートでは,次のようにXMLコンテンツからHTMLコンテンツへ単純に対応付けしているだけである。


▲図3.2 XMLコンテンツ:HTMLコンテンツの対応


3.2 スタイルシート

  XSL に基づくスタイルシートは,次のようになる。1行目のxml宣言は,スタイルシートがShift-JISエンコーディングで表されていることを示している。2行目のスタイルシートの名前空間の指定“WD-xsl”は, XSL のW3C作業案に基づくことを示している。

              
<?xml version="1.0" encoding="Shift_JIS"?>
 <xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl">
    :
   変換規則
    :
</xsl:stylesheet>

            

 一方, XSLT に基づくスタイルシートは,次のようになる。2行目のスタイルシートの名前空間の指定“XSL/Transform”は, XSLT のW3C勧告に基づくことを示している。

              
<?xml version="1.0" ?>
 <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    :
   変換規則
    :
</xsl:stylesheet>

            

  XSLT の主要な変換規則は,次のとおりである。

▼表3.1 XSLTの主要な変換規則

変換規則 機能
<xsl:template match="パターン">
変換規則の並び
</xsl:template>
パターンで指定された要素が出現した場合に,その変換規則の並びを適用する。
<xsl:value-of select="パターン"/> パターンで指定された要素の内容をここに挿入する。
<xsl:attribute name="属性名">
属性値
</xsl:attribute>
直前の要素に対して属性(属性名="属性値")を追加する。
<xsl:if test="パターン">
変換規則の並び
</xsl:if>
パターンで指定された要素が出現した場合,あるいはパターンの比較式が真である場合に,その変換規則の並びを適用する。
<xsl:choose>
when要素


otherwise要素
</xsl:choose>
場合分けを表わす。
<xsl:when test="パターン">
変換規則の並び
</xsl:when>
パターンで指定された要素が出現した場合,あるいはパターンの比較式が真である場合に,その変換規則の並びを適用する。これは場合の数だけ指定する。
<xsl:otherwise>
変換規則の並び
</xsl:otherwise>
whenのすべてに一致しない場合に,その変換規則の並びを適用する。
<xsl:for-each select="パターン">
変換規則の並び
</xsl:for-each>
パターンで指定された要素が反復して出現する度に,変換規則の並びを繰り返し適用する。


3.3 XSL変換ツールの種類

 現在,数多くのXMLツールが存在する。SGML関連ツールに比べると,かなり多い。「XMLツールの開発の容易さ」というXMLの開発目標の一つが達成されたことが分かる。

 XMLツールも,SGMLツールと同様に,Windows環境では充実しているが,MacOS環境では今回私の開発したもの以外には見るべきものはない。その理由として次のことが考えられる。なお,次期のOS XではJava対応が本格的に行われる,と発表されている。

  1. ビジネス応用のシェアはWindowsが圧倒的である。
  2. Windows環境(Win32)へUNIX版からの移植が容易である。
  3. 現在のMacOS環境では,Java対応が不十分である。
  4. Apple Computer社自身が取り組んでいない。

▼表3.1 Windows環境におけるXSLツール

プログラム名 機能 開発者(移植者) 開発言語
XT XSLプロセッサー James Clark java
XT for Win32 XSLプロセッサー James Clark Java,C
Internet Explorer 5 ウェブブラウザー Microsoft社  
InDelv XML Client ウェブブラウザー InDelv社  
その他      


▲図3.1 Windows環境におけるXSLツール

▼表3.2 MacOS環境におけるXSLツール

プログラム名 機能 開発者(移植者) 開発言語
TransforMiiX XSLプロセッサー Keith Visco(岸 和孝) C
XSLTC XSLTスタイルシートコンパイラー Olivier Gerardin(岸 和孝) C
Internet Explorer 5 ウェブブラウザー Microsoft社  
InDelv XML Client ウェブブラウザー InDelv社  
toU/fromU Shift-JIS〜UTFテキストコンバーター 岸 和孝 C
その他      


▲図3.2 MacOS環境におけるXSLツール

 


3.4 Internet Explorer 5

 現在広く利用されているMicrosoft Internet Explorer 5(通称,IE5)は, XSLプロセッサー を内蔵した,クライアント処理モデル向けのXML/XSL対応ウェブブラウザーである。このツールは,WindowsとMacOSの両環境においてほぼ同じ動作を実現している。

 IE5では,日本語はUTFエンコーディングおよびShift-JISエンコーディングが共に入力できる。さらに,XML viewer機能を備えているので,スタイルシート制作に便利なツールである。


▲図3.1 Internet Explorer 5


3.5 InDelv XML Client

 InDelv XML Clientは, XSLプロセッサー を内蔵した,クライアント処理モデル向けのXML/XSL対応ウェブブラウザーである。IE5 XSL変換 だけを実現しているのに対して,InDelv XML Client XSL の機能(すなわち, XSL変換 XSLフォーマッター の両方の機能)を実現している。また,WindowsとMacOSの両環境においてほぼ同じ動作を実現している。バージョンはまだ0.6であるが,オープンソースなので,今後のバージョンアップが期待できよう。

 ブラウザーの頒布は自由であるが,エディターは商用製品扱いとなっている。

 XSLフォーマットオブジェクトを用いたスタイルシートは,前述の「名刺」の例では,次のようになる。InDelv XML ClientのUTFエンコーディングに問題があるのか,日本語の表示がおかしいことや,利用可能なXSLフォーマットオブジェクトの種類が限られていることから,このスタイルシートの動作は十分に確認できていない。

              
<xsl:stylesheet
    xmlns:xsl='http://www.w3.org/XSL/Transform/1.0'
    xmlns:fo='http://www.w3.org/XSL/Format/1.0'
    result-ns='fo'>
 <xsl:template match="/">
  <fo:block start-indent="20pt"
            margin-top="2pt"  margin-bottom="2pt"
            margin-left="2pt" margin-right="2pt">
   <fo:table border-style="solid"
             table-width="60%">
    <fo:table-body>
     <fo:table-row>
      <fo:table-cell>
       <fo:block space-before="10pt"
                 start-indent="230pt">
        <fo:display-graphic href="{meishi/logomark/@gazou}" />
       </fo:block>
       <fo:block space-before="10pt"
                 font-size="18pt"
                 start-indent="100pt">
        <xsl:value-of select="meishi/shimei/sei"/>
        &#12288;
        <xsl:value-of select="meishi/shimei/mei"/>
       </fo:block>
       <fo:block space-before="10pt"
                 font-size="14pt"
                 start-indent="90pt">
        <xsl:value-of select="meishi/kaisyamei"/>
       </fo:block>
       <fo:block space-before="10pt"
                 font-size="12pt">
        <xsl:value-of select="meishi/zyusyo"/>
       </fo:block>
      </fo:table-cell>
     </fo:table-row>
    </fo:table-body>
   </fo:table>
  </fo:block>
 </xsl:template>
</xsl:stylesheet>

            

3.6 XT

 現在広く利用されているXTは,サーバー処理モデル向けの,Javaから呼び出し可能な XSLプロセッサー である。このツールは,Windows環境においてのみ動作する。XTをWindowsのMS-DOSウィンドウで動作可能にしたXT for Win32は,IE5MSXML Java VMを利用して動作する。XT(for Win32)では,日本語はUTFエンコーディングだけしか入力できない。


▲図3.1 XT


3.7 TranforMixx

 TranforMixxは,サーバー・クライアントの二つの処理向けの,Cから呼び出し可能な XSLプロセッサー である。このツールは,現在,Mozillaプロジェクトで開発が進められている。今までWindows環境においてのみ動作可能であったが,今回MacOS環境へ移植した。

 TranforMixxでは,日本語はUTFエンコーディングだけしか入力できないので,MacOS環境での利用の便宜を図るために,Shift-JIS〜UTFテキストコンバーターも合わせて開発した。


▲図3.1 TranforMixx


3.8 XSLプロセッサーの状況

 各種の XSLプロセッサー の機能は,次のような実現状況である。

▼表3.1 XSL要素の実現状況

XSL要素 機能 W3C XSL 1.0 MSXML 2.0
(IE5)
MSXML 3.0
(may 2000)
XT
19991105
TransforMiix
1.0
apply-imports テンプレートの取り込み X   X x x
apply-templates テンプレートの呼び出し X X X X X
attribute 属性値への置換 X X X X X
attribute-set 名前付き属性の集合 X   X X X
call-template テンプレートの呼び出し X   X X X
choose 場合分けの前書き X X X X X
comment 注釈の生成 X X X X X
copy コピー X X X X X
copy-of コピー X   X X X
decimal-format 数字の様式 X   X x X
element 要素の生成 X X X X X
fallback フォールバック X     - -
for-each 条件による反復 X X X X X
if 条件による選択 X X X X X
import スタイルシートのインポート X   X X X
include スタイルシートのインクルード X   X X X
key キーの宣言 X     - -
message メッセージ X     X X
namespace-alias 名前空間URIのエイリアス宣言 X     X X
number 番号付け X   X X X
otherwise 場合分けの省略時 X X X X X
output 出力 X   X x X
param パラメータ X   X X X
preserve-space 空白の保存 X   X X X
processing-instruction 処理命令 X X X X X
sort 分類 X   X X X
strip-space 空白の削除 X   X X X
stylesheet スタイルシートの前書き X X X X X
template テンプレートの前書き X X X X X
text テキストの生成 X X X X X
transform スタイルシートの前書き X   X X X
value-of 要素の内容への置換 X X X X X
variable 変数 X   X X X
when 場合分けの条件 X X X X X
with-param テンプレートへのパラメータの引き渡し X   X X X

▼表3.2 XSL関数の実現状況

XSL関数 機能 W3C XSL 1.0 MSXML 2.0
(IE5)
MSXML 3.0
(may 2000)
XT
19991105
TransforMiix
1.0
current カレントノード X   X X X
document ソース文書 X     x x
element-available 利用可能な要素 X   X - X
format-number 数字の様式 X   X x -
function-available 利用可能な関数 X   X X X
generate-id ノード X   X X X
key キー X     - -
system-property システム特性の値 X   X X -
unparsed-entity-url 構文解析対象外実体のURI X     X -



4 XSLTの利用事例


4.1 HTMLコンテンツへの変換

 XML文書からHTMLコンテンツへの変換は,現状の各種の XSLプロセッサー で十分対応できる状況にあるので,容易であろう。

 HTMLコンテンツとして段階スタイルシート(CSS)をHTMLファイル内に含めるか,別のファイルとして独立させるか,は任意である。ここでは,HTMLタグでのスタイル指定ができない箇所をCSSで補完させる形をとった。

 この文書はXMLで表現してある。TransforMiixによってHTML文書に変換し, XSL変換 を確認した。使用したデータは次のとおりであった。

▼表4.1 HTMLコンテンツへの変換のためのデータ

内容 ファイル名
この文書(XMLインスタンス) SEMINAR.XML
この文書の文書型定義 REPORT.DTD
REPORT.DTDのためのスタイルシート REPORT.XSL
この文書のXSL変換結果(HTMLインスタンス) SEMINAR.HTM

 TransforMiixによる XSL変換 の手順は次のとおりであった。

  1. この文書が表現できる報告書の凡その「書式」を決める。
  2. その書式に基づき,文書型定義REPORT.DTDを書く。
  3. REPORT.DTDに基づき,この文書SEMINAR.XMLを書く。
  4. REPORT.DTDに基づき,そのスタイルシートREPORT.XSLを書く。
  5. SEMINAR.XMLREPORT.XSLはShift-JISエンコーディングなので,toUを用いてUTF-8エンコーディングへ変換する。
  6. TransforMiixを用いてコマンドラインで“-i SEMINAR.XML -s REPORT.XSL -o SEMINAR.HTM”を指示する。
  7. TransforMiixは, XSL変換 の結果としてSEMINAR.HTMを出力する。
  8. ウェブブラウザーがUnicode非対応であれば,SEMINAR.HTMは,日本語部分がUnicode文字参照で表されているので,fromUを用いてShift-JISエンコーディングへ変換する。
  9. ウェブブラウザーを用いてSEMINAR.HTMを表示し,不都合な箇所があれば,スタイルシートREPORT.XSLの段階スタイルシート(CSS)の指示を調整する。

4.2 組版データへの変換

 現状の各種の XSLプロセッサー を使って,XML文書からPageMakerQuakXpressTeXFrameMakerなどといった組版データへの変換が処理可能かどうかの判断は現段階では難しい。

 現時点では,InDelv XML Clientでは,利用可能なXSLフォーマットオブジェクトの種類が限られている。また,TransforMiixでは,出力メソッドで実現されていない機能があり,XTで実装されている拡張要素や拡張関数が無かった。そうしたことから,スタイルシートの動作確認ができなかった。

 組版データへの変換では, XSL変換 のテキスト出力メソッドを用いることになるが,組版データにおけるエスケープは様々な形式であり,何らかの拡張関数が必要になるかもしれない。そうした意味からは, XSL変換 前後の処理がプログラミングできる,JavaベースのXTを利用した方がいいかもしれない。



5 今後へ向けて

 印刷業では,「HTMLコンテンツ制作ビジネス」の延長線上に「XMLコンテンツ制作ビジネス」を期待する傾向が見られるが,果たして「XMLコンテンツ制作ビジネス」があるのだろうか,と思う。 つまり,XMLはデータベースの動的情報を運ぶコンテナーであり,「XMLコンテンツ制作」だけが切り出されてアウトソーシングされるとは思われないからである。

 「XMLコンテンツ制作ビジネス」をサービスする場合は, XSLT だけではなく, XSL 規格を利用したスタイルシートの制作,そしてデータベース操作を前提としたJavaPerlなどのプログラミング技術も要求されるだろう。

  XSL DSSSL にかなり近い機能である。組版については, XSL変換 の工夫も大事であるが, XSL の機能が実現されるまでは, DSSSL を学ぶべきだろう。ちなみに, XSL DSSSL との対比に関する論文はないようである。また, XSL から DSSSL への変換もないようである(Henry S. Thompsonによるxslj XSL 規格のバージョンが古すぎるので使えない)。 通常の紙媒体を前提にした印刷物を組版できるXSLツールが登場するという保証は無い。つまり,ベンダーにおける開発が電子媒体上での「組版」へ集中するかもしれないからである。

 小文では,商用製品については触れることができなかった。評価に割く時間がないことと,評価できるだけの材料を持ち合わせていないことが最大の理由である。機会を得て評価結果を発表したいと思う。



参考文献およびインターネットサイト