私のアプリケーションは、さまざまなベンダーの XML データを使用します。すべてのベンダーが異なる xml 形式/スキーマを使用しており、これらの XML からさまざまなデータを取得するにはカスタム クエリが必要です。
最初は RDBMS アプローチから始めました。ベンダーから特定の XML を取得した後、XML を解析/クエリし、いくつかのテーブルにデータを書き込みます (Woodstock StAX パーサーを使用)。ただし、RDBMS (固定スキーマ) の性質上、さまざまなベンダーのすべての XML 形式をサポートすることはできません。サポートしたとしても、階層 xml を RDBMS 固定スキーマ リレーショナル データに「正規化」する必要があります。
ベンダーからの xml/data は毎日頻繁に更新され、サイズは数 kbs から最大 50 MB のデータ ファイルまでさまざまです。
次のステップとして、さまざまな NXD (ネイティブ Xml データベース)、eXist-db、Sedna、BaseX、および MonetDB を評価して、これが私の目的に合っているかどうかを確認しています。
これを解決する方法について、実用的なアドバイスを提供してもらえますか? または、さまざまな形式/スキーマの多数の XML データを処理する同様のシステムを構築しました。
私が答えようとしているコア XML 要件は次のとおりです。
- 複数のソースからの複数の xml データ ファイルを処理します。XML はベンダーごとに異なります。
- ドキュメント全体と、DB 内の既存の XML の一部のフィールドの XML 更新。
- 特定のベンダーからのものかどうかを識別し、それに応じてクエリを起動します。
- XPath/XQuery を使用してこれらの xml にクエリを実行し、データを読み取り、共通のビューでユーザーに表示します。
ご意見をお聞かせください。
ありがとう、サブロー。