ACEXML_SAXPrint_Handler Class Reference

ACEXML_SAXPrint_Handler is an example SAX event handler. More...

#include <SAXPrint_Handler.h>

Inheritance diagram for ACEXML_SAXPrint_Handler:

Inheritance graph
[legend]
Collaboration diagram for ACEXML_SAXPrint_Handler:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 ACEXML_SAXPrint_Handler (const ACEXML_Char *name)
virtual ~ACEXML_SAXPrint_Handler (void)
virtual void characters (const ACEXML_Char *ch, size_t start, size_t length ACEXML_ENV_ARG_DECL)
virtual void endDocument (ACEXML_ENV_SINGLE_ARG_DECL)
virtual void endElement (const ACEXML_Char *namespaceURI, const ACEXML_Char *localName, const ACEXML_Char *qName ACEXML_ENV_ARG_DECL)
virtual void endPrefixMapping (const ACEXML_Char *prefix ACEXML_ENV_ARG_DECL)
virtual void ignorableWhitespace (const ACEXML_Char *ch, int start, int length ACEXML_ENV_ARG_DECL)
virtual void processingInstruction (const ACEXML_Char *target, const ACEXML_Char *data ACEXML_ENV_ARG_DECL)
virtual void setDocumentLocator (ACEXML_Locator *locator)
virtual void skippedEntity (const ACEXML_Char *name ACEXML_ENV_ARG_DECL)
virtual void startDocument (ACEXML_ENV_SINGLE_ARG_DECL)
virtual void startElement (const ACEXML_Char *namespaceURI, const ACEXML_Char *localName, const ACEXML_Char *qName, ACEXML_Attributes *atts ACEXML_ENV_ARG_DECL)
virtual void startPrefixMapping (const ACEXML_Char *prefix, const ACEXML_Char *uri ACEXML_ENV_ARG_DECL)
virtual void notationDecl (const ACEXML_Char *name, const ACEXML_Char *publicId, const ACEXML_Char *systemId ACEXML_ENV_ARG_DECL)
virtual void unparsedEntityDecl (const ACEXML_Char *name, const ACEXML_Char *publicId, const ACEXML_Char *systemId, const ACEXML_Char *notationName ACEXML_ENV_ARG_DECL)
virtual ACEXML_InputSourceresolveEntity (const ACEXML_Char *publicId, const ACEXML_Char *systemId ACEXML_ENV_ARG_DECL)
virtual void error (ACEXML_SAXParseException &exception ACEXML_ENV_ARG_DECL)
virtual void fatalError (ACEXML_SAXParseException &exception ACEXML_ENV_ARG_DECL)
virtual void warning (ACEXML_SAXParseException &exception ACEXML_ENV_ARG_DECL)
void inc_indent ()
void dec_indent ()
void print_indent ()

Private Attributes

size_t indent_
ACEXML_CharfileName_
ACEXML_Locatorlocator_

Detailed Description

ACEXML_SAXPrint_Handler is an example SAX event handler.

This SAX event handler try to regenerate the XML document it reads with correct indentation.

Definition at line 26 of file SAXPrint_Handler.h.


Constructor & Destructor Documentation

ACEXML_SAXPrint_Handler::ACEXML_SAXPrint_Handler ( const ACEXML_Char name  ) 

Definition at line 11 of file SAXPrint_Handler.cpp.

00012   : indent_ (0),  fileName_(ACE::strnew (filename)), locator_ (0)
00013 {
00014   // no-op
00015 }

ACEXML_SAXPrint_Handler::~ACEXML_SAXPrint_Handler ( void   )  [virtual]

Definition at line 17 of file SAXPrint_Handler.cpp.

References fileName_.

00018 {
00019   delete [] this->fileName_;
00020 }


Member Function Documentation

virtual void ACEXML_SAXPrint_Handler::characters ( const ACEXML_Char ch,
size_t  start,
size_t length  ACEXML_ENV_ARG_DECL 
) [virtual]

Receive notification of character data.

Reimplemented from ACEXML_DefaultHandler.

ACEXML_INLINE void ACEXML_SAXPrint_Handler::dec_indent (  ) 

Definition at line 10 of file SAXPrint_Handler.inl.

References indent_.

Referenced by endElement().

00011 {
00012   this->indent_ -= 1;
00013 }

virtual void ACEXML_SAXPrint_Handler::endDocument ( ACEXML_ENV_SINGLE_ARG_DECL   )  [virtual]

Receive notification of the end of a document.

Reimplemented from ACEXML_DefaultHandler.

void ACEXML_SAXPrint_Handler::endElement ( const ACEXML_Char namespaceURI,
const ACEXML_Char localName,
const ACEXML_Char *qName  ACEXML_ENV_ARG_DECL 
) [virtual]

Receive notification of the end of an element.

Reimplemented from ACEXML_DefaultHandler.

Definition at line 42 of file SAXPrint_Handler.cpp.

References ACE_DEBUG, ACE_TEXT, dec_indent(), LM_DEBUG, and print_indent().

00046 {
00047 
00048 
00049   this->dec_indent ();
00050   this->print_indent ();
00051   ACE_DEBUG ((LM_DEBUG,
00052               ACE_TEXT ("</%s>"),
00053               qName));
00054 }

virtual void ACEXML_SAXPrint_Handler::endPrefixMapping ( const ACEXML_Char *prefix  ACEXML_ENV_ARG_DECL  )  [virtual]

End the scope of a prefix-URI mapping.

Reimplemented from ACEXML_DefaultHandler.

virtual void ACEXML_SAXPrint_Handler::error ( ACEXML_SAXParseException &exception  ACEXML_ENV_ARG_DECL  )  [virtual]

Receive notification of a recoverable error.

Reimplemented from ACEXML_DefaultHandler.

