2011-01-13 5 views
2

比較私は同じ要求のための2つの異なるXSDを持っています。 1つは最新バージョンであり、もう1つは古いバージョンです。私は2 xsdを比較したい。2異なるXSD

Liquid XMLツールを使用してXMLを生成しましたが、生成されたxmlは2つのxsdsが完全に異なっていることを示していますが、これは可能ではありません。私のアプローチが間違っているか、xsdsが本当に異なっています。

あなたは私に2 xsdsを比較するベストプラクティスを提案できますか?

答えて

0

OxygenにはXML比較ツールがあります。

また、両方のXSDをきれいに印刷して、diffやTortoiseMergeなどを使用して比較することもできます。

+0

要素の定義は、上または下にある可能性があります。要素を定義する順序は重要ではありません。 –

1

QTAssistantには、XSD対応の比較機能があります。これはXMLスキーマリファクタリング(XSR)モジュールの一部です。 XSDを意識しているため、ファイルベースの比較に慣れている人が、テキストを比較したり、XMLを認識したりすることに驚かされることがあります。

QTAssistantは実際にXSDファイルを比較しません。代わりに、XSDファイルの "コンパイル済み"セットを比較します。だから、誰かが単に2つのファイルにXSDを分割することを決定した場合、< XSDを使用して一緒にリンクされます。include />、およびこれら2つのセットを比較、その結果は「同一」として戻ってくるでしょう。良い例はACORD標準で、XSDのリリース方法が変更されました。以下は... QTAssistantでセットとして整理2.21対2.26のリリースを示す一例である

ACORD Collections

...とリリース2.21のファイル間の関係(< XSDを使用しています:/>秒が含まれます)。

File relationships in ACORD 2.21

もう一つの例:minOccurs属性またはmaxOccursの=」1” 属性がバージョン間で削除された場合、これらの1Sはとにかくデフォルト値なので、この差はフラグが立てられません...

その他の興味深い機能です差分レポートによって提供される粒度...加え

Diff report

各XSD成分のレベルで利用可能な結果を​​持って、それまた、2つに分割されています。スキーマコンポーネントが著しく直接変更されたかどうかに1つの結果、ステータス、(LastRaceDateの下LastRaceDateとLastDatePartialDateの間の選択で「置き換え」された)...

Directly modified XSD component

...および別のもの、拡張ステータス(依存性に基づく影響分析を考慮します(属性の下位が必須からオプションに変更されました)。

Dependency modified

レポートは、他のツールとのさらなる統合のために、エクスポートすることができます。

関連する問題