版本控制XML模式的最佳实践是什么?
我经常需要为不同的基于XML的导入例程设计XML模式。很明显,XML模式将随着时间的推移而发展,或者它们可能包含要修复的错误,因此捕获模式的版本并具有某种机制来绑定特定版本很重要。
目前我有两种场景: >在模式中找到错误,所有模式实例必须符合固定版本。 最后我想出了在模式的命名空间中存储版本信息: targetNamespace="http://schemas.company.com/Geodesy/2010/River.xsd" 当修复bug时,我修复它在同一个命名空间,但如果我要升级一个模式,那么我需要创建一个新的命名空间,但升级月添加: targetNamespace="http://schemas.company.com/Geodesy/2010/01/River.xsd" 如果我在一个月内有多个升级,那么只是追加一天: targetNamespace="http://schemas.company.com/Geodesy/2010/01/17/River.xsd" 你知道更好的方法吗?
这是一个困难的主题,它甚至不是有趣的,我已花了多年提供咨询支持。
有很多best practices在那里,但大多数他们不工作在所有情况下。例如,许多人主张使用“xsd:any”来允许扩展,如果开发人员负责维护模式,将其转换为转储,则这只是一个灾难。 如果您开始使用,以下是一些提示: >不要将小版本号,微版本号,日期或任何其他排序放入您的命名空间。每次更改命名空间时,您将中断所有处理应用程序。 祝你好运! (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |