XalanによるXSLT変換

 Xalanは、 The Apache XML Projectが開発・配布しているXSLTプロセッサです。 XSLTプロセッサというのは、XMLで書かれたデータを、 XSLスタイルシート(XSL文書)にかけて、HTML文書を生成するツールのことです。 XalanはJAXP(Java API for XML Processing) の参照実装に採用されていることもあり、J2SE 1.4からは、 JAXP参照実装(Xalan+Crimson)としてJava本体に取り込まれているので、 最初からXalanの機能が使えます。 J2SE 1.3までは、上記のリンクから単体のXalanを無償で入手して使うことになります。 XalanにはコマンドラインXSLTツールとして動作するクラスがついているので、 Javaプログラミングは自分ではしないけど、Java処理系でXSLTを行うツールが欲しい、 というときには便利に使うことができます。

インストール

  1. J2SE 1.4以降をインストールしている場合は、その中に既に入っているので、 ここの作業は不要です。
  2. Xalanの総本山から、 xalan-j_2_2_D10.tar.gzをダウンロードします。
  3. インストールしたい任意のディレクトリで展開します。 ここでは、/usr/local/javad/xalan で展開したとします。
 ちなみに、Xalanの正体は、アーカイブの中に入っている 「xalan.jar」「xerces.jar」 です。前者がXSLT変換をつかさどるプロセッサ、 後者はXML文書の解析を行うルーチンのライブラリです。 これらはXMLをサポートした商用ないし無償のWebアプリケーションの幾つかには同梱されています (例えばBaykit XML Server)。 その中からこの2つのjarファイルを取り出して、Xalanとして使うことも可能です。

コマンドラインツールとして使ってみよう
 XalanはJavaのライブラリなので、実行はjavaインタープリタで行いますが、 コマンドラインが毎回打つには若干タイピング負荷があります。 そこで、次のようなシェルスクリプトを作るとよいでしょう。 私はこれを /usr/local/bin/xalan という名前にしています。

#! /bin/sh
XALAN_HOME=/usr/local/javad/xalan
export XALAN_HOME
CLASSPATH=${CLASSPATH}:$XALAN_HOME/bin/xalan.jar
CLASSPATH=${CLASSPATH}:$XALAN_HOME/bin/xerces.jar
export CLASSPATH
java org.apache.xalan.xslt.Process -in $2 -xsl $1 -out $3
# end.

使い方は、
% /usr/local/bin/xalan in.xsl in.xml out.html
このように、XSLTスタイルシート、XML文書、出力したいHTMLファイル名を指定します。

 同様に、Windowsでも次のようなバッチファイルを作っておくと便利です。

set XALAN_HOME=C:\Wintools\xalan
set CLASSPATH=%XALAN_HOME%\xalan.jar;%XALAN_HOME%\xerces.jar
C:\jdk1.4\bin\java org.apache.xalan.xslt.Process -in %2 -xsl %1 -out %3

(※1) シェルスクリプトやバッチファイルの中で、ファイルの指定順が 「入力XSL、入力XML、出力HTML」の順になっているのは、 別のページで紹介するC言語で書かれたXSLTプロセッサ「The XML C Library for GNOME」 のコマンドラインツール「xsltproc」に合わせただけで、深い意味はありません。

 テスト用に、簡単なXML文書と対応するXSLTスタイルシートを作ってみました。
orders.xml
orders.xsl

XML Top

(first uploaded 2002/01/06 last updated 2002/04/21, KOUKEN HEIJIMA)

Gポイントポイ活 Amazon Yahoo 楽天

無料ホームページ 楽天モバイル[UNLIMITが今なら1円] 海外格安航空券 海外旅行保険が無料!