【发布时间】:2017-01-30 08:58:28
【问题描述】:
我目前正在开发一个执行导入或导出某些实体任务的应用程序。用于相同的文件格式是XML。 JAXB 正在用于 XML 绑定。
问题存在XSD,它定义了实体的结构,没有提供版本控制。如何开始定义版本化的XSD 以及随后提供的XML 实例文档JAXB 位于底层绑定框架?
我已经读到在XSD 中引入版本有三种可能的方式。
1) 更改内部架构版本属性
2) 在根元素上创建一个类似于 schemaVersion 的属性
3) 更改架构的目标命名空间。
哪一个最适合下面提到的用例?
用例:在下一版本中对 XSD 所做的更改可能会使现有元素无效。虽然 schema 本身可能不向后兼容,但应用程序需要提供处理所有版本的 schema 的支持。
【问题讨论】:
-
如果下一个版本不向后兼容,那么更改命名空间的选项 3 似乎非常有效。