加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

xml – 由XSD验证空的xs:date元素

发布时间:2020-12-16 23:15:19 所属栏目:百科 来源:网络整理
导读:我在XSD中有这个: xs:element name="End_Date" type="xs:date" minOccurs="0"/ 如果有日期或者有一个空节点,我想验证通过 END_DATE 2011-05-31T00:00:00.000 / END_DATE 应该没问题 END_DATE / END_DATE 我怎样才能修改XSD来实现它呢? 我尝试了不同的东
我在XSD中有这个:

<xs:element name="End_Date" type="xs:date" minOccurs="0"/>

如果有日期或者有一个空节点,我想验证通过

< END_DATE> 2011-05-31T00:00:00.000< / END_DATE>
应该没问题
< END_DATE>< / END_DATE>

我怎样才能修改XSD来实现它呢?

我尝试了不同的东西:

的nillable = “真”

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"

<xs:element name="End_Date">
                    <xs:simpleType>
                        <xs:union memberTypes="xs:date">
                        <xs:simpleType>
                        <xs:restriction base="xs:string">
                        <xs:enumeration value=""/>
                        </xs:restriction>
                        </xs:simpleType>
                        </xs:union>
                    </xs:simpleType>
                </xs:element>

他们都没有工作.

错误:

Error detected : The ‘xxxxxxxxxx:End_Date’ element is invalid – The
value ” is invalid according to its datatype
‘http://www.w3.org/2001/XMLSchema:date’ – The string ” is not a valid
XsdDateTime value.

解决方法

也许你对xs:date和xs:dateTime之间的区别感到困惑.您在架构中使用了xs:date,但您的示例是xs:dateTime.

有三种方法可以达到你想要的效果:

(a)定义一个类型,它是(xs:dateTime和(xs:string allow only only“”)的联合)

(b)定义一个类型,它是xs的列表:dateTime,minLength = 0,maxLength = 1

(c)将要素定义为可归零.在这种情况下,实例将不得不说xsi:nil =“true”,这在我看来使得设施相当无用.

如果您尝试其中之一并且它不起作用,请告诉我们您的确切操作以及确切失败的原因.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读