gpt4 book ai didi

asp.net - 如何在 XSD 中声明可选日期字段

转载 作者:行者123 更新时间:2023-12-05 05:24:45 25 4
gpt4 key购买 nike

我使用 XSD 来验证传入的 XML 元素。XSD文件

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.rg/2001/XMLSchema"
xmlns:tns="http://xxxy/ervices/V0"
targetNamespace="http://xxxy/ervices/V" elementFormDefault="qualified"
attributeFormDefault="unqualified" >

<xs:complexType name="FailType">
<xs:sequence>
<xs:element name="ConDt" type="xs:date" minOccurs="0" maxOccurs="1" nillable="true"/>
<xs:element name="PreEn" type="xs:string" minOccurs="1" maxOccurs="1"/>
</xs:sequence>
</xs:complexType>
</xs:schema>

我的 XML 文件

<Pat xmlns="http://xxxy/ervices/V">
<ConDt></ConDt>
</Pat>

我收到的元素无效 - 根据其数据类型“http://org/2001/XMLSchema:date,值“”无效' - 字符串 '' 不是有效的日期值。

最佳答案

指定 nillable="true"允许您的实例包含

<ConDt xsi:nil="true"></ConDt>

但它不允许你写

<ConDt></ConDt>

(请不要问我他们在想什么......)

如果你想允许

<ConDt></ConDt>

那么两种可能的方法是

  1. 将其定义为允许 xs:date 或零长度字符串,或

  2. (我的首选方法)将其定义为列表类型:具有 maxLength="1"的 xs:date 值列表。

关于asp.net - 如何在 XSD 中声明可选日期字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33766869/

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