XSD"版本"属性语义

时间:2017-05-27 08:21:13

标签: xml xsd xsd-1.1 xsd-1.0

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

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

  

其他属性(idversion)是为了方便用户使用,本规范没有为它们定义语义。

W3C版本指南https://www.w3.org/TR/xmlschema-guide2versioning/也不是。

是否应该使用此属性来指定XML架构文档的版本(例如2.3.1),或者用于编写架构文档的XSD语言版本(即{ {1}}或1.0)?或者仍然是设计师/开发人员的语义选择?

1 个答案:

答案 0 :(得分:4)

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

要指定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>