XSD签名问题

时间:2016-10-03 15:07:51

标签: xml visual-studio xsd digital-signature xml-signature

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

  

版权所有(C)Microsoft Corporation。版权所有。架构   验证警告:&#39; http://www.w3.org/2000/09/xmldsig#:Signature&#39;   没有声明。第162行,第8位。

     

警告:无法验证架构。类生成可能会失败或   可能会产生不正确的结果。

     

警告:无法生成类,因为没有顶级元素   发现了复杂的类型。

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>

1 个答案:

答案 0 :(得分:8)

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

而是在与XSD相同的目录中使用缓存的本地副本,

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

或使用@ulab in the comments所示的绝对路径:

<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?