验证XML时出现错误:
Cvc-elt.1.a:找不到元素“ ValidaLinea”的声明
这是XML:
<?xml version="1.0" encoding="UTF-8"?>
<ValidaLinea>
<cveBanco>40058</cveBanco>
<importe>0</importe>
<fechaHoraEnvio>2002-05-30T09:00:00</fechaHoraEnvio>
<Signature xmlns="http://www.w3.org/2000/09/xmldsig#">
</Signature>
</ValidaLinea>
这是XSD:
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
>
<xs:complexType name="ValidaLinea">
<xs:sequence>
<xs:element name="cveBanco">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="[0-9]{5}" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="importe">
<xs:simpleType>
<xs:restriction base="xs:long">
<xs:totalDigits value="14" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="fechaHoraEnvio">
<xs:simpleType>
<xs:restriction base="xs:dateTime">
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Signature" />
</xs:sequence>
</xs:complexType>
</xs:schema>
当我尝试使用XSD验证XML时出现错误,错误是它无法识别ValidaLinea
元素。
答案 0 :(得分:1)
您只为ValidaLinea
声明了 类型 。
要为ValidaLinea
声明 ,请添加到xs:schema
:
<xs:element name="ValidaLinea" type="ValidaLinea"/>
请注意,您可能需要清理命名并为类型使用ValidaLineaType
。