XSD "version" 属性语义

XSD "version" attribute semantics

<schema xmlns="http://www.w3.org/2001/XMLSchema" ... version="xxx">

XSD 规范 https://www.w3.org/TR/xmlschema11-1/#declare-schema 没有指定 version 属性的语义:

The other attributes (id and version) are for user convenience, and this specification defines no semantics for them.

W3C 版本控制指南也没有 https://www.w3.org/TR/xmlschema-guide2versioning/

这个属性应该用于指定 XML 模式文档的版本(例如 2.3.1),还是用于 XSD 语言的版本,是否达成共识?用于编写模式文档(即 1.01.1)?或者语义选择仍在 designers/developers?

xs:schema/@version 属性用于指定正在开发的 XSD 的版本,而不是 XSD 1.0 与 1.1。 Semantic versioning 或任何其他用户定义的语义都可以使用。正如您的引用所表明的那样,由用户来定义。

要指定 XSD 1.0 与 1.1,XSD 1.1 提供 conditional inclusion,可用于任何 XSD 元素,包括 xsd:schema 根元素。例如,需要断言的 XSD 可能表明需要 XSD 1.1,如下所示:

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
           xmlns:vc="http://www.w3.org/2007/XMLSchema-versioning"
           vc:minVersion="1.1">
  <!-- -->
</xs:schema>