[xsd-users] RE: Compiler Error CXX-Tree parser types undeclared

Laurence Davies laurence.davies at unsw.edu.au
Thu Aug 13 01:59:25 EDT 2015


Hi Boris,

To follow this up, I've found a work-around in my specific application.

Using a subset of the GML schema which covers the types required for my app schema, the resultant generated code compiles even with all root element parsers generated by XSD. If you'd like to see the subset GML schema that I used just let me know and I can send it to you.

Unfortunately, using a subset of GML means that my code can't be used as a parser for all GML elements.

Laurence Davies
____________________
Research Assistant in eGeodesy
CRC-SI, UNSW
Desk phone: (03) 8636 2373
Mobile: 0427 519 289

________________________________________
From: Laurence Davies
Sent: Friday, 7 August 2015 1:20 PM
To: xsd-users at codesynthesis.com
Subject: RE: [xsd-users] RE: Compiler Error CXX-Tree parser types undeclared

Hi Boris,

Referring to your two earlier emails, I have tested and confirmed that the same error appears in the a6 version you posted.

Regarding your comment below:

"Can you send me a test case that doesn't do anything fancy?
Specifically, it should just run the XSD compiler and then
try to compile the generated code which should lead to the
errors you are observing."

The example I provided does this explicitly given the instructions I provided. But to make it simpler, I've uploaded another version in which you can very simply test the problem. Sources here: https://www.dropbox.com/s/9w7nzq220qhiv0e/geodesyml_0.2_binding.tar.gz?dl=0

To see the problem explicitly, there is an option you need to consider. In the geodesyml.options file you will see the line

#--root-element GeodesyML

at the very top of the file. If you un-comment this line and call `make clean; make;` It will compile without problems at all.

If you then comment out this line again and run `make clean; make;` it will clearly demonstrate the compilation errors I am talking about. These errors seem to be the result of asking XSD to produce parsers for all global elements, not just for geo:GeodesyML. The necessity of having all parsers is so that I can ask XSD to parse GML and GeodesyML files from other sources such as web services that are referenced by xlink:href attributes in the GML property convention.

I hope this clearly demonstrates the bug in XSD that I've raised.

Laurence Davies
____________________
Research Assistant in eGeodesy
CRC-SI, UNSW
Desk phone: (03) 8636 2373
Mobile: 0427 519 289

________________________________________
From: Boris Kolpackov [boris at codesynthesis.com]
Sent: Thursday, 6 August 2015 9:46 PM
To: Laurence Davies
Cc: xsd-users at codesynthesis.com
Subject: Re: [xsd-users] RE: Compiler Error CXX-Tree parser types undeclared

Hi Laurence,

Laurence Davies <laurence.davies at unsw.edu.au> writes:

> I haven't had any luck in resolving this issue, and manually
> correcting the header inclusion compilation errors is cumbersome
> at present. Are there any other avenues of exploration that you
> could suggest?

You need to send me the test case that actually works. See one of
my earlier replies for what didn't work and what I need.

Boris




More information about the xsd-users mailing list