virtual void ACEXML_SAXPrint_Handler::fatalError ( ACEXML_SAXParseException &exception  ACEXML_ENV_ARG_DECL  )  [virtual]

Receive notification of a non-recoverable error.

Reimplemented from ACEXML_DefaultHandler.

virtual void ACEXML_SAXPrint_Handler::ignorableWhitespace ( const ACEXML_Char ch,
int  start,
int length  ACEXML_ENV_ARG_DECL 
) [virtual]

Receive notification of ignorable whitespace in element content.

Reimplemented from ACEXML_DefaultHandler.

ACEXML_INLINE void ACEXML_SAXPrint_Handler::inc_indent (  ) 

Definition at line 4 of file SAXPrint_Handler.inl.

References indent_.

00005 {
00006   this->indent_ += 1;
00007 }

virtual void ACEXML_SAXPrint_Handler::notationDecl ( const ACEXML_Char name,
const ACEXML_Char publicId,
const ACEXML_Char *systemId  ACEXML_ENV_ARG_DECL 
) [virtual]

Receive notification of a notation declaration event.

Reimplemented from ACEXML_DefaultHandler.

void ACEXML_SAXPrint_Handler::print_indent (  ) 

Definition at line 221 of file SAXPrint_Handler.cpp.

References ACE_DEBUG, ACE_TEXT, and indent_.

Referenced by endElement(), and processingInstruction().

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 }

void ACEXML_SAXPrint_Handler::processingInstruction ( const ACEXML_Char target,
const ACEXML_Char *data  ACEXML_ENV_ARG_DECL 
) [virtual]

Receive notification of a processing instruction.

Reimplemented from ACEXML_DefaultHandler.

Definition at line 78 of file SAXPrint_Handler.cpp.

References ACE_DEBUG, ACE_TEXT, LM_DEBUG, and print_indent().

00081 {
00082 
00083 
00084   this->print_indent ();
00085   ACE_DEBUG ((LM_DEBUG,
00086               ACE_TEXT ("<?%s %s>\n"),
00087               target, data));
00088 }

virtual ACEXML_InputSource* ACEXML_SAXPrint_Handler::resolveEntity ( const ACEXML_Char publicId,
const ACEXML_Char *systemId  ACEXML_ENV_ARG_DECL 
) [virtual]

Allow the application to resolve external entities.

Reimplemented from ACEXML_DefaultHandler.

void ACEXML_SAXPrint_Handler::setDocumentLocator ( ACEXML_Locator locator  )  [virtual]

Receive an object for locating the origin of SAX document events.

Reimplemented from ACEXML_DefaultHandler.

Definition at line 91 of file SAXPrint_Handler.cpp.

References locator_.

00092 {
00093 
00094   this->locator_ = locator;
00095   //ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("* Event setDocumentLocator () ***************\n")));
00096 }

void ACEXML_SAXPrint_Handler::skippedEntity ( const ACEXML_Char *name  ACEXML_ENV_ARG_DECL  )  [virtual]

Receive notification of a skipped entity.

Reimplemented from ACEXML_DefaultHandler.

Definition at line 99 of file SAXPrint_Handler.cpp.

References ACE_DEBUG, ACE_TEXT, and LM_DEBUG.

00101 {
00102 
00103 
00104   ACE_DEBUG ((LM_DEBUG,
00105               ACE_TEXT ("* Event skippedEntity (%s) ***************\n"),
00106               name));
00107 }

virtual void ACEXML_SAXPrint_Handler::startDocument ( ACEXML_ENV_SINGLE_ARG_DECL   )  [virtual]

Receive notification of the beginning of a document.

Reimplemented from ACEXML_DefaultHandler.

virtual void ACEXML_SAXPrint_Handler::startElement ( const ACEXML_Char namespaceURI,
const ACEXML_Char localName,
const ACEXML_Char qName,
ACEXML_Attributes *atts  ACEXML_ENV_ARG_DECL 
) [virtual]

Receive notification of the beginning of an element.

Reimplemented from ACEXML_DefaultHandler.

virtual void ACEXML_SAXPrint_Handler::startPrefixMapping ( const ACEXML_Char prefix,
const ACEXML_Char *uri  ACEXML_ENV_ARG_DECL 
) [virtual]

Begin the scope of a prefix-URI Namespace mapping.

Reimplemented from ACEXML_DefaultHandler.

virtual void ACEXML_SAXPrint_Handler::unparsedEntityDecl ( const ACEXML_Char name,
const ACEXML_Char publicId,
const ACEXML_Char systemId,
const ACEXML_Char *notationName  ACEXML_ENV_ARG_DECL 
) [virtual]

Receive notification of an unparsed entity declaration event.

Reimplemented from ACEXML_DefaultHandler.

virtual void ACEXML_SAXPrint_Handler::warning ( ACEXML_SAXParseException &exception  ACEXML_ENV_ARG_DECL  )  [virtual]

Receive notification of a warning.

Reimplemented from ACEXML_DefaultHandler.


Member Data Documentation

ACEXML_Char* ACEXML_SAXPrint_Handler::fileName_ [private]

Definition at line 173 of file SAXPrint_Handler.h.

Referenced by ~ACEXML_SAXPrint_Handler().

size_t ACEXML_SAXPrint_Handler::indent_ [private]

Definition at line 172 of file SAXPrint_Handler.h.

Referenced by dec_indent(), inc_indent(), and print_indent().

ACEXML_Locator* ACEXML_SAXPrint_Handler::locator_ [private]

Definition at line 174 of file SAXPrint_Handler.h.

Referenced by setDocumentLocator().


The documentation for this class was generated from the following files:
Generated on Tue Feb 2 17:37:18 2010 for ACEXML by  doxygen 1.4.7