Windows 版の Ruby で XSLT を動かす

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 を手動コピーする」のこと。

これで、動く…らしい。


投稿日

カテゴリー:

投稿者:

タグ: