Дизайн формата файлов OpenXml и лучшие практики - PullRequest
1 голос
/ 10 мая 2009

Люди,

Мы использовали API OpenXml, найденные в System.IO.Packaging, для создания файла пакета, содержащего некоторые файлы Xml / Binary, следовательно, пакет выглядит примерно так:

Package/
 -/DataFolder1/an xml file.xml
 -/DataFolder2/another xml file.xml
 -/Bin/other binar files

Это было использовано для версии 1.0 приложения, и оно работает довольно хорошо.

Мы находимся на этапе планирования V2 и ожидаем следующих изменений в структуре пакета:

  • в пакете могут быть дополнительные файлы

  • возможны некоторые изменения в схеме XML существующих файлов (пример ... новые узлы)

  • возможны некоторые изменения в схеме Xml существующих файлов (пример ... удаление узлов или изменение типа данных)

Буду признателен за любые советы, основанные на реальном жизненном опыте, касающемся обратной / прямой вычислимости между форматами файлов и самим приложением, поэтому мы можем сделать так, чтобы приложение и его формат файла развивались независимо друг от друга.

1 Ответ

1 голос
/ 10 мая 2009

Не зная вашего приложения, вам сложно посоветовать. Однако разные версии вашего пользовательского XML можно обработать, добавив атрибут, содержащий номер версии, или - если произошли серьезные изменения в схеме - изменив пространство имен, чтобы оно содержало новый номер версии.

Если вы хотите взглянуть на то, как сам OpenXML справляется с управлением версиями и расширяемостью, я предлагаю вам прочитать 5 часть спецификации OpenXML:

Офис открыт XML - Часть 5. Совместимость и расширяемость разметки

...