2010-12-20 30 views
14

To polecenie biegnę:użyciu xsd.exe wygenerować C# pliki, uzyskanie błędu i ostrzeżenia

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

Są to błędy Dostaję:

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> 

XSD plik został skopiowany/wklejony z Dodatku A w następującym dokumencie: http://services.eoportal.org/portal/documents/06-141r2_Ordering_Services_for_Earth_Observation_Products_0.9.2.pdf

Odpowiedz

17

Schemat XML zawarty w dokumencie PDF, który łączyłeś, zawiera odniesienia do kilku innych plików XSD. zaśpiewaj element <import>. Należy pobrać te dodatkowe pliki schematów i upewnić się, że odwołania do ścieżek w elementach <import> wskazują odpowiednie lokalizacje na komputerze lokalnym.

Jeśli nadal występują błędy, to dlatego, że xsd.exe nie może wykonać dalszych zewnętrznych odniesień. Aby rozwiązać ten problem, należy podać wszystkie wymagane pliki XSD bezpośrednio z linii poleceń w następujący sposób:

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

gdzie Import01.xsd, Import02.xsd, Include01.xsd i Include02.xsd pliki XSD są przywoływane poprzez import i zawierają elementy w MySchema.xsd.

+0

Dodałem wszystkie pliki lokalnie, łącznie z plikami, do których dzwonili. Ale wciąż ten sam błąd. Jestem pewien, że moim problemem jest błąd: Brak typu "http://www.opengis.net/ows:GetCapabilitiesType". – capdragon

+0

Czy wszystkie schematy zostały dodane do tego samego folderu? Wyrażenia 'import', które widziałem, odwoływały się do tych dodatkowych schematów na różnych poziomach katalogów. Nadal może występować problem polegający na tym, że nie znajduje on odnośnych schematów ze względu na ścieżkę. – pmartin

+3

Możesz dodać je do wiersza poleceń i pozostawić "ścieżki wskazówek" w nienaruszonym stanie. Wystarczy wspomnieć o każdym zaimportowanym schemacie (a także, jeśli te ponownie zostaną zaimportowane, spłucz i powtórz). xsd.exe/c TopSchema.xsd ImportSchema1.xsd ... ImportOfImportSchema1.xsd –

23

miałem ten sam problem i to w jaki sposób mogę rozwiązać go:

1) skopiowaniu wszystkich plików xsd odwołuje się xsd ukierunkowany na generowanie kodu do tego samego IE lokalizacji „C: \ Projects \ project1 \ Documents \ xsds \ strucutre ". 2) Wspomniany wszystkie wymienione pliki xsd podczas wykonywania xsd.exe:

C: \ Projects \ Project1 \ Documents \ XSD \ strucutre> "C: \ Program Files (x86) \ Microsoft SDK \ Windows \ v7. 0A \ bin \ NETFX 4,0 Narzędzia \ XSD”structure.xsd RefXsd1.xsd RefXsd2.xsd RefXsd3.xsd/C/O: C: \ Projects \ Project1 \ Documents \ ClassStructure

plik c ostry zawierające podmioty wymienione w xsds, został wygenerowany w folderze C: \ Projects \ Project1 \ Documents \ ClassStructure.

Mam nadzieję, że to pomoże!

+0

Dziękujemy! Od kilku godzin wyciągałem z tego włosy. Nie miałem pojęcia, że ​​musisz wyliczyć wszystkie pliki xsd, które są importowane/dołączane do głównego xsd (a także jakikolwiek import/indludes). –

+1

Nadal mam te ostrzeżenia, nawet jeśli starannie wymieniam wszystkie polecane pliki .xsd. Nie pewny dlaczego – Sharif