我正在尝试将XSD转换为某些C#类。我已经用大量其他文件完成了这项工作,但我想知道为什么这个文件不起作用。
schema information在我下载到本地磁盘的the XSD file下载部分中包含一个链接。然后从ms dev工具运行XSD命令。
这是命令提示符下的转储:
C:\temp\XSD>xsd version-13-draft-ivi-xsd-scheme.xsd /classes /namespace:MyNamespace
Microsoft (R) Xml Schemas/DataTypes support utility
[Microsoft (R) .NET Framework, Version 4.6.1055.0]
Copyright (C) Microsoft Corporation. All rights reserved.
Schema validation warning: The 'http://www.w3.org/2000/09/xmldsig:Signature' element is not declared. Line 17, position 5.
Warning: Schema could not be validated. Class generation may fail or may produce incorrect results.
Error: Error generating classes for schema 'version-13-draft-ivi-xsd-scheme'.
- The element 'http://www.w3.org/2000/09/xmldsig#:Signature' is missing.
If you would like more help, please type "xsd /?".
似乎XSD验证程序无法下载签名命名空间。但我不确定到底发生了什么。有人可以解释出了什么问题吗?
答案 0 :(得分:1)
将http://www.w3.org/TR/xmldsig-core/xmldsig-core-schema.xsd下载到您的本地目录,并将其作为另一个参数添加到您的命令中:
xsd version-13-draft-ivi-xsd-scheme.xsd xmldsig-core-schema.xsd /Classes
您要导入的xsd包含对该文件的引用,在第7行:
<xs:import namespace="http://www.w3.org/2000/09/xmldsig#" schemaLocation="xmldsig-core-schema.xsd"/>