高橋征義です。

matz / ruby-lang.org (Yukihiro Matsumoto) wrote:
>   * XMLはどれを添付するのがよいのですか? REXML? NQXML? DOM? SAX?
>     おもに高橋さん?

現時点で選ぶのであれば、XMLParserとREXMLになるんじゃ
ないかと思います。

理由は、どっちも /\ndyのWindows Installerに入っている
から……というのは半分冗談ですが、

* parserとして最速かつ最も信頼性が高いのはXMLParser。
  ただし、namespaceの対応がちょっといまいち(これは元の
  expatのせいなんですが)。また、動かない環境もあるはず。

* REXML、NQXML、またXMLScanとも、DTDを使っていないXML
  文書ならだいたい読めるはず。

* Object ModelとしてはREXMLが頑張っているが、DOMには非準拠。
  というか、DOM2との機能の対照表くらいはほしい……。

* 実はRubyで広く使われているvalidationつきparserはない。
  libXMLのbindingがちゃんとできれば……。

# というか、Rubyでvalidationつきparserを使う一番簡単な方法
# は、Win32OLEでMSXMLを使うことなんじゃないかと思ってるん
# ですけど当たってますか?>Win32なXML使いのひと

というところなので、XMLParserは添付するべき(動かない
OSにはごめんなさい、ということで)、REXMLは必要があれば
もう少し練り込んでから添付するのがいいんじゃないでしょうか。
あ、でもSOAP4RはNQXMLを使ってるんでしたっけ。うーん……。

ちなみにSAX2については、APIをPerlSAX風に変更することにした
んですが、parse時に生成するnodeのAPIを決めるべく、NQXMLと
REXML(と、ついでにPerlSAXのAPIにちょっと似ているC#のpull parser)
の仕様を調べないと、というところで止まっています……。

>   * その他に添付したいライブラリがありますか?

前にも挙げましたが、Benchmark。
あと、/\ndyのWindows Installerに入っているパッケージについては、
それぞれ考慮してみてもいいんではないかと思います。

高橋征義 (TAKAHASHI Masayoshi)   E-mail: maki / rubycolor.org