我们被要求为开放 XML 标准整合一组模式。
XSD 1.0 可以处理大多数规则,但在某些地方会有点混乱(特别是考虑到可扩展性),它还依赖于实现者以注释的形式阅读某些规则的自由文本描述。
几乎所有规则都可以使用 XSD 1.1 来实现,但是我们不确定这是否会过度限制实现者。
所以我的问题是,XSD 1.1 是否足够成熟,可以在野外使用?
使用 XSD 1.0 的理由
- 限制最少的需求论点:通过要求最低公分母标准 XSD 1.0 来最大化系统和团队之间的互操作性。
- 更广泛的工具和库支持:JAXB 和 xsd.exe
例如,(.NET) 仍然不支持 XSD 1.1。
使用 XSD 1.1 的理由
-
断言 https://www.w3.org/TR/xmlschema11-1/#cAssertions (
xs:assert
)非常强大。利用 XPath 提供
表达核心内容之外的约束的灵活机制
类型建模。
-
条件类型赋值 https://www.w3.org/TR/xmlschema11-1/#cTypeAlternative当类型发生变化时可能会很有用
每个属性值。
- 许多其他改进。看W3C XML 架构定义语言
(XSD) 1.1 第 1 部分:结构, 附录G自版本以来的变化
1.0(非规范) https://www.w3.org/TR/xmlschema11-1/#changes
推荐
如果参与构建和交互系统的所有各方都准备迁移到 XSD 1.1 并且不依赖于仅支持 XSD 1.0 的工具或库,那么迁移到 XSD 1.1。否则,请坚持使用 XSD 1.0。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)