【问题标题】:XSD "version" attribute semanticsXSD“版本”属性语义
【发布时间】:2017-05-27 21:49:47
【问题描述】:
<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 Schema 文档的版本(例如 2.3.1)或用于编写架构文档的 XSD 语言版本(即 1.01.1)?还是设计人员/开发人员仍在选择语义?

【问题讨论】:

    标签: xml xsd xsd-1.1 xsd-1.0


    【解决方案1】:

    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>
    

    【讨论】:

    • 我也是这么想的,但是当我在网上搜索时,我发现了几个类似this one的链接,但没有一个明确支持我的观点。这让我问了这个问题。
    • 那个link也支持你的观点。他们推荐使用xs:schema/@version标准指的是他们的IATI standard不是 W3C XML Schema 标准。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-09
    • 1970-01-01
    • 1970-01-01
    • 2020-05-25
    相关资源
    最近更新 更多