web-dev-qa-db-ja.com

どのHaskellXMLライブラリを使用しますか?

HaskellにはXML処理ライブラリがいくつかあるようです。

  • HaXml が最も人気があるようです( dons によると)
  • [〜#〜] hxt [〜#〜] は最も進んでいるようです(矢印のおかげで学ぶのも最も難しいです)
  • xml これは単なる基本的なパーサーのようです
  • [〜#〜] hxml [〜#〜] 放棄されたようです
  • tagsoupとtagchup
  • libXMLおよびlibXMLSAXバインディング

だから、私がそれを望むなら、どのライブラリを選ぶべきか

  • 適度に強力であること(XMLからデータを抽出し、XMLを変更すること)
  • 将来的には長期間サポートされる可能性があります
  • 「コミュニティの選択」になる(デフォルトの選択)

そして、上記のほとんどは私の現在のニーズには十分であるように見えますが、他のものよりもそれらの1つを選択する理由は何ですか?

UPD 20091222

ライセンスに関する注意事項:

60
sastanin

私がお勧めします:

  1. xml 、タスクが単純な場合
  2. haxml 、タスクが複雑な場合
  3. hxt 、矢印が好きなら
  4. hexpat 高性能が必要な場合
58
Don Stewart

HXTの主な問題は、異常な矢印構文を除いて、パフォーマンスとメモリ使用量です。約1.5MBのXMLの処理に1.2秒を費やし、その過程で約2.3GB(!)のメモリを消費するアプリがあります。 Libxml2は、同じデータに対して数ミリ秒かかります。 css関数と矢印述語を介したデータの抽出も、Libxml2と比較して非常に遅いようです。

14

個人的にはHXTをお勧めします。なぜならは矢印を使用しているためです。これは学習に非常に便利で強力なツールであり、XML解析ライブラリは矢印の完璧な使用法です。 (これらは、モナドでは不可能だったさまざまな構文解析の問題を解決するために最初に発明されました)。矢印は、 JavaScriptの矢印 などの純粋な関数型プログラミング以外でも使用され始めています。

10
Will