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
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++
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
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
--- In email@example.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?
> Martin Robinson
> Systems Engineer
> Digital Applications International Ltd
> Suite 2, Building 6
> Croxley Green Business Park
> 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.