Should I be using XSD 1.1 to build an open standard?

独自空忆成欢 提交于 2021-02-19 00:55:09

问题


We have been asked to put together a set of schemas for an open XML standard.

XSD 1.0 would cope with most of the rules, but it would be a bit messy in places (especially to allow for extensibility) it would also rely on implementers reading free text descriptions of some rules in the form of annotations.

Pretty much all of the rules could be implemented using XSD 1.1, however we are not sure if this would limit implementers unduly.

So my question, is XSD 1.1 mature enough to be used in the wild?


回答1:


Reasons to use XSD 1.0

  • Least restrictive requirement argument: Maximize interoperability between systems and teams by requiring the lowest common denominator standard, XSD 1.0.
  • Broader tool and library support: JAXB and xsd.exe (.NET), for example, still do not support XSD 1.1.

Reasons to use XSD 1.1

  • Assertions (xs:assert) are wonderfully powerful. Leverages XPath to provide flexible mechanism to express constraints beyond core content and type modeling.
  • Conditional Type Assignment can be useful when type should vary per attribute value.
  • Many other improvements. See W3C XML Schema Definition Language (XSD) 1.1 Part 1: Structures, Appendix G Changes since version 1.0 (non-normative)

Recommendation

If all parties involved with building and interacting your system are prepared to move to XSD 1.1 and have no dependencies on tools or libraries that only support XSD 1.0, then move to XSD 1.1. Otherwise, stick with XSD 1.0.



来源:https://stackoverflow.com/questions/41147517/should-i-be-using-xsd-1-1-to-build-an-open-standard

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!