Generando clases de C # desde XSD

Este es un shema xml del que quiero generar clases para C # usando la herramienta xsd:

                 Header of the document.     Id of the target application.          Id of the trader.           Id of the trader application.           Mime type of the document. Currently: text/xml application/pdf                Opcionalni opis dokumenta. Maksimalna duljina je 255 znakova.                                    

Cuando bash generar clases usando

 C:\test>xsd G2BDokument.xsd /Classes 

Recibo este mensaje:

 Microsoft (R) Xml Schemas/DataTypes support utility [Microsoft (R) .NET Framework, Version 2.0.50727.3038] Copyright (C) Microsoft Corporation. All rights reserved. Schema validation warning: The 'http://www.w3.org/2000/09/xmldsig#:Signature' element is not declared. Line 20, position 11. Warning: Schema could not be validated. Class generation may fail or may produce incorrect results. Error: Error generating classes for schema 'G2BDokument'. - The element 'http://www.w3.org/2000/09/xmldsig#:Signature' is missing. If you would like more help, please type "xsd /?". 

No puedo entender lo que estoy haciendo mal, entonces, ¿alguien puede ayudarme? ¡Gracias!

Si tiene este archivo ” xmldsig-core-schema.xsd “, intente esto:

C: \ test> xsd G2BDokument.xsd xmldsig-core-schema.xsd / Classes

BR

Hice algo similar, así que: Tienes que pasar 2 parámetros. Su archivo y la referencia http://www.w3.org/TR/xmldsig-core/xmldsig-core-schema.xsd . Como XSD.exe solo acepta 1 parámetro de entrada, debe pasar las rutas .Xsd.

Entonces, tienes que hacer esto:

  1. Descargue el esquema xmldsig-core-schema.xsd.
  2. Ejecuta esto:

    “C: \ Archivos de progtwig \ Microsoft SDKs \ Windows \ vXXXX \ bin \ xsd.exe” [path_your_folder] \ your_file.xsd [path_to_your_folder] \ xmldsig-core-schema.xsd / c / n: mi_nombre_file_name / l: VB

El nuevo archivo “mi_new_class_file_name.vb” puede estar ahora en su carpeta “C: \ Archivos de progtwig \ Microsoft SDKs \ Windows \ vXXXX \ bin”.

Tuve un problema similar hace unos días. En mi caso, fue el clérigo que iba a construir los archivos XML que tenía el problema. Después de algún tiempo, decidí simplificar un poco el enfoque. Esto podría no ser la mejor práctica, pero al final, funcionó:

Tengo 2 XSD: una con la referencia a la firma y otra sin ella. Dado que es el cliente el que firmará el archivo XML, le di el XSD sin hacer referencia a él. Él creó las clases, luego el XML, luego lo firma y me lo envía. Es entonces cuando uso el otro XSD (el que tiene la referencia) para verificar la consistencia.

Las cosas parecen funcionar. Como dije, no es lo más bonito pero cumple su función jeje.

Gracias, está funcionando bien.

¿Podría explicar la diferencia entre nologo y clase?

ex C: \ test> xsd G2BDokument.xsd xmldsig-core-schema.xsd / Classes

 C:\test>xsd G2BDokument.xsd xmldsig-core-schema.xsd /nologo