Hi

I am parsing an UTF-8 xml file using SAXReader. The file contains german 
"Umlaute" (e.g. ä, ö, ü, ...). During the parsing, I transcode the XMLCh 
using XMLString::transcode, but the characters are not correct. I have two 
characters for one "Umlaut"-character. I don't know, but I suppose something 
with the encoding is wrong.

I have the problem with a Codewarrior project and Mac OS X.

Can somebody help me?
What can I do?
Any idea?

Code snippet:

--  
parsing 
-------------------------------------------------------------------------------------

  SAX2XMLReader* oParser = XMLReaderFactory::createXMLReader();

  // XML wird validiert, wenn ein Schema oder eine DTD zugewiesen ist
  oParser->setFeature(XMLUni::fgSAX2CoreValidation, true);
  oParser->setFeature(XMLUni::fgXercesDynamic, true);

  // Diverse Parsereinstellungen -> Die Einstellungen wurden aus dem 
Xerces-Beispiel SAX2Print Ybernommen
  oParser->setFeature(XMLUni::fgSAX2CoreNameSpaces, true);          // 
Processing namespace enabled
  oParser->setFeature(XMLUni::fgXercesSchema, true);                // 
Processing schema enabled
  oParser->setFeature(XMLUni::fgXercesSchemaFullChecking, false);   // Full 
schema constraint checking processing disabled
  oParser->setFeature(XMLUni::fgSAX2CoreNameSpacePrefixes, false);  // 
Namespace-prefixes feature disabled

  // Content- und Errorhandler zuweisen
  int errorCount = 0;
  int errorCode = 0;
  try
  {
    //SAX2PrintHandlers handler(encodingName, unRepFlags, expandNamespaces);
    oParser->setContentHandler(this);
    oParser->setErrorHandler(this);
#if MACOS
    oParser->parse(sXMLFile.c_str());
#else
    oParser->parse(m_sXMLFile.c_str());
#endif

------------------------------------------------------------------------------------------------

--  
transcoding 
---------------------------------------------------------------------------------

char* CStringUtil::transcodeXMLStringToChar(XMLCh* pXMLString)
{
  if (m_pLocalString != NULL) {
    XMLString::release(&m_pLocalString);
  }
  m_pLocalString = XMLString::transcode(pXMLString);
  return m_pLocalString;
}

------------------------------------------------------------------------------------------------
Thanks for the help.

Regards
Hans 




---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to