【发布时间】:2011-01-02 02:56:57
【问题描述】:
我经常需要为不同的基于 XML 的导入例程设计 XML 模式。很明显,XML 模式会随着时间的推移而发展,或者它们可能包含需要修复的错误,因此捕获模式的版本并拥有一些机制来绑定特定版本非常重要。
目前我有两种情况:
在架构中发现错误,所有架构实例必须符合固定版本。
架构已升级,应被视为可取的,但也应支持旧架构。
最后我想出了在 schema 的命名空间中存储版本信息:
targetNamespace="http://schemas.company.com/Geodesy/2010/River.xsd"
修复错误时,我在同一个命名空间中修复它,但如果我要升级架构,那么我需要创建一个新的命名空间,但添加了升级月份:
targetNamespace="http://schemas.company.com/Geodesy/2010/01/River.xsd"
如果我在一个月内进行了多次升级,那么也只需附加一天:
targetNamespace="http://schemas.company.com/Geodesy/2010/01/17/River.xsd"
你知道更好的方法吗?
【问题讨论】:
标签: xml xsd versioning