diff options
author | nanbor <nanbor@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2002-01-21 22:03:53 +0000 |
---|---|---|
committer | nanbor <nanbor@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2002-01-21 22:03:53 +0000 |
commit | afa005e7f3d20ecfb0f002729221afaf847c10cc (patch) | |
tree | fa8b66697a72a787b54ecf56bb4f6b35199fa898 | |
parent | 971663603ddc851ae64985d3ca0e3d6f64577c74 (diff) | |
download | ATCD-afa005e7f3d20ecfb0f002729221afaf847c10cc.tar.gz |
Unicode fixes
-rw-r--r-- | ACEXML/common/XMLFilterImpl.cpp | 4 | ||||
-rw-r--r-- | ACEXML/common/XML_Types.h | 13 | ||||
-rw-r--r-- | ACEXML/examples/SAXPrint/Print_Handler.cpp | 80 | ||||
-rw-r--r-- | ACEXML/examples/SAXPrint/SAXPrint_Handler.cpp | 46 | ||||
-rw-r--r-- | ACEXML/parser/parser/Parser.cpp | 35 |
5 files changed, 118 insertions, 60 deletions
diff --git a/ACEXML/common/XMLFilterImpl.cpp b/ACEXML/common/XMLFilterImpl.cpp index 7fa1147237a..e577ee748ce 100644 --- a/ACEXML/common/XMLFilterImpl.cpp +++ b/ACEXML/common/XMLFilterImpl.cpp @@ -38,7 +38,7 @@ ACEXML_XMLFilterImpl::parse (ACEXML_InputSource *input, { if (this->setupParser () < 0) { - xmlenv.exception (new ACEXML_SAXException ("No Parent available")); + xmlenv.exception (new ACEXML_SAXException (ACE_LIB_TEXT ("No Parent available"))); return; } this->parent_->parse (input, xmlenv); @@ -52,7 +52,7 @@ ACEXML_XMLFilterImpl::parse (const ACEXML_Char *systemId, { if (this->setupParser () < 0) { - xmlenv.exception (new ACEXML_SAXException ("No Parent available")); + xmlenv.exception (new ACEXML_SAXException (ACE_LIB_TEXT ("No Parent available"))); return; } diff --git a/ACEXML/common/XML_Types.h b/ACEXML/common/XML_Types.h index b45ff7f7524..7568c0b22e2 100644 --- a/ACEXML/common/XML_Types.h +++ b/ACEXML/common/XML_Types.h @@ -33,13 +33,24 @@ typedef ACE_UINT32 ACEXML_UCS4; typedef char ACEXML_UTF8; +/** + * @typedef ACEXML_Char + * ACEXML_Char only maps to ACEXML_UTF16 when ACE_USES_WCHAR is defined. + * Here we assume sizeof (wchar_t) is always 2 bytes. + */ +#if defined (ACE_USES_WCHAR) +typedef ACEXML_UTF16 ACEXML_Char; +typedef ACE_WString ACEXML_String; +#else typedef ACEXML_UTF8 ACEXML_Char; +typedef ACE_CString ACEXML_String +#endif // Default XML character encoding. We can change this to either // ACEXML_UTF8 or ACEXML_UTF16 #if 0 // defined (ACE_HAS_STANDARD_CPP_LIBRARY) typedef string ACEXML_String; -#else +//#else typedef ACE_CString ACEXML_String; // Defulat XML strings will use UTF-8 encoding. We would like to use // the string classes in standard C++ Library here. But they are not diff --git a/ACEXML/examples/SAXPrint/Print_Handler.cpp b/ACEXML/examples/SAXPrint/Print_Handler.cpp index 82a2a59a415..5c1d2b9adc4 100644 --- a/ACEXML/examples/SAXPrint/Print_Handler.cpp +++ b/ACEXML/examples/SAXPrint/Print_Handler.cpp @@ -25,10 +25,9 @@ ACEXML_Print_Handler::characters (const ACEXML_Char *cdata, { ACE_UNUSED_ARG (xmlenv); - cout << "* Event characters () ** start: " << start - << " end: " << end << " ***************" << endl; - cout << cdata << endl; - cout << "- End event characters () ---------------" << endl; + ACE_DEBUG ((LM_DEBUG, + ACE_LIB_TEXT ("* Event characters () ** start: %d end: %d ***************\n%s\n- End event characters () ---------------\n"), + start, end, cdata)); } void @@ -37,7 +36,8 @@ ACEXML_Print_Handler::endDocument (ACEXML_Env &xmlenv) { ACE_UNUSED_ARG (xmlenv); - cout << "* Event endDocument () ***************" << endl; + ACE_DEBUG ((LM_DEBUG, + ACE_LIB_TEXT ("* Event endDocument () ***************\n"))); } void @@ -49,8 +49,9 @@ ACEXML_Print_Handler::endElement (const ACEXML_Char *uri, { ACE_UNUSED_ARG (xmlenv); - cout << "* Event endElement (" << uri << ", " << name << ", " - << qName << ") ***************" << endl; + ACE_DEBUG ((LM_DEBUG, + ACE_LIB_TEXT ("* Event endElement (%s, %s, ) ***************\n"), + uri, name, qName)); } void @@ -60,7 +61,9 @@ ACEXML_Print_Handler::endPrefixMapping (const ACEXML_Char *prefix, { ACE_UNUSED_ARG (xmlenv); - cout << "* Event endPrefixMapping (" << prefix << ") ***************" << endl; + ACE_DEBUG ((LM_DEBUG, + ACE_LIB_TEXT ("* Event endPrefixMapping (%s) ***************\n"), + prefix)); } void @@ -72,7 +75,8 @@ ACEXML_Print_Handler::ignorableWhitespace (const ACEXML_Char *, { ACE_UNUSED_ARG (xmlenv); - cout << "* Event ignorableWhitespace () ***************" << endl; + ACE_DEBUG ((LM_DEBUG, + ACE_LIB_TEXT ("* Event ignorableWhitespace () ***************\n"))); } void @@ -83,8 +87,9 @@ ACEXML_Print_Handler::processingInstruction (const ACEXML_Char *target, { ACE_UNUSED_ARG (xmlenv); - cout << "* Event processingInstruction (" << target << ", " - << data << ") ***************" << endl; + ACE_DEBUG ((LM_DEBUG, + ACE_LIB_TEXT ("* Event processingInstruction (%s, %s) ***************\n"), + target, data)); } void @@ -93,7 +98,8 @@ ACEXML_Print_Handler::setDocumentLocator (ACEXML_Locator *, { ACE_UNUSED_ARG (xmlenv); - cout << "* Event setDocumentLocator () ***************" << endl; + ACE_DEBUG ((LM_DEBUG, + ACE_LIB_TEXT ("* Event setDocumentLocator () ***************\n"))); } void @@ -103,7 +109,9 @@ ACEXML_Print_Handler::skippedEntity (const ACEXML_Char *name, { ACE_UNUSED_ARG (xmlenv); - cout << "* Event skippedEntity (" << name << ") ***************" << endl; + ACE_DEBUG ((LM_DEBUG, + ACE_LIB_TEXT ("* Event skippedEntity (%s) ***************\n"), + name)); } void @@ -112,7 +120,8 @@ ACEXML_Print_Handler::startDocument (ACEXML_Env &xmlenv) { ACE_UNUSED_ARG (xmlenv); - cout << "* Event startDocument () ***************" << endl; + ACE_DEBUG ((LM_DEBUG, + ACE_LIB_TEXT ("* Event startDocument () ***************\n"))); } void @@ -125,13 +134,16 @@ ACEXML_Print_Handler::startElement (const ACEXML_Char *uri, { ACE_UNUSED_ARG (xmlenv); - cout << "* Event startElement (" << uri << ", " - << name << ", " << qName << ") ***************" << endl; + ACE_DEBUG ((LM_DEBUG, + ACE_LIB_TEXT ("* Event startElement (%s, %s, %s) ***************\n"), + uri, name, qName)); + if (alist != 0) for (size_t i = 0; i < alist->getLength (); ++i) { - cout << " " << alist->getQName (i) << " = \"" - << alist->getValue (i) << "\"" << endl; + ACE_DEBUG ((LM_DEBUG, + ACE_LIB_TEXT (" %s = \"%s\"\n"), + alist->getQName (i), alist->getValue (i))); } } @@ -153,14 +165,22 @@ ACEXML_Print_Handler::notationDecl (const ACEXML_Char *name, ACEXML_Env &) // ACE_THROW_SPEC ((ACEXML_SAXException)) { - cout << "* Event notationDecl: (" << name << ") "; + ACE_DEBUG ((LM_DEBUG, + ACE_LIB_TEXT ("* Event notationDecl: (%s) "), + name)); if (publicID == 0) - cout << "SYSTEM " << systemID << endl; + ACE_DEBUG ((LM_DEBUG, + ACE_LIB_TEXT ("SYSTEM %s\n"), + systemID)); else if (systemID == 0) - cout << "PUBLIC " << publicID << endl; + ACE_DEBUG ((LM_DEBUG, + ACE_LIB_TEXT ("PUBLIC %s\n"), + publicID)); else - cout << "PUBLIC " << publicID << " " << systemID << endl; + ACE_DEBUG ((LM_DEBUG, + ACE_LIB_TEXT ("PUBLIC %s %s\n"), + publicID, systemID)); } void @@ -171,14 +191,22 @@ ACEXML_Print_Handler::unparsedEntityDecl (const ACEXML_Char *name, ACEXML_Env &) // ACE_THROW_SPEC ((ACEXML_SAXException)) { - cout << "* Unparsed Entity: " << name; + ACE_DEBUG ((LM_DEBUG, + ACE_LIB_TEXT ("* Unparsed Entity: %s"), + name)); if (publicID == 0) - cout << " SYSTEM " << systemID; + ACE_DEBUG ((LM_DEBUG, + ACE_LIB_TEXT (" SYSTEM %s"), + systemID)); else - cout << " PUBLIC " << publicID << " " << systemID; + ACE_DEBUG ((LM_DEBUG, + ACE_LIB_TEXT (" PUBLIC %s %s"), + publicID, systemID)); - cout << " NDATA " << notationName << endl; + ACE_DEBUG ((LM_DEBUG, + ACE_LIB_TEXT (" NDATA %s\n"), + notationName)); } // Methods inherit from ACEXML_EnitityResolver. diff --git a/ACEXML/examples/SAXPrint/SAXPrint_Handler.cpp b/ACEXML/examples/SAXPrint/SAXPrint_Handler.cpp index 1cc30a5e958..3c8110a2bc8 100644 --- a/ACEXML/examples/SAXPrint/SAXPrint_Handler.cpp +++ b/ACEXML/examples/SAXPrint/SAXPrint_Handler.cpp @@ -28,7 +28,9 @@ ACEXML_SAXPrint_Handler::characters (const ACEXML_Char *cdata, ACE_UNUSED_ARG (start); ACE_UNUSED_ARG (end); - cout << cdata; + ACE_DEBUG ((LM_DEBUG, + ACE_LIB_TEXT ("%s"), + cdata)); } void @@ -37,7 +39,7 @@ ACEXML_SAXPrint_Handler::endDocument (ACEXML_Env &xmlenv) { ACE_UNUSED_ARG (xmlenv); - cout << endl; + ACE_DEBUG ((LM_DEBUG, ACE_LIB_TEXT ("\n"))); } void @@ -51,7 +53,9 @@ ACEXML_SAXPrint_Handler::endElement (const ACEXML_Char *, this->dec_indent (); this->print_indent (); - cout << "</" << qName << ">"; + ACE_DEBUG ((LM_DEBUG, + ACE_LIB_TEXT ("</%s>"), + qName)); } void @@ -61,7 +65,9 @@ ACEXML_SAXPrint_Handler::endPrefixMapping (const ACEXML_Char *prefix, { ACE_UNUSED_ARG (xmlenv); - cout << "* Event endPrefixMapping (" << prefix << ") ***************" << endl; + ACE_DEBUG ((LM_DEBUG, + ACE_LIB_TEXT ("* Event endPrefixMapping (%s) ***************\n"), + prefix)); } void @@ -73,7 +79,8 @@ ACEXML_SAXPrint_Handler::ignorableWhitespace (const ACEXML_Char *, { ACE_UNUSED_ARG (xmlenv); - cout << "* Event ignorableWhitespace () ***************" << endl; + ACE_DEBUG ((LM_DEBUG, + ACE_LIB_TEXT ("* Event ignorableWhitespace () ***************\n"))); } void @@ -85,8 +92,9 @@ ACEXML_SAXPrint_Handler::processingInstruction (const ACEXML_Char *target, ACE_UNUSED_ARG (xmlenv); this->print_indent (); - cout << "<?" << target << " " - << data << "?>" << endl; + ACE_DEBUG ((LM_DEBUG, + ACE_LIB_TEXT ("<?%s %s>\n"), + target, data)); } void @@ -95,7 +103,8 @@ ACEXML_SAXPrint_Handler::setDocumentLocator (ACEXML_Locator *, { ACE_UNUSED_ARG (xmlenv); - cout << "* Event setDocumentLocator () ***************" << endl; + ACE_DEBUG ((LM_DEBUG, + ACE_LIB_TEXT ("* Event setDocumentLocator () ***************\n"))); } void @@ -105,7 +114,9 @@ ACEXML_SAXPrint_Handler::skippedEntity (const ACEXML_Char *name, { ACE_UNUSED_ARG (xmlenv); - cout << "* Event skippedEntity (" << name << ") ***************" << endl; + ACE_DEBUG ((LM_DEBUG, + ACE_LIB_TEXT ("* Event skippedEntity (%s) ***************\n"), + name)); } void @@ -114,7 +125,8 @@ ACEXML_SAXPrint_Handler::startDocument (ACEXML_Env &xmlenv) { ACE_UNUSED_ARG (xmlenv); - cout << "* Event startDocument () ***************" << endl; +// ACE_DEBUG ((LM_DEBUG, +// ACE_LIB_TEXT ("* Event startDocument () ***************\n"))); } void @@ -129,14 +141,16 @@ ACEXML_SAXPrint_Handler::startElement (const ACEXML_Char *, this->print_indent (); - cout << "<" << qName; + ACE_DEBUG ((LM_DEBUG, ACE_LIB_TEXT ("<%s"), + qName)); if (alist != 0) for (size_t i = 0; i < alist->getLength (); ++i) { - cout << " " << alist->getQName (i) << " = \"" - << alist->getValue (i) << "\""; + ACE_DEBUG ((LM_DEBUG, + ACE_LIB_TEXT (" %s = \"%s\""), + alist->getQName (i), alist->getValue (i))); } - cout << ">"; + ACE_DEBUG ((LM_DEBUG, ACE_LIB_TEXT (">"))); this->inc_indent (); } @@ -216,7 +230,7 @@ ACEXML_SAXPrint_Handler::warning (ACEXML_SAXParseException &, void ACEXML_SAXPrint_Handler::print_indent (void) { - cout << endl; + ACE_DEBUG ((LM_DEBUG, ACE_LIB_TEXT ("\n"))); for (size_t i = 0; i < this->indent_; ++i) - cout << " "; + ACE_DEBUG ((LM_DEBUG, ACE_LIB_TEXT (" "))); } diff --git a/ACEXML/parser/parser/Parser.cpp b/ACEXML/parser/parser/Parser.cpp index 7fdaf9384ff..5b1466932d2 100644 --- a/ACEXML/parser/parser/Parser.cpp +++ b/ACEXML/parser/parser/Parser.cpp @@ -501,14 +501,13 @@ ACEXML_Parser::parse_doctypedecl (ACEXML_Env &xmlenv) if (xmlenv.exception () != 0) return -1; else if (this->dtd_public_ == 0) - cout << "ACEXML Parser got external DTD id: SYSTEM " << this->dtd_system_ - << endl; + ACE_DEBUG ((LM_DEBUG, + ACE_LIB_TEXT ("ACEXML Parser got external DTD id: SYSTEM %s\n"), + this->dtd_system_)); else - cout << "==> ACEXML Parser got DTD external id: PUBLIC " - << this->dtd_public_ - << " " - << this->dtd_system_ - << endl; + ACE_DEBUG ((LM_DEBUG, + ACE_LIB_TEXT ("==> ACEXML Parser got DTD external id: PUBLIC %s %s\n"), + this->dtd_public_, this->dtd_system_)); } nextch = this->skip_whitespace (0); @@ -890,13 +889,13 @@ ACEXML_Parser::parse_char_reference (ACEXML_Char *buf, size_t len) if (more_digit == 0) // no digit exist??? return -1; int clen; -#if 1 // depending on what we default char we are using here - // we assume UTF-8 here - if ((clen = ACEXML_Transcoder::ucs42utf8 (sum, buf, len)) < 0) - return -1; -#elif 1 // or UTF-16, currently disabled. +#if defined (ACE_USES_WCHAR) // UTF-16 if ((clen = ACEXML_Transcoder::ucs42utf16 (sum, buf, len)) < 0) return -1; + +#elif 1 // or UTF-8 + if ((clen = ACEXML_Transcoder::ucs42utf8 (sum, buf, len)) < 0) + return -1; #elif 0 // UCS 4, not likely buf [0] = sum; buf [1] = 0; @@ -1401,12 +1400,18 @@ ACEXML_Parser::parse_entity_decl (ACEXML_Env &xmlenv) else { // @@ Need to support external CharStream sources - cout << "ENTITY: (" << entity_name << ") "; + ACE_DEBUG ((LM_DEBUG, + ACE_LIB_TEXT ("ENTITY: (%s) "), + entity_name)); if (publicid == 0) - cout << "SYSTEM " << systemid << endl; + ACE_DEBUG ((LM_DEBUG, + ACE_LIB_TEXT ("SYSTEM %s\n"), + systemid)); else - cout << "PUBLIC " << publicid << " " << systemid << endl; + ACE_DEBUG ((LM_DEBUG, + ACE_LIB_TEXT ("PUBLIC %s %s\n"), + publicid, systemid)); } } |