2012-05-09 6 views
0

XMLデータにバージョン情報を追加するつもりです。 私のツールは長年にわたって進化してきたので、私のXMLコンテンツ/フォーマットも変わります。メタ情報を提供する処理命令を使用していますか?

ルート要素にいくつかの属性を追加することがありますが、バージョン情報はビジネスクラスの本質的なプロパティではないので、この解決策はあまり好きではありません。 新しいバージョンごとにバージョン化された名前空間を導入することです。

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

旧式/旧式のXMLデータを読めるようにするには、元のバージョンを自動的に適合させるために、unmashallerの前でいくつかのXSLT変換を差し込みます。

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

提案がありますか?

Dieter。

答えて

1

バージョン管理された名前空間を使用することは間違いです。つまり、ユーザーの1%のみに影響するスキーマを3%変更した場合、すべてのユーザーは新しい名前空間に変更するためにアプリケーションを変更する必要があります。さらに悪いことに、複数の名前空間。

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

最もわかりやすい解決策は、ルート要素のバージョン属性です。それがXSLTのやり方であり、うまくいきました。

関連する問題