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