gpt4 book ai didi

xml - XSD:让日期元素为空或满足限制

转载 作者:数据小太阳 更新时间:2023-10-29 02:56:27 28 4
gpt4 key购买 nike

我有一个 XSD,我需要一个日期元素为空或在某个日期 (10/1/2015) 之后。

因此,应该允许以下内容:

<DDate></DDate>
<DDate>2015-10-10</DDate>

我的 XSD 定义为:

<xs:element name = "DDate" nillable="true" >
<xs:simpleType>
<xs:restriction base="xs:date">
<xs:minInclusive value="2015-10-01"/>
</xs:restriction>
</xs:simpleType>
</xs:element>

这强制日期是正确的,但不允许日期为空。任何见解或建议将不胜感激。

最佳答案

您的定义已经允许一个空的 DDate,除了一个限制,您还必须指定 xsi:nil="true",如下所示:

<!-- ns decl. should go to the root element -->
<DDate xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="xsd-date-empty.xsd"
xsi:nil="true" />

但是,如果使用“allow empty”,你的意思是你想在不使用 xsi:nil 的情况下允许空白和/或空节点,有很多方法可以做到这一点。我可能会选择工会,就像这样:

<xs:element name = "DDate" nillable="true" >
<xs:simpleType>
<xs:union>
<xs:simpleType>
<xs:restriction base="xs:date">
<xs:minInclusive value="2015-10-01"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:whiteSpace value="collapse" />
<xs:length value="0" />
</xs:restriction>
</xs:simpleType>
</xs:union>
</xs:simpleType>
</xs:element>

这意味着仅允许:

  • 有 minInclusive 限制的日期
  • 折叠空格后为空的字符串

关于xml - XSD:让日期元素为空或满足限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32510555/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com