0

XML データにいくつかのバージョン情報を追加するつもりです。私のツールは何年にもわたって進化しているため、私の XML コンテンツ/フォーマットも進化しています。

ルート要素に何らかの属性を追加するかもしれませんが、バージョン情報はビジネス クラスの固有のプロパティではないため、このソリューションはあまり好きではありません。別のアイデアは、新しいバージョンごとにバージョン管理された名前空間を導入することです....

私は、MS が<?mso-application ... ?>PI を使用してドキュメントにタグを付けていることを確認しました。そうすることと、メタ情報を運ぶために独自のカスタム PI を導入することは良い考えですか? 一般的に使用される PI タグのリストや独自の PI の設計方法はありますか?

ツールが以前の/古い XML データを読み取れるようにするために、unmashaller の前に XSLT 変換をプラグインして、以前のバージョンを自動的に適応させます。

したがって、私のビジネス クラスは古い XML 構文を気にする必要はありません。

助言がありますか?

ディーター。

4

1 に答える 1

1

バージョン管理された名前空間を使用することは、間違いなく悪い考えです。つまり、スキーマに 3% の変更を加えた場合、これはユーザーの 1% にしか影響しません。すべてのユーザーは、アプリケーションを変更して新しい名前空間に変更するか、さらに悪いことに、複数の名前空間を認識する複雑さに対処する必要があります。 .

PI の使用は一般的な解決策ではありませんが、明らかな害はありません。おそらく、スキーマの検証中に PI の存在またはコンテンツを強制できないという事実を除きます。

私の見解では、最もクリーンなソリューションは、ルート要素のバージョン属性です。それが XSLT のやり方であり、うまく機能しています。

于 2012-05-09T20:48:09.883 に答える