1

我想提前考虑并在 XMLSchema 文档中包含版本控制。似乎 w3c 中建议的方法是保持命名空间相同并使用版本属性。

到目前为止如此明智。

但是,我是否不需要能够根据指定的版本切换模式以用于验证?Java 6 XML 模式验证工具是否包含此功能?

4

1 回答 1

1

你是对的,很多人建议保持命名空间不变。我不怀疑这种方法适用于许多人(包括大多数建议它的人),但我从未见过一个真正令人信服的论点,它是唯一合理或可取的做法。(并且在假设特定命名空间只能有一个模式的系统中,更改命名空间可能是您能够对词汇表进行版本化的唯一方法。)

你也是对的,跨版本保持命名空间不变可能意味着你想要维护多个模式。上次我查看它的文档时,Xerces J 似乎让你做你需要的事情变得相当简单:一个验证调用基本上涉及说“这里,拿这个文档和这个模式,然后验证”。

有些人通过说每个新版本都将扩展有效文档集来避免对多个模式的需求,因此每个版本的模式都可以用于创建符合早期版本模式的文档。(进一步的改进:小数点版本必须以这种方式向后兼容,只有主要版本才能向后兼容——如果是,它们必须使用新的命名空间。)

于 2012-08-23T22:26:51.950 回答