我目前正在处理执行导入或导出某些实体任务的应用程序。用于相同文件格式为XMLJAXB用于XML绑定。

XSD存在定义实体结构的问题,没有提供版本控制的问题。我如何开始定义版本化的XSD和随后的XML实例文档,前提是JAXB位于底层绑定框架中?

我已经读过,在XSD中有三种引入版本的可能方法。
1)更改内部架构版本属性
2)在根元素上创建一个诸如schemaVersion之类的属性
3)更改架构的目标名称空间。
哪一个最适合下面提到的用例?

用例:在下一版本中对XSD所做的更改可能会使现有元素无效。尽管模式本身可能不向后兼容,但是应用程序需要提供对所有版本模式的支持。

最佳答案

XML旨在促进文档结构的更改和灵活性。不幸的是,JAXB不是。将文档结构的知识编译到Java源代码中的行为使更改文档结构变得更加困难。

如果结构更改是您日程的一部分,我认为您应该认真考虑不使用JAXB:XQuery和XSLT之类的技术更适合这种情况。

关于java - 使用JAXB支持XSD版本控制,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41931992/

10-09 01:13