OpenXml ファイル形式の設計とベスト プラクティス
質問
皆さん、
System.IO.Packaging にある OpenXml API を使用して、いくつかの Xml/バイナリ ファイルを含むパッケージ ファイルを作成しています。そのため、パッケージは次のような構造になっています。
Package/
-/DataFolder1/an xml file.xml
-/DataFolder2/another xml file.xml
-/Bin/other binar files
これはアプリケーションのバージョン 1.0 で使用されており、非常にうまく機能しています。
現在、V2 の計画段階にあり、パッケージ構造の次の変更を予定しています。
パッケージ内に追加のファイルがある可能性があります
既存のファイルの XML スキーマにいくつかの修正がある可能性があります (例 ...新しいノード)
- 既存のファイルの XML スキーマにいくつかの変更がある可能性があります (例 ...ノードの削除またはデータ型の変更)
アプリケーションとそのファイル形式の両方を互いに独立して進化させることができるように、ファイル形式とアプリケーション自体の間の後方/前方計算可能性に取り組む実際の経験に基づいたアドバイスをいただければ幸いです。
解決
さらに、アプリケーションを知らなくても、あなたに助言することは困難です。スキーマに大きな変化があった場合 - - ただし、異なるバージョンのカスタムXMLはバージョン番号またはを含む属性を追加することによって処理することができます。新しいバージョン番号が含まれているために、名前空間を変更することにより、
あなたはOpenXMLの自体はバージョン管理と拡張を扱う方法を見てしたい場合は、私はあなたのOpenXMLの仕様の一部5を読むことをお勧めします:
<のhref = "http://www.ecma-international.org/publications/files/ECMA-ST/Office%20Open%20XML%201st%20edition%20Part%205%20(PDF).zip" のrel = "nofollowをnoreferrer"> Officeオープン XML - 第5部:マークアップの互換性と拡張性の