データを XML 形式で保存する必要があるプロジェクトに取り組んでいます。問題は、時間の経過とともに、データの形式/スキーマが変更されることを期待していることです。私たちができるようにしたいのは、異なるスキーマ バージョン間でデータを移行するためのスクリプトを作成することです。私たちは何千もの顧客に製品を配布しているため、顧客のサイトでこれらのスクリプトを実行/適用できる必要があります (したがって、手動で変換を行うことはできません)。私たちが探しているのは、ある種の XML データ移行ツールだと思います。私の考えでは、理想的なツールは次のことができます。
2 つのスキーマの「XML diff」を実行して、追加/削除/変更されたノードを識別します。
変換関数を指定できるようにします。したがって、たとえば、古い要素の関数である新しい要素をスキーマに追加する場合があります。(たとえば、C = A+B、A + B が古い要素である新しい要素 C)。
そのため、変換機能も適用できる一種の XML 差分およびパッチ ツールを探していると思います。このために私が検討しているツールの 1 つは、Altova の MapForceです。ここにいる他の人たちは、XML データ形式の移行に対処しなければならなかったに違いありません。どのように対処しましたか?
編集:明確化のポイント。私が計画している「差分」は、スキーマまたは .xsd ファイルに関するものです。実際の変更は、特定のスキーマに従う特定のデータ セットに対して行われます。これらのデータ セットは .xml ファイルになります。したがって、スキーマの「差分」は、データセットをあるスキームから別のスキームに移行するためにデータセットにどのような変更を加える必要があるかを理解するのに役立ちます。