SAXPrint_Handler.cpp

Go to the documentation of this file.
00001 // -*- C++ -*-  $Id: SAXPrint_Handler.cpp 78907 2007-07-16 10:22:58Z sowayaa $
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.inl"
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                                      size_t,
00025                                      size_t
00026                                      ACEXML_ENV_ARG_DECL_NOT_USED)
00027 {
00028   ACE_DEBUG ((LM_DEBUG,
00029               ACE_TEXT ("%s"),
00030               cdata));
00031 }
00032 
00033 void
00034 ACEXML_SAXPrint_Handler::endDocument (ACEXML_ENV_SINGLE_ARG_DECL_NOT_USED)
00035 {
00036 
00037 
00038   ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("\n")));
00039 }
00040 
00041 void
00042 ACEXML_SAXPrint_Handler::endElement (const ACEXML_Char *,
00043                                      const ACEXML_Char *,
00044                                      const ACEXML_Char *qName
00045                                      ACEXML_ENV_ARG_DECL_NOT_USED)
00046 {
00047 
00048 
00049   this->dec_indent ();
00050   this->print_indent ();
00051   ACE_DEBUG ((LM_DEBUG,
00052               ACE_TEXT ("</%s>"),
00053               qName));
00054 }
00055 
00056 void
00057 ACEXML_SAXPrint_Handler::endPrefixMapping (const ACEXML_Char *
00058                                            ACEXML_ENV_ARG_DECL_NOT_USED)
00059 {
00060 //   ACE_DEBUG ((LM_DEBUG,
00061 //               ACE_TEXT ("* Event endPrefixMapping (%s) ***************\n"),
00062 //               prefix));
00063 }
00064 
00065 void
00066 ACEXML_SAXPrint_Handler::ignorableWhitespace (const ACEXML_Char * cdata,
00067                                               int,
00068                                               int ACEXML_ENV_ARG_DECL_NOT_USED)
00069 {
00070   ACE_DEBUG ((LM_DEBUG,
00071               ACE_TEXT ("%s"),
00072               cdata));
00073 //   ACE_DEBUG ((LM_DEBUG,
00074   //               ACE_TEXT ("* Event ignorableWhitespace () ***************\n")));
00075 }
00076 
00077 void
00078 ACEXML_SAXPrint_Handler::processingInstruction (const ACEXML_Char *target,
00079                                                 const ACEXML_Char *data
00080                                                 ACEXML_ENV_ARG_DECL_NOT_USED)
00081 {
00082 
00083 
00084   this->print_indent ();
00085   ACE_DEBUG ((LM_DEBUG,
00086               ACE_TEXT ("<?%s %s>\n"),
00087               target, data));
00088 }
00089 
00090 void
00091 ACEXML_SAXPrint_Handler::setDocumentLocator (ACEXML_Locator * locator)
00092 {
00093 
00094   this->locator_ = locator;
00095   //ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("* Event setDocumentLocator () ***************\n")));
00096 }
00097 
00098 void
00099 ACEXML_SAXPrint_Handler::skippedEntity (const ACEXML_Char *name
00100                                         ACEXML_ENV_ARG_DECL_NOT_USED)
00101 {
00102 
00103 
00104   ACE_DEBUG ((LM_DEBUG,
00105               ACE_TEXT ("* Event skippedEntity (%s) ***************\n"),
00106               name));
00107 }
00108 
00109 void
00110 ACEXML_SAXPrint_Handler::startDocument (ACEXML_ENV_SINGLE_ARG_DECL_NOT_USED)
00111 {
00112 
00113 
00114   ACE_DEBUG ((LM_DEBUG,
00115               ACE_TEXT ("* Event startDocument () ***************\n")));
00116 }
00117 
00118 void
00119 ACEXML_SAXPrint_Handler::startElement (const ACEXML_Char *,
00120                                        const ACEXML_Char *,
00121                                        const ACEXML_Char *qName,
00122                                        ACEXML_Attributes *alist
00123                                        ACEXML_ENV_ARG_DECL_NOT_USED)
00124 {
00125 
00126 
00127   this->print_indent ();
00128 
00129   ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("<%s"),
00130               qName));
00131   if (alist != 0)
00132     for (size_t i = 0; i < alist->getLength (); ++i)
00133       {
00134         ACE_DEBUG ((LM_DEBUG,
00135                     ACE_TEXT (" %s = \"%s\""),
00136                     alist->getQName (i), alist->getValue (i)));
00137       }
00138   ACE_DEBUG ((LM_DEBUG, ACE_TEXT (">")));
00139   this->inc_indent ();
00140 }
00141 
00142 void
00143 ACEXML_SAXPrint_Handler::startPrefixMapping (const ACEXML_Char * ,
00144                                              const ACEXML_Char * ACEXML_ENV_ARG_DECL_NOT_USED)
00145 {
00146 //   ACE_DEBUG ((LM_DEBUG,
00147 //               ACE_TEXT ("* Event startPrefixMapping () ***************\n")));
00148 //   ACE_DEBUG ((LM_DEBUG,
00149 //               ACE_TEXT ("Prefix = %s, URI = %s\n"), prefix, uri));
00150 
00151 }
00152 
00153 // *** Methods inherited from ACEXML_DTDHandler.
00154 
00155 void
00156 ACEXML_SAXPrint_Handler::notationDecl (const ACEXML_Char *,
00157                                        const ACEXML_Char *,
00158                                        const ACEXML_Char * ACEXML_ENV_ARG_DECL_NOT_USED)
00159 {
00160   // No-op.
00161 }
00162 
00163 void
00164 ACEXML_SAXPrint_Handler::unparsedEntityDecl (const ACEXML_Char *,
00165                                              const ACEXML_Char *,
00166                                              const ACEXML_Char *,
00167                                              const ACEXML_Char * ACEXML_ENV_ARG_DECL_NOT_USED)
00168 {
00169   // No-op.
00170 }
00171 
00172 // Methods inherited from ACEXML_EnitityResolver.
00173 
00174 ACEXML_InputSource *
00175 ACEXML_SAXPrint_Handler::resolveEntity (const ACEXML_Char *,
00176                                         const ACEXML_Char * ACEXML_ENV_ARG_DECL_NOT_USED)
00177 {
00178   // No-op.
00179   return 0;
00180 }
00181 
00182 // Methods inherited from ACEXML_ErrorHandler.
00183 
00184 /*
00185  * Receive notification of a recoverable error.
00186  */
00187 void
00188 ACEXML_SAXPrint_Handler::error (ACEXML_SAXParseException & ex
00189                                 ACEXML_ENV_ARG_DECL_NOT_USED)
00190 {
00191   ACE_DEBUG ((LM_DEBUG, "%s: line: %d col: %d ",
00192               (this->locator_->getSystemId() == 0 ? this->fileName_ : this->locator_->getSystemId()),
00193               this->locator_->getLineNumber(),
00194               this->locator_->getColumnNumber()));
00195   ex.print();
00196 }
00197 
00198 void
00199 ACEXML_SAXPrint_Handler::fatalError (ACEXML_SAXParseException & ex
00200                                      ACEXML_ENV_ARG_DECL_NOT_USED)
00201 {
00202   ACE_DEBUG ((LM_DEBUG, "%s: line: %d col: %d ",
00203               (this->locator_->getSystemId() == 0 ? this->fileName_ : this->locator_->getSystemId()),
00204               this->locator_->getLineNumber(),
00205               this->locator_->getColumnNumber()));
00206   ex.print();
00207 }
00208 
00209 void
00210 ACEXML_SAXPrint_Handler::warning (ACEXML_SAXParseException & ex
00211                                   ACEXML_ENV_ARG_DECL_NOT_USED)
00212 {
00213   ACE_DEBUG ((LM_DEBUG, "%s: line: %d col: %d ",
00214               (this->locator_->getSystemId() == 0 ? this->fileName_ : this->locator_->getSystemId()),
00215               this->locator_->getLineNumber(),
00216               this->locator_->getColumnNumber()));
00217   ex.print();
00218 }
00219 
00220 void
00221 ACEXML_SAXPrint_Handler::print_indent (void)
00222 {
00223   ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("\n")));
00224   for (size_t i = 0; i < this->indent_; ++i)
00225     ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("  ")));
00226 }

Generated on Sun Jan 27 13:04:15 2008 for ACEXML by doxygen 1.3.6