0

这是一个 XSD 文件,我想在其中添加一个元素 PreviousYear,即 CurrentYear-1

<xsd:complexType name="ConstantsType">
<xsd:sequence>
    <xsd:element name="CurrentYear" type="xsd:string" fixed="2013" />
</xsd:sequence>
</xsd:complexType>
4

1 回答 1

1

鉴于您已通过使用字符串文字将 CurrentYear 的值固定为 2013 年,似乎没有任何理由不定义

<xsd:element name="PreviousYear" type="xsd:string" fixed="2012"/>

当你改变一个时,你需要同时改变两个。

然而,这看起来并不是一个特别方便的设计:在 1 月 1 日,CurrentYear 名称将变得具有误导性,除非您修改架构中的固定值;如果您确实修改了固定值,则包含 CurrentYear 元素的所有现有有效文档都将失效。(此外,将 CurrentYear 键入为 xsd:string 似乎是不恰当的,因为它显然打算具有 xsd:gYear 的含义。)

当然,您可能只需要定义一些类似这样的基本信息,以便在一种或另一种程序中使用;在这种情况下,说今年是 2013 年的元素可能是有意义的。我对这个想法的唯一问题是,我想不出任何不涉及编程语言的信息可能有用的情况,而且我想不出任何编程语言还没有获得更好的方法来找出运行时的年份。

于 2013-07-02T01:15:39.927 回答