Hi
I am doing a project with xerces-c on a Sun Solaris UNIX - platform using the
std::wstring, which is UCS-4 encoded. I have read a lot and searched around the net a
lot. Can somebody please tell my an easier way to convert my std::wstring's into XMLCh
than enlarging the XStr, taken directly form the sample CreateDomDucemnt, with the
following constructor:
XStr(const std::wstring& toTransCOde)
{
// construct a transcoder in UCS-4, do it static to reuse the
transcoder
XMLTransService::Codes resCode(XMLTransService::Ok);
static XMLTranscoder* aUCS4Transcoder =
XMLPlatformUtils::fgTransService->makeNewTranscoderFor("ucs4",
resCode,
4*1024);
if (resCode != XMLTransService::Ok || aUCS4Transcoder == null)
{
//TODO handle error and return
}
unsigned int charsEaten;
unsigned int srcCount = toTransCode.size();
unsigned int maxChars = toTransCode.size();
char[] charSizes[toTransCode.size()];
//Construct a stack XMLCh, did not find a way to construct a heap
XMLCh like XMLString::transcode(const char*)
XMLCh localXMLCh[toTransCode.size() + 1];
aUCS4Transcoder->transcodeFrom((XMLByte)toTransCode.c_str(),
srcCount,
&localXMLCh,
maxChars,
&charsEaten,
&charSizes);
//TODO Handle Errors: using charsEaten
//Move the local stack XMLCh into the heap
fUnicodeForm = XMLString::replicate(localfUnicodeForm);
}
regards
Max Winther
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]