问题描述
我正在尝试根据 http://cxml.org/ XSD(由Visual Studio转换).
I'm trying to generate cXML classes for version cXML 1.2.034 as per http://cxml.org/ XSD (converted by visual studio).
我将cXML.dtd转换为xsd.然后尝试运行:
I converted the cXML.dtd to xsd. Then Tried running:
xsd.exe cXML.xsd /c /language:CS /n:MyNamespace
但是它引发了一个错误:
But it threw an error:
Error: Error generating classes for schema 'cXML'. - The element 'uri:ds:Signature' is missing.
Error: Error generating classes for schema 'cXML'. - The element 'uri:ds:Signature' is missing.
然后我在这里发现了这个问题:从XSD生成C#类似乎相关.因此,我从xmldsig-core-schema.xsd nofollow noreferrer> http://www.w3.org/TR/xmldsig-core/xmldsig-core-schema.xsd
Then I found this issue here: Generating C# classes from XSD which seems relevant. So I downloaded xmldsig-core-schema.xsd from http://www.w3.org/TR/xmldsig-core/xmldsig-core-schema.xsd
然后我跑了
xsd.exe cXML.xsd xmldsig-core-schema.xsd /c /language:CS /n:MyNamespace
但是扔了
Error: Error generating classes for schema 'cXML_xmldsig-core-schema'. - The element 'uri:ds:Signature' is missing.
Error: Error generating classes for schema 'cXML_xmldsig-core-schema'. - The element 'uri:ds:Signature' is missing.
我对'uri:ds:Signature'"应该是什么感到迷惑?
I'm lost as to what "'uri:ds:Signature'" is supposed to be?
我可以看到
<xs:schema xmlns="http://tempuri.org/cXML" xmlns:ds="uri:ds" elementFormDefault="qualified" targetNamespace="http://tempuri.org/cXML" xmlns:xs="http://www.w3.org/2001/XMLSchema">
似乎错误.我将其更改为xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
,但仍然存在相同的问题.
seems wrong. I changed it to xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
but same issue persists.
我还尝试通过添加
<xs:import namespace="http://www.w3.org/2000/09/xmldsig#" schemaLocation="xmldsig-core-schema.xsd"/>
,是的,该文件与我自己的xsd文件位于同一目录中.
<xs:import namespace="http://www.w3.org/2000/09/xmldsig#" schemaLocation="xmldsig-core-schema.xsd"/>
and yes I have the file in the same directory as my own xsd file.
推荐答案
我遇到了同样的问题.我像您一样尝试了几次尝试(导入 https://www .w3.org/TR/xmldsig-core/xmldsig-core-schema.xsd 模式,但确实找到了方法.)
I had the same problem. I tried several attemps like you (import the https://www.w3.org/TR/xmldsig-core/xmldsig-core-schema.xsd schema, but did find how).
就我而言,我只删除有问题的整行:
In my case, I just remove the whole line that was problematic :
<!-- COMMENTED <xs:element minOccurs="0" maxOccurs="unbounded" ref="ds:Signature" /> -->
然后完美运行.
这篇关于从xsd生成cXML类会引发错误“缺少元素'uri:ds:Signature'."的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!