gpt4 book ai didi

xsd - 使用 xsd -cvc-length-valid 错误使元素可选

转载 作者:行者123 更新时间:2023-12-04 17:27:52 24 4
gpt4 key购买 nike

<xs:element name="CurrencyCode" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:length value="3" />
</xs:restriction>
</xs:simpleType>
</xs:element>

但是如果我的值为空它会返回一个错误

cvc-length-valid: Value '' with length = '0' is not facet-valid with respect to length '3' for type '#AnonType_CurrencyCodeServiceServiceList'.



那么我该如何处理呢?

最佳答案

您的架构允许省略 CurrencyCode元素,但如果它存在,它的值必须是一个长度正好为 3 个字符的字符串。

您可以通过指定最小和最大长度来削弱您的限制以允许 0 长度值:

<xs:element name="CurrencyCode" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="0" />
<xs:maxLength value="3" />
</xs:restriction>
</xs:simpleType>
</xs:element>

然而,这将允许像“EU”这样的值,它不是一个有效的货币代码。

一种不同的方法是,指定有效货币代码值的列表并包含一个空字符串作为有效代码:
<xs:element name="CurrencyCode" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value=""/>
<xs:enumeration value="USD"/>
<xs:enumeration value="GBP"/>
<xs:enumeration value="EUR"/>
<!-- add all currency codes you need -->
</xs:restriction>
</xs:simpleType>
</xs:element>

关于xsd - 使用 xsd -cvc-length-valid 错误使元素可选,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5040286/

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