我試圖根據http://cxml.org/ XSD(由visual studio轉換)爲版本cXML 1.2.034生成cXML類。從xsd生成cXML類拋出錯誤「元素'uri:ds:Signature'缺失。」
我將cXML.dtd轉換爲xsd。然後,嘗試運行:
xsd.exe cXML.xsd /c /language:CS /n:MyNamespace
但它拋出一個錯誤:
Error: Error generating classes for schema 'cXML'. - The element 'uri:ds:Signature' is missing.
然後我發現這裏這個問題:Generating C# classes from XSD這似乎是相關的。所以,我下載XMLDSIG核-schema.xsd從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.
我迷路了,至於什麼「 'uri:ds:Signature'「應該是?
我可以看到
<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#"
,但同樣的問題仍然存在。
我也加入
<xs:import namespace="http://www.w3.org/2000/09/xmldsig#" schemaLocation="xmldsig-core-schema.xsd"/>
嘗試添加引用本地簽名XSD是的,我在同一個目錄中的文件作爲我自己的XSD文件。
您是否也下載並轉換fulfill.dtd? –