summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornanbor <nanbor@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2002-01-21 22:03:53 +0000
committernanbor <nanbor@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2002-01-21 22:03:53 +0000
commitafa005e7f3d20ecfb0f002729221afaf847c10cc (patch)
treefa8b66697a72a787b54ecf56bb4f6b35199fa898
parent971663603ddc851ae64985d3ca0e3d6f64577c74 (diff)
downloadATCD-afa005e7f3d20ecfb0f002729221afaf847c10cc.tar.gz
Unicode fixes
-rw-r--r--ACEXML/common/XMLFilterImpl.cpp4
-rw-r--r--ACEXML/common/XML_Types.h13
-rw-r--r--ACEXML/examples/SAXPrint/Print_Handler.cpp80
-rw-r--r--ACEXML/examples/SAXPrint/SAXPrint_Handler.cpp46
-rw-r--r--ACEXML/parser/parser/Parser.cpp35
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));
}
}