SAXPrint_Handler.cpp

Go to the documentation of this file.
00001 // -*- C++ -*-  SAXPrint_Handler.cpp,v 1.9 2003/05/30 04:14:01 kitty Exp
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 /* __ACEXML_INLINE__ */
00010 
00011 ACEXML_SAXPrint_Handler::ACEXML_SAXPrint_Handler (const ACEXML_Char* filename)
00012   : indent_ (0),  fileName_(ACE::strnew (filename)), locator_ (0)
00013 {
00014   // no-op
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 //   ACE_DEBUG ((LM_DEBUG,
00067 //               ACE_TEXT ("* Event endPrefixMapping (%s) ***************\n"),
00068 //               prefix));
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 //   ACE_DEBUG ((LM_DEBUG,
00081   //               ACE_TEXT ("* Event ignorableWhitespace () ***************\n")));
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   //ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("* Event setDocumentLocator () ***************\n")));
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 //   ACE_DEBUG ((LM_DEBUG,
00159 //               ACE_TEXT ("* Event startPrefixMapping () ***************\n")));
00160 //   ACE_DEBUG ((LM_DEBUG,
00161 //               ACE_TEXT ("Prefix = %s, URI = %s\n"), prefix, uri));
00162 
00163 }
00164 
00165 // *** Methods inherited from ACEXML_DTDHandler.
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   // No-op.
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   // No-op.
00184 }
00185 
00186 // Methods inherited from ACEXML_EnitityResolver.
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   // No-op.
00194   return 0;
00195 }
00196 
00197 // Methods inherited from ACEXML_ErrorHandler.
00198 
00199 /*
00200  * Receive notification of a recoverable error.
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 }

Generated on Thu Nov 9 11:45:39 2006 for ACEXML by doxygen 1.3.6