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.

References ACEXML_Char.

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.

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 }

void ACEXML_SAXPrint_Handler::endDocument ACEXML_ENV_SINGLE_ARG_DECL   )  [virtual]
 

Receive notification of the end of a document.

Reimplemented from ACEXML_DefaultHandler.

Definition at line 34 of file SAXPrint_Handler.cpp.

References ACE_DEBUG, ACE_TEXT, and LM_DEBUG.

00035 {
00036 
00037 
00038   ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("\n")));
00039 }

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, ACEXML_Char, 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, indent_, and LM_DEBUG.

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, ACEXML_Char, 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.

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, ACEXML_Char, and LM_DEBUG.

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

void ACEXML_SAXPrint_Handler::startDocument ACEXML_ENV_SINGLE_ARG_DECL   )  [virtual]
 

Receive notification of the beginning of a document.

Reimplemented from ACEXML_DefaultHandler.

Definition at line 110 of file SAXPrint_Handler.cpp.

References ACE_DEBUG, ACE_TEXT, and LM_DEBUG.

00111 {
00112 
00113 
00114   ACE_DEBUG ((LM_DEBUG,
00115               ACE_TEXT ("* Event startDocument () ***************\n")));
00116 }

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.

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.


The documentation for this class was generated from the following files:
Generated on Sun Jan 27 13:05:08 2008 for ACEXML by doxygen 1.3.6