仕事でXMLを使うことになったので、ここぞとばかり勉強熱心になってみる。

というわけで、前々から使ってみたかったXSLTプロセッサをとりあえずインストール……しようと思ったが、なぜかJDK1.4あたりにはすでにXalanがインストールされているらしい。

でも、問題あり? Xalanを実行しようとすると "Exception in thread "main" java.lang.ClassCastException: org.apache.xalan.res.XSLTErrorResources_ja" というエラーが発生する。

原因は、Bug Id 4662527 とか Q. How do I override the JAXP implementation in J2SE SDK 1.4 and above? とか Java2のバグによるXalanの不具合を解消 を見て、納得。

対処法:

1. 最新版のXalan-Java(xalan-j-current-bin.zip)をダウンロード。

2. 使用するJREのlibディレクトリの下にendorsedディレクトリを作成(例: /usr/java/jdk/jre/lib)。

3. 最新のxalan.jarをendorsedの直下に置く。

Processクラスの実行例: java org.apache.xalan.xslt.Process -IN src.xml -XSL translate.xsl -OUT dest.html

参考: XML関連ライブラリのインストール - XSLTプロセッサのインストール, Xerces と Xalan を Windows へインストール, Xalan-Java: Downloads & Dependencies, Xalan-Java: Using the Command-Line Utility

で、JAntennaのデータファイルをXMLにしてみたが、けっこうテクノロジーの使用目的を間違えて使ってしまった感じがするなぁ……行指向のテキストファイルで十分だったり。失敗した(^_^;

tags: XML zurazure

Posted by NI-Lab. (@nilab)