2017-07-26 9 views
0

J'essaie de générer des classes cXML pour la version cXML 1.2.034 selon http://cxml.org/ XSD (converti par visual studio).La génération de classes cXML à partir de xsd provoque une erreur "L'élément 'uri: ds: Signature' est manquant."

J'ai converti cXML.dtd en xsd. Puis Essayé course:

xsd.exe cXML.xsd /c /language:CS /n:MyNamespace

Mais il a jeté une erreur:

Error: Error generating classes for schema 'cXML'. - The element 'uri:ds:Signature' is missing.

Je trouve cette question ici: Generating C# classes from XSD qui semble pertinente. Alors j'ai téléchargé xmldsig-core-schema.xsd de http://www.w3.org/TR/xmldsig-core/xmldsig-core-schema.xsd

Je couru

xsd.exe cXML.xsd xmldsig-core-schema.xsd /c /language:CS /n:MyNamespace

Mais qui a jeté

Error: Error generating classes for schema 'cXML_xmldsig-core-schema'. - The element 'uri:ds:Signature' is missing.

Je suis perdu à ce " 'uri: ds: Signature' "est censé être?

Je peux voir que

<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">

semble mal. Je l'ai changé pour xmlns:ds="http://www.w3.org/2000/09/xmldsig#" mais le même problème persiste.

J'ai aussi essayé d'ajouter une référence à la signature xsd locale en ajoutant

<xs:import namespace="http://www.w3.org/2000/09/xmldsig#" schemaLocation="xmldsig-core-schema.xsd"/> et oui je le fichier dans le même répertoire que mon propre fichier XSD.

+0

avez-vous également téléchargé et converti fulfil.dtd? –

Répondre

1

J'ai eu le même problème. J'ai essayé plusieurs tentatives comme vous (importer le schéma https://www.w3.org/TR/xmldsig-core/xmldsig-core-schema.xsd, mais j'ai trouvé comment).

Dans mon cas, je retire juste la ligne entière qui était problématique:

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

et il travaille alors parfaitement.

+0

Peut travailler pour quelqu'un. Nous avons fini par passer à SAP OCI, qui s'est révélé beaucoup moins pénible à mettre en place. –