Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

using xsd.exe to generate c# files, getting error and warnings

Tags:

c#

xsd

xsd.exe

This is the command i'm running:

xsd.exe -c -l:c# D:\Documents\DEV\SARPilot\Docs\schemas\06-141r2\06-141r2.xsd 

These are the errors i'm getting:

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: Undefined complexType 'http://www.opengis.net/sps/0:ParameterDescriptorType' is used as a base for comp lex type extension. Line 617, position 2. Schema validation warning: Undefined complexType 'http://www.opengis.net/ows:GetCapabilitiesType' is used as a base for complex ty pe extension. Line 23, position 2. Schema validation warning: Undefined complexType 'http://www.opengis.net/ows:CapabilitiesBaseType' is used as a base for complex t ype extension. Line 35, position 2. Schema validation warning: The 'http://www.opengis.net/gml:Point' element is not declared. Line 869, position 2. Schema validation warning: The 'http://www.opengis.net/gml:Polygon' element is not declared. Line 870, position 2. Schema validation warning: The 'http://www.opengis.net/gml:Rectangle' element is not declared. Line 871, position 2. Schema validation warning: The 'http://www.opengis.net/sps/0:Parameter' element is not declared. Line 381, position 2. Schema validation warning: The 'http://www.opengis.net/sps/0:ID' element is not declared. Line 451, position 2.  Warning: Schema could not be validated. Class generation may fail or may produce incorrect results.  Error: Error generating classes for schema 'D:\Documents\DEV\SARPilot\Docs\schemas\06-141r2\06-141r2'.   - The datatype 'http://www.opengis.net/ows:GetCapabilitiesType' is missing.  If you would like more help, please type "xsd /?".  C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin> 

The XSD file was copy/pasted from Appendix A in the following document: http://services.eoportal.org/portal/documents/06-141r2_Ordering_Services_for_Earth_Observation_Products_0.9.2.pdf

like image 477
capdragon Avatar asked Dec 20 '10 16:12

capdragon


People also ask

What is XSD exe?

The XML Schema Definition (Xsd.exe) tool generates XML schema or common language runtime classes from XDR, XML, and XSD files, or from classes in a runtime assembly.


2 Answers

The XML Schema included in the PDF document you linked has references to several other XSD files using the <import> element. You will need to download these additional schema files and make sure that the path references in the <import> elements are pointing to the correct locations on your local computer.

If you are still getting errors, it is because xsd.exe could not follow up on external references. To solve this issue, specify all the required XSD files directly on the command line as follows:

xsd.exe /c MySchema.xsd Import01.xsd Import02.xsd Include01.xsd Include02.xsd

where Import01.xsd, Import02.xsd, Include01.xsd and Include02.xsd are XSD files referenced via import and include elements in MySchema.xsd.

like image 66
pmartin Avatar answered Oct 22 '22 00:10

pmartin


I had the same issue and this is how I solved it:

1) Copied all the xsd files referenced in xsd targeted for code generation to the same location i.e. "C:\Projects\Project1\Documents\xsds\strucutre". 2) Mentioned all the referred xsd files while executing xsd.exe:

C:\Projects\Project1\Documents\xsds\strucutre>"C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\NETFX 4.0 Tools\xsd" structure.xsd RefXsd1.xsd RefXsd2.xsd RefXsd3.xsd /c /o:C:\Projects\Project1\Documents\ClassStructure

A c-sharp file, containing the entities mentioned in xsds, was generated under folder C:\Projects\Project1\Documents\ClassStructure.

Hope this helps!

like image 29
DiligentKarma Avatar answered Oct 21 '22 23:10

DiligentKarma