Src-resolve.4.2:错误解析组件'ds:Signature'

时间:2018-11-01 20:52:19

标签: xml xsd

我正在从xsd验证XML,但是当我说它必须验证签名标签时出现错误

这是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"  
           xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
           >
<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" type="ds:Signature"/>
    </xs:sequence>
</xs:complexType> 
<xs:element name="ValidaLinea" type="ValidaLinea"/>
</xs:schema>

当我尝试进行验证时显示的错误如下:

  

Src-resolve.4.2:错误解决了组件'ds:Signature'。
  检测到“ ds:Signature”在命名空间“ http://www.w3.org/2000/09/xmldsig#”中,
  但是不能从架构文档“ null”引用此命名空间中的组件。

1 个答案:

答案 0 :(得分:0)

可能为时已晚,但是,您缺少导入XSD的功能

<xs:import namespace="http://www.w3.org/2000/09/xmldsig#"
           schemaLocation="http://www.w3.org/TR/2002/REC-xmldsig-core-20020212/xmldsig-core-schema.xsd"/>