[xsd-users] Trying to generate a WSDL parser using xsd code synthesis

Stefan Pantos d922qg at me.com
Mon Mar 12 11:41:33 EDT 2012


Thanks for the pointer about initialzing xerces-C++.
 
After sending the second email I had another google and had found Q 2.1. I don't know how I missed it the first time. Sorry about that.

Thanks for the advice about parsing the xsd. Exactly what I was looking for. I'll have a look at libxsd.

Thanks once again,
Stefan

On 12 Mar 2012, at 11:16, Boris Kolpackov wrote:

> Hi Stefan,
> 
> Stefan Pantos <d922qg at me.com> writes:
> 
>> Firstly, in this version I forgot to make line 4 'definitions = 
>> wsdl::definitions(inputfile, ::xml_schema::flags::keep_dom);'
> 
> You also need to remember to initialize Xerces-C++ yourself since you
> are using both keep_dom and --generate-wildcard. See documentation for
> these features for details.
> 
> 
>> I still don't understand all the validation errors, if anyone is able
>> to enlighten me
> 
> Yes, see Q 2.1 in the C++/Tree Mapping FAQ:
> 
> http://wiki.codesynthesis.com/Tree/FAQ
> 
> 
>> and I'm still wondering what the best way is to go about parsing XSD
>> files for my own use.
> 
> Yes, that would be the next big question. Using data binding to parse
> WSDL files is definitely an interesting idea. However, as far as I
> remember, WSDL files can contain embedded XML Schema fragments (that
> describe messages). Unfortunately, XML Schema doesn't have a usable
> specification of itself (there is XMLSchema.xsd, but, funnily enough,
> it is not valid; good example of the "do as I say, not as I do" 
> principle). Maybe it is possible to "fix it up" so that it is at least
> usable for data binding, if not validation.
> 
> Other than that, your other options are:
> 
> 1. Handle it as raw XML (e.g., using DOM).
> 
> 2. Use Xerces-C++ schema representation. Not very easy to use though.
>   However, you get error checking of the schema.
> 
> 3. Use libxsd-frontend. This is an XML Schema compiler frontend that
>   is used by both XSD and XSD/e. It provides a semantic graph of the
>   schema model plus visitor-like traversal of this graph. Built on
>   top of Xerces-C++.
> 
>   http://www.codesynthesis.com/projects/libxsd-frontend/
> 
> Boris



More information about the xsd-users mailing list