xml - XSD 签名问题

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

我无法解决关于 <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"/>

或使用 @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?

关于xml - XSD 签名问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39834772/

相关文章:

c++ - 仅继承父级构造函数的部分参数

asp.net - 如何防止许多asp.net开发iis被打开?

php - 如何在 PHP 中将 .xsd 文件转换为数组

java - XMLBeans - 处理命名空间

c++ - Visual Studio - C++ - 以 32 位或 64 位构建和运行应用程序 - 从适当的 ProgramFiles 目录加载 DLL

java - 使用 XML 初始化 HashMap

c# - 使用 XPath 通过名称属性值查找节点

java - 如何在 Android 应用程序中编辑默认布局文件

java - JAXB @XmlElements 有 minOccurs = 1

php - 如何使用 curl 正确发送和接收 XML?