Ruby 上で XSLT を使うには、ruby-xslt というのを使うらしいのだが、Windows 版ではそのままでは動かないらしい。
ということでネットで調べてた事をまとめてみた。
実はこの調べるのが一番難儀でした。
直球でズバリ解説しているサイトはなかったので、とにかく回りくどいというか、リンク切れというか。英語というか。
- Compiling ruby-xslt on Windows(Aquifer)(閉鎖)
色々と書いてあるが、本文最下行にある「~ Aquifer SourceForge site.」という文中にあるリンクから以下の場所へ移動。
ここから「ruby-xslt-(バージョン番号)-win.zip」というファイルを落とす。
あとは解凍して、本文にある通り、コピー。
- xslt_lib.so
→(Ruby のインストール先)\lib\ruby\site_ruby\1.8\i386-msvcrt\xml - xslt.rb
→(Ruby のインストール先)\lib\ruby\site_ruby\1.8\xml
なお xml フォルダがない場合、フォルダを新規作成したうえでコピー。
でもこのままだと、DLL が足らないと言われ、エラーで落っこちる。
というわけで、今度は足らない DLL を追加する必要がある。
ここから以下の3ファイルを落とす。
- libxslt-(バージョン番号).win32.zip
- libxml2-(バージョン番号).win32.zip
- iconv-(バージョン番号).win32.zip
ちなみに Windows の場合、ruby-xslt は以下の参照関係がある模様。
xslt.rb → xslt_lib.so → libexslt.dll → libxml2.dll → iconv.dll
(使わない機能がある場合、おそらく DLL も一部不要かもしれん。)
そんなわけで、必要な DLL をすべてインストール。
ちなみにインストールとは言え、実際には「適当に解凍して、Windows システムフォルダ配下の system32 フォルダ内に DLL を手動コピーする」のこと。
これで、動く…らしい。