XSD 签名问题

XSD Signature issue

我无法解决关于 <xs:element ref="ds:Signature"/> 的错误。 我需要一些帮助。

Copyright (C) Microsoft Corporation. All rights reserved. Schema validation warning: The 'http://www.w3.org/2000/09/xmldsig#:Signature' el ement is not declared. Line 162, position 8.

Warning: Schema could not be validated. Class generation may fail or may produce incorrect results.

Warning: cannot generate classes because no top-level elements with complex type were found.

XSD

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"  
            xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
  attributeFormDefault="unqualified" elementFormDefault="qualified">

  <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"/>

             <xs:complexType name="SobreCheques">
        <xs:annotation>
            <xs:documentation>Definition of the ...</xs:documentation>
        </xs:annotation>
        <xs:sequence>
             ...
      <xs:element ref="ds:Signature"/>
        </xs:sequence>
    </xs:complexType>
</xs:schema>

从 W3C 站点检索 xmldsig-core-schema.xsd 可能需要很长时间,从而导致超时。

相反,在与您的 XSD、

相同的目录中使用缓存的本地副本
<xs:import namespace="http://www.w3.org/2000/09/xmldsig#"
           schemaLocation="xmldsig-core-schema.xsd"/>

或使用绝对路径,如 :

<xs:import namespace="http://www.w3.org/2000/09/xmldsig#"   
           schemaLocation="file:///D:/xmldsig-core-schema.xsd" />

另见 How to reference a local XML Schema file correctly?