タグ: XSLT

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

    これで、動く…らしい。