DelphiのIXMLDocumentインターフェイスを備えたDOMベンダーとしてMSXMLの代わりにOpenXMLを使用しても安全ですか?
私が知っておくべき基本的な機能に既知の制限はありますか?
また、Open XMLとXercesの実装はどのように異なりますか?(Xercesには追加のライブラリが必要ですが、Open XMLは実行可能ファイルiircに含まれているようです)
必要なものによって異なります。MSXMLは非常に機能が充実しており、スキーマやXPathなどをサポートしています。IIRC、OpenXMLはDTDサポートのみを提供し、近年はTLCをあまり取得していません。DelphiとXMLの初期のパイオニアであったディーター・ケーラーの仕事に大きな敬意を表します。今日の最良の解決策としてそれをお勧めするかどうかはわかりません。
IXMLDocumentが必要な場合は、OpenXMLは確かにオプションですが、MSXMLについて特別な懸念がある場合(たとえば、特定のバージョンの機能が必要な場合)を除いて、MSXMLを使用します。他のライブラリを利用できる場合は、検討する必要のある他のオプションの完全ではないリストを次に示します。
DIXML-商用-現在および非常に完全な機能(www.yunqa.de/delphi/doku.php/products/xml/index)
XMLPartner-オープンソース-現在のステータスがわからない場合は、CG NGで最近の更新を確認してください(sourceforge.net/projects/tpxmlpartner)
OmniXML-オープンソース、優れたデザイン、IXMLDocument IIRC(www.omnixml.com)と同様のAPI
NativeXML-商用、非検証、非常に高速、非標準ですが簡単なAPI(www.href.com/nativexml)注; NativeXMLはSimDesign.nlのNilsHaeckによるものです。Nilsのサイトは現在ダウンしています。この背後にある長い話です。
FWIW-私は個人的にNativeXMLとOmniXMLを使用しており、苦情はありません。特定のプロジェクトに必要な非常に 印象的な機能セットがあるため、私はDIXMLを検討してきました。
デビッド