00001
00002
00003 #include "Print_Handler.h"
00004 #include "ace/ACE.h"
00005 #include "ace/Log_Msg.h"
00006
00007 ACEXML_Print_Handler::ACEXML_Print_Handler (ACEXML_Char* fileName)
00008 : fileName_(ACE::strnew (fileName))
00009 {
00010
00011 }
00012
00013 ACEXML_Print_Handler::~ACEXML_Print_Handler (void)
00014 {
00015 delete[] this->fileName_;
00016 }
00017
00018 void
00019 ACEXML_Print_Handler::characters (const ACEXML_Char *cdata,
00020 size_t start,
00021 size_t length ACEXML_ENV_ARG_DECL_NOT_USED)
00022 {
00023
00024
00025 ACE_DEBUG ((LM_DEBUG,
00026 ACE_TEXT ("* Event characters () ** start: %u end: %u ***************\n%s\n- End event characters () ---------------\n"),
00027 start, length, cdata));
00028 }
00029
00030 void
00031 ACEXML_Print_Handler::endDocument (ACEXML_ENV_SINGLE_ARG_DECL_NOT_USED)
00032 {
00033
00034
00035 ACE_DEBUG ((LM_DEBUG,
00036 ACE_TEXT ("* Event endDocument () ***************\n")));
00037 }
00038
00039 void
00040 ACEXML_Print_Handler::endElement (const ACEXML_Char *uri,
00041 const ACEXML_Char *name,
00042 const ACEXML_Char *qName
00043 ACEXML_ENV_ARG_DECL_NOT_USED)
00044 {
00045
00046
00047 ACE_DEBUG ((LM_DEBUG,
00048 ACE_TEXT ("* Event endElement (%s, %s, %s) ***************\n"),
00049 uri, name, qName));
00050 }
00051
00052 void
00053 ACEXML_Print_Handler::endPrefixMapping (const ACEXML_Char *prefix
00054 ACEXML_ENV_ARG_DECL_NOT_USED)
00055 {
00056
00057
00058 ACE_DEBUG ((LM_DEBUG,
00059 ACE_TEXT ("* Event endPrefixMapping (%s) ***************\n"),
00060 prefix));
00061 }
00062
00063 void
00064 ACEXML_Print_Handler::ignorableWhitespace (const ACEXML_Char *,
00065 int,
00066 int
00067 ACEXML_ENV_ARG_DECL_NOT_USED)
00068 {
00069
00070
00071 }
00072
00073 void
00074 ACEXML_Print_Handler::processingInstruction (const ACEXML_Char *target,
00075 const ACEXML_Char *data
00076 ACEXML_ENV_ARG_DECL_NOT_USED)
00077 {
00078
00079
00080 ACE_DEBUG ((LM_DEBUG,
00081 ACE_TEXT ("* Event processingInstruction (%s, %s) ***************\n"),
00082 target, data));
00083 }
00084
00085 void
00086 ACEXML_Print_Handler::setDocumentLocator (ACEXML_Locator * locator)
00087 {
00088
00089 this->locator_ = locator;
00090
00091 }
00092
00093 void
00094 ACEXML_Print_Handler::skippedEntity (const ACEXML_Char *name
00095 ACEXML_ENV_ARG_DECL_NOT_USED)
00096 {
00097
00098
00099 ACE_DEBUG ((LM_DEBUG,
00100 ACE_TEXT ("* Event skippedEntity (%s) ***************\n"),
00101 name));
00102 }
00103
00104 void
00105 ACEXML_Print_Handler::startDocument (ACEXML_ENV_SINGLE_ARG_DECL_NOT_USED)
00106 {
00107
00108
00109 ACE_DEBUG ((LM_DEBUG,
00110 ACE_TEXT ("* Event startDocument () ***************\n")));
00111 }
00112
00113 void
00114 ACEXML_Print_Handler::startElement (const ACEXML_Char *uri,
00115 const ACEXML_Char *name,
00116 const ACEXML_Char *qName,
00117 ACEXML_Attributes *alist
00118 ACEXML_ENV_ARG_DECL_NOT_USED)
00119 {
00120
00121
00122 ACE_DEBUG ((LM_DEBUG,
00123 ACE_TEXT ("* Event startElement (%s, %s, %s) ***************\n"),
00124 uri, name, qName));
00125
00126 if (alist != 0)
00127 for (size_t i = 0; i < alist->getLength (); ++i)
00128 {
00129 ACE_DEBUG ((LM_DEBUG,
00130 ACE_TEXT (" %s = \"%s\"\n"),
00131 alist->getQName (i), alist->getValue (i)));
00132 }
00133 }
00134
00135 void
00136 ACEXML_Print_Handler::startPrefixMapping (const ACEXML_Char * prefix,
00137 const ACEXML_Char * uri ACEXML_ENV_ARG_DECL_NOT_USED)
00138 {
00139 ACE_DEBUG ((LM_DEBUG,
00140 ACE_TEXT ("* Event startPrefixMapping () ***************\n")));
00141 ACE_DEBUG ((LM_DEBUG,
00142 ACE_TEXT ("Prefix = %s, URI = %s\n"), prefix, uri));
00143 }
00144
00145
00146
00147 void
00148 ACEXML_Print_Handler::notationDecl (const ACEXML_Char *name,
00149 const ACEXML_Char *publicID,
00150 const ACEXML_Char *systemID ACEXML_ENV_ARG_DECL_NOT_USED)
00151 {
00152 ACE_DEBUG ((LM_DEBUG,
00153 ACE_TEXT ("* Event notationDecl: (%s) "),
00154 name));
00155
00156 if (publicID == 0)
00157 ACE_DEBUG ((LM_DEBUG,
00158 ACE_TEXT ("SYSTEM %s\n"),
00159 systemID));
00160 else if (systemID == 0)
00161 ACE_DEBUG ((LM_DEBUG,
00162 ACE_TEXT ("PUBLIC %s\n"),
00163 publicID));
00164 else
00165 ACE_DEBUG ((LM_DEBUG,
00166 ACE_TEXT ("PUBLIC %s %s\n"),
00167 publicID, systemID));
00168 }
00169
00170 void
00171 ACEXML_Print_Handler::unparsedEntityDecl (const ACEXML_Char *name,
00172 const ACEXML_Char *publicID,
00173 const ACEXML_Char *systemID,
00174 const ACEXML_Char *notationName ACEXML_ENV_ARG_DECL_NOT_USED)
00175 {
00176 ACE_DEBUG ((LM_DEBUG,
00177 ACE_TEXT ("* Unparsed Entity: %s"),
00178 name));
00179
00180 if (publicID == 0)
00181 ACE_DEBUG ((LM_DEBUG,
00182 ACE_TEXT (" SYSTEM %s"),
00183 systemID));
00184 else
00185 ACE_DEBUG ((LM_DEBUG,
00186 ACE_TEXT (" PUBLIC %s %s"),
00187 publicID, systemID));
00188
00189 ACE_DEBUG ((LM_DEBUG,
00190 ACE_TEXT (" NDATA %s\n"),
00191 notationName));
00192 }
00193
00194
00195
00196 ACEXML_InputSource *
00197 ACEXML_Print_Handler::resolveEntity (const ACEXML_Char *,
00198 const ACEXML_Char * ACEXML_ENV_ARG_DECL_NOT_USED)
00199 {
00200
00201 return 0;
00202 }
00203
00204
00205
00206
00207
00208
00209 void
00210 ACEXML_Print_Handler::error (ACEXML_SAXParseException & ex ACEXML_ENV_ARG_DECL_NOT_USED)
00211 {
00212 ACE_DEBUG ((LM_DEBUG, "%s: line: %d col: %d ",
00213 (this->locator_->getSystemId() == 0 ? this->fileName_ : this->locator_->getSystemId()),
00214 this->locator_->getLineNumber(),
00215 this->locator_->getColumnNumber()));
00216 ex.print();
00217 }
00218
00219 void
00220 ACEXML_Print_Handler::fatalError (ACEXML_SAXParseException& ex ACEXML_ENV_ARG_DECL_NOT_USED)
00221 {
00222 ACE_DEBUG ((LM_DEBUG, "%s: line: %d col: %d ",
00223 (this->locator_->getSystemId() == 0 ? this->fileName_ : this->locator_->getSystemId()),
00224 this->locator_->getLineNumber(),
00225 this->locator_->getColumnNumber()));
00226 ex.print();
00227
00228 }
00229
00230 void
00231 ACEXML_Print_Handler::warning (ACEXML_SAXParseException & ex ACEXML_ENV_ARG_DECL_NOT_USED)
00232 {
00233 ACE_DEBUG ((LM_DEBUG, "%s: line: %d col: %d ",
00234 (this->locator_->getSystemId() == 0 ? this->fileName_ : this->locator_->getSystemId()),
00235 this->locator_->getLineNumber(),
00236 this->locator_->getColumnNumber()));
00237 ex.print();
00238 }