Type XMLCh is unknown when using a 'C' compiler including XalanCAPI.h
to build a transformation program.

The include of xercesc/util/Xerces_autoconf_config.hpp is not invoked
when macro (__cplusplus) is undefined.  This is where XMLCh is defined.

The fix is to edit/patch xalanc/Include/PlatformDefinitions to include
"xercesc/util/Xerces_autoconf_config.hpp" when (__cplusplus) is undefined.

For C++ compilers, (__cplusplus) is defined and "xercesc/util/XercesDefs.hpp"
includes the xercesc/util/Xerces_autoconf_config.hpp file.  The
XercesDefs.hpp is incompatible with 'C' compilers because C++ namespace
support is not recognized.

Here is my recommended change to file: xalanc/Include/PlatformDefinitions.hpp
to resolve this issue (JIRA XALANC-708).

00019 #if !defined(PLATFORMDEFINITIONS_HEADER_GUARD_1357924680)
00020 #define PLATFORMDEFINITIONS_HEADER_GUARD_1357924680
00021
00022 #if defined(__cplusplus)
00023 # include "xercesc/util/XercesDefs.hpp"
00024 #else
00025 /* Include xercesc autoconf to define XMLCh when using a 'C'
compiler. */
00026 # include "xercesc/util/Xerces_autoconf_config.hpp"
00027 # include "xercesc/util/XercesVersion.hpp"
00028 #endif

The XercesVersion.hpp is also safe to include into 'C' program source.

Sincerely,
Steven J. Hathaway



---------------------------------------------------------------------
To unsubscribe, e-mail: xalan-dev-unsubscr...@xml.apache.org
For additional commands, e-mail: xalan-dev-h...@xml.apache.org

Reply via email to