cvc-enumeration-valid: 值“2”对于枚举“[1]”不是有效的。它必须是枚举中的值
cvc-enumeration-valid: Value '2' is not facet-valid with respect to enumeration '[1]'. It must be a value from the enumeration
我在验证时遇到错误 XML:
XSD
<xs:simpleType name="XYZ">
<xs:restriction base="xs:nonNegativeInteger">
<xs:enumeration value="1">
</xs:enumeration>
<xs:enumeration value="2">
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
XML 值:
<XYZ>2</XYZ>
错误
cvc-enumeration-valid: Value '2' is not facet-valid with respect to
enumeration '[1]'. It must be a value from the enumeration.
任何人都可以帮助我理解这个问题吗?
如何解决?
错误信息,
cvc-enumeration-valid: Value '2' is not facet-valid with respect to
enumeration '[1]'. It must be a value from the enumeration.
和你问题中的 simpleType
不同意。
错误消息暗示只允许 1
但遇到了 2
;您的类型定义确实允许 1
和 2
.
要引出与您的 xs:simpleType
有关的实际错误消息,您的 XML 必须使用一个值,比如 3
,这是不允许的。然后,您会收到如下错误消息:
cvc-enumeration-valid: Value '3' is not facet-valid with respect to
enumeration '[1, 2]'. It must be a value from the enumeration.
因此,您的(第一个,也许只是?)错误在于认为发布的 xs:simpleType
定义与该错误消息有任何关系。
我已经开始工作了,我认为它解决了你的问题,但正如 KJ 在没有示例的情况下指出的那样,我们真的只是在猜测。
这是一个示例 XML
<xml>
<XYZ>3</XYZ>
</xml>
和示例模式
<xs:schema
elementFormDefault="qualified"
attributeFormDefault="unqualified"
xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="xml">
<xs:complexType>
<xs:sequence>
<xs:element name='XYZ'>
<xs:simpleType>
<xs:restriction base="xs:nonNegativeInteger">
<xs:enumeration value="1"/>
<xs:enumeration value="2"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
值为 3(无效)时,出现以下异常。
The 'XYZ' element is invalid - The value '3' is invalid according to its datatyp
e 'NonNegativeInteger' - The Enumeration constraint failed. Line: 2 Column: 10
我在验证时遇到错误 XML:
XSD
<xs:simpleType name="XYZ">
<xs:restriction base="xs:nonNegativeInteger">
<xs:enumeration value="1">
</xs:enumeration>
<xs:enumeration value="2">
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
XML 值:
<XYZ>2</XYZ>
错误
cvc-enumeration-valid: Value '2' is not facet-valid with respect to enumeration '[1]'. It must be a value from the enumeration.
任何人都可以帮助我理解这个问题吗? 如何解决?
错误信息,
cvc-enumeration-valid: Value '2' is not facet-valid with respect to enumeration '[1]'. It must be a value from the enumeration.
和你问题中的 simpleType
不同意。
错误消息暗示只允许 1
但遇到了 2
;您的类型定义确实允许 1
和 2
.
要引出与您的 xs:simpleType
有关的实际错误消息,您的 XML 必须使用一个值,比如 3
,这是不允许的。然后,您会收到如下错误消息:
cvc-enumeration-valid: Value '3' is not facet-valid with respect to enumeration '[1, 2]'. It must be a value from the enumeration.
因此,您的(第一个,也许只是?)错误在于认为发布的 xs:simpleType
定义与该错误消息有任何关系。
我已经开始工作了,我认为它解决了你的问题,但正如 KJ 在没有示例的情况下指出的那样,我们真的只是在猜测。
这是一个示例 XML
<xml>
<XYZ>3</XYZ>
</xml>
和示例模式
<xs:schema
elementFormDefault="qualified"
attributeFormDefault="unqualified"
xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="xml">
<xs:complexType>
<xs:sequence>
<xs:element name='XYZ'>
<xs:simpleType>
<xs:restriction base="xs:nonNegativeInteger">
<xs:enumeration value="1"/>
<xs:enumeration value="2"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
值为 3(无效)时,出现以下异常。
The 'XYZ' element is invalid - The value '3' is invalid according to its datatyp
e 'NonNegativeInteger' - The Enumeration constraint failed. Line: 2 Column: 10