• 締切済み

純Perl製のXMLパーサーはありませんか

horagaiです。お世話になっております。 PerlでXMLファイルを処理する必要があり、Perlで使えるXMLパーサーを探してみたところ、XMLParserというそのものずばりの名前のモジュールがあることがわかりました。 しかし、これはXMLパーサー本体ではなく、expatというC言語で書かれたXMLパーサーを利用するためのインターフェイスらしいです。それに私は無料ホームページスペースで使いたいので、コンパイルの必要なモジュールは利用できません。 Perlだけで使える(expatのようなPerl以外で書かれた非標準的外部プログラムを必要としない)XML処理用のライブラリー(モジュールではなくパッケージ)をご存知ないでしょうか。 出来れば日本語も処理できる(それもUnicodeだけでなくEUC-JPやShift-JISのファイルも)ようなものが望ましいです。 Perlはテキスト処理が得意なので、Perlで書かれたXMLパーサーは当然あると思っていたのですがどうも見つかりません。 なお利用目的としてはデータ構造を取り出すと言うよりも単にXMLデータをHTMLに直したいだけなので、別にXMLパーサーでなくてもそのような目的に使えるようなパッケージであればそれでも構いません。 なおCPANも一応はチェックして見ましたが見つかりませんでした。(もちろん見落としはあるかも知れませんが) よろしくお願いします。

みんなの回答

  • alfeim
  • ベストアンサー率58% (114/195)
回答No.2

XML->HTMLの変換だけならXSLTがあればいいのでしょうから http://xmlxslt.sourceforge.net/ が使えるのではないでしょうか? ほかにもlibxmlへのラッパもあるようです。これならjakartaさんの示したXercesよりは入っている可能性が高そうですが・・・ もっとも文字コードのことを考えたらXerces+ICU(またはXML4C)とかを用意できる環境を探したほうがいいんでしょうけど。

horagai
質問者

補足

alfeimさんありがとうございます。 >http://xmlxslt.sourceforge.net/ > が使えるのではないでしょうか? おお。これはよさそうだ。と思ってよく見たら… XML::XSLTを使うためにはXML::Parserが必要 と書いてありました。 はぁぁ~。やっぱりどこまでいってもexpatから逃れられないみたいです。

  • jakarta
  • ベストアンサー率38% (607/1597)
回答No.1

残念ながら無料スペースでは使えないと思いますがPerl用のXerces XML parserというのがあります。参考にしてみてください。 http://xml.apache.org/xerces-p/index.html

horagai
質問者

お礼

jakataさん。ありがとうございました。 でも、これもやはりパーサーそのものではなくラッパーのようですね。

関連するQ&A