2017-07-26 73 views
0

我試圖根據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.xsdhttp://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文件。

+0

您是否也下載並轉換fulfill.dtd? –

回答

1

我有同樣的問題。我嘗試了像你一樣的嘗試(導入https://www.w3.org/TR/xmldsig-core/xmldsig-core-schema.xsd架構,但確實找到了方法)。

在我而言,我只是刪除了整條生產線,這是有問題的:

<!-- COMMENTED <xs:element minOccurs="0" maxOccurs="unbounded" ref="ds:Signature" /> --> 

,然後將其很好地工作。

+0

可能會爲某人工作。實際上,我們最終轉向了SAP OCI,這實踐證明實施起來不那麼痛苦。 –