The XML -> C/C++ mapping introduces some notational conventions for identifier 
naming, since XML tag names are clearly more expressive than C/C++ identifiers.

All special character codes, including Unicode, are translated to _x#### codes 
by wsdl2h.

The exception are hyphens in XML and XML schema tag names, since these are 
quite common in XML and far more common than underscores. A hyphen is mapped to 
a '_' by wsdl2h. So XML schemas with hyphenated tags produces "clean" C/C++ 
identifiers.

Unfortunately, the increased use of tools that map '_' to '_' in XML has 
increased the occurrences of underscores in XML schema, which IMHO is ugly and 
unnecessary.

There is no mechanism to turn this off in wsdl2h, and it should not since we 
need to be able to map the more expressive XML tags to C/C++ identifier names.

If you don't like the _USCORE, you can always use a couple of #defines to 
rename them any way you like in your code, e.g.

#define pretty_foobar foo_USCOREbar

Cheers,

- Robert

--- In gsoap@yahoogroups.com, "Martin Robinson" <martin.robin...@...> wrote:
>
> Please can somebody explain why the gSoap wdsl compiler inserts _x005f
> or _USCORE into C (and C++) structure member names? How can I stop it
> doing this?
>  
> Thanks
>  
> 
> Martin Robinson
> Systems Engineer 
> 
> Digital Applications International Ltd
> 
> Suite 2, Building 6
> 
> Croxley Green Business Park
> 
> Watford
> 
> Hertfordshire WD18 8YH
> 
> Tel. 01923 815408
> email: martin.robin...@... 
> 
> Registered in London Number 1008089
> 
> Visit us on the Internet: http://www.dai.co.uk <http://www.dai.co.uk/> 
> 
> The integrity of this message cannot be guaranteed on the Internet. DAI
> cannot therefore be considered responsible for the contents, unless
> confirmed in written correspondence signed by an authorised signatory.
> 
> If you are not the intended recipient of this message, then please
> delete it and notify the sender.
>


Reply via email to