Как я должен справиться, другой несовместимый formts Xml основывал документы

Или 1/0 или Y/N с проверочным ограничением на него. эфир путь прекрасен. Я лично предпочитаю 1/0, поскольку я делаю большую работу в жемчуге, и это делает действительно легким сделать Логические операции жемчуга на полях базы данных.

, Если Вы хотите действительно подробно обсуждение этого вопроса с одним из главных управляющих Оракулов, проверьте то, что Tom Kyte должен сказать об этом Здесь

5
задан 2 revs 18 September 2009 в 15:55
поделиться

3 ответа

Вам определенно нужен номер версии в XML-файле, и я бы посоветовал не привязывать его к версии приложения, потому что это действительно отдельный объект. Вы можете использовать две или три версии своего приложения, не меняя формат XML, или вы можете изменить формат несколько раз во время разработки одного выпуска.

Если вы хотите, чтобы более старые версии приложения могли читать более новые версии XML-файла, вы никогда не сможете удалять элементы или изменять их имена. Вы всегда можете добавить элементы, и старый код с радостью их проигнорирует (одна из приятных особенностей XML), но если вы удалите их, старый код не сможет работать.

Как сказал Исмаэль, XSLT - хороший способ конвертировать формат XML из одной версии в другую, чтобы вы не

4
ответ дан 14 December 2019 в 04:44
поделиться

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

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

Как говорит @Andy, используйте основной номер сборки вашего приложения.

4
ответ дан 14 December 2019 в 04:44
поделиться

Не могли бы вы добавить атрибут к корневому элементу, определяющему версию?

Таким образом, старые версии не будут повреждены, а новые версии вашего программного обеспечения увидят атрибут и переключатся на другой метод загрузки

Сама нумерация версий будет зависеть от частоты выпуска. Я бы лично выбрал основной номер сборки вашего программного обеспечения, если вы не предполагаете, что формат будет меняться чаще.

Edit : только что заметил бит о дублировании кода:

Для этого я бы использовал Factory Шаблон, что-то вроде этого:

LoadDocument
DoNonVersionDependingLoading
VersionSpecificLoaderFactory(VersionNumber)
0
ответ дан 14 December 2019 в 04:44
поделиться
Другие вопросы по тегам:

Похожие вопросы: