"The element is missing.." 试图用 <element ref = /> 生成 class
"The element is missing.." trying to generate class with <element ref = />
使用 VS 2013 附带的 XSD 工具,我收到以下消息,试图从包含 <xsd:element ref=.../>
-[=16 的 xsd 生成 class =]
Schema validation warning: The 'http://www.w3.org/2000/09/xmldsig#:KeyName' element is not declared. Line 14, position 8.
Warning: Schema could not be validated. Class generation may fail or may produce incorrect results.
Error: Error generating classes for schema 'test'.
- The element 'http://www.w3.org/2000/09/xmldsig#:Signature' is missing.
这是演示问题的缩减 xsd:
<?xml version="1.0" encoding="utf-8"?>
<xsd:schema id="test"
targetNamespace="http://tempuri.org/test.xsd"
elementFormDefault="qualified"
xmlns="http://tempuri.org/test.xsd"
xmlns:mstns="http://tempuri.org/test.xsd"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:sig="http://www.w3.org/2000/09/xmldsig#"
>
<xsd:import schemaLocation="xmldsig-core-schema.xsd" namespace="http://www.w3.org/2000/09/xmldsig#" />
<xsd:complexType name="test" >
<xsd:sequence >
<xsd:element ref="sig:Signature" minOccurs="0" maxOccurs="unbounded"></xsd:element>
</xsd:sequence>
</xsd:complexType>
<xsd:element type="test" name="top"/>
</xsd:schema>
我很确定导入和命名空间没问题。 Resharper 和 VS Schema Designer 没有抱怨。我怀疑这是该工具无法做到的事情。
我有什么可以继续的想法吗?
原来这里已经回答过了
我需要将导入的文件添加到xsd命令行参数的文件列表中:
xsd test.xsd xmldsig-core-schema.xsd /c
使用 VS 2013 附带的 XSD 工具,我收到以下消息,试图从包含 <xsd:element ref=.../>
-[=16 的 xsd 生成 class =]
Schema validation warning: The 'http://www.w3.org/2000/09/xmldsig#:KeyName' element is not declared. Line 14, position 8.
Warning: Schema could not be validated. Class generation may fail or may produce incorrect results.
Error: Error generating classes for schema 'test'. - The element 'http://www.w3.org/2000/09/xmldsig#:Signature' is missing.
这是演示问题的缩减 xsd:
<?xml version="1.0" encoding="utf-8"?>
<xsd:schema id="test"
targetNamespace="http://tempuri.org/test.xsd"
elementFormDefault="qualified"
xmlns="http://tempuri.org/test.xsd"
xmlns:mstns="http://tempuri.org/test.xsd"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:sig="http://www.w3.org/2000/09/xmldsig#"
>
<xsd:import schemaLocation="xmldsig-core-schema.xsd" namespace="http://www.w3.org/2000/09/xmldsig#" />
<xsd:complexType name="test" >
<xsd:sequence >
<xsd:element ref="sig:Signature" minOccurs="0" maxOccurs="unbounded"></xsd:element>
</xsd:sequence>
</xsd:complexType>
<xsd:element type="test" name="top"/>
</xsd:schema>
我很确定导入和命名空间没问题。 Resharper 和 VS Schema Designer 没有抱怨。我怀疑这是该工具无法做到的事情。
我有什么可以继续的想法吗?
原来这里已经回答过了
我需要将导入的文件添加到xsd命令行参数的文件列表中:
xsd test.xsd xmldsig-core-schema.xsd /c