Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

xmli::SAX2DefaultHandler Class Reference

Define a SAX2 handler for XML files. More...

#include <SAX2DefaultHandler.h>

List of all members.

Public Member Functions

 ~SAX2DefaultHandler ()
void startElement (const XMLCh *const uri, const XMLCh *const localname, const XMLCh *const qname, const Attributes &attributes)
void endElement (const XMLCh *const uri, const XMLCh *const localname, const XMLCh *const qname)
void characters (const XMLCh *const chars, const unsigned int length)
void characters (const XMLCh *const chars, XMLSize_t length)

Private Attributes

std::stack< SAX2Handler * > fHandler


Detailed Description

Define a SAX2 handler for XML files.

Definition at line 17 of file SAX2DefaultHandler.h.


Constructor & Destructor Documentation

xmli::SAX2DefaultHandler::~SAX2DefaultHandler  ) 
 

Definition at line 12 of file SAX2DefaultHandler.cxx.

References fHandler.

00013 {
00014   
00015   xmli::SAX2Handler* handler = 0;
00016 
00017   if (fHandler.empty()==false) {
00018     for (handler = fHandler.top(); handler!=0; fHandler.pop()) {
00019       std::cerr << "xmli::SAX2DefaultHandler::" << __LINE__ 
00020                 << " Unterminated tag."       << std::endl;
00021       delete handler;  
00022     }
00023   }
00024 }


Member Function Documentation

void xmli::SAX2DefaultHandler::characters const XMLCh *const   chars,
XMLSize_t  length
 

Definition at line 98 of file SAX2DefaultHandler.cxx.

References characters().

00100 {
00101   unsigned int len = xmllen;
00102   this->characters(chars, len);
00103 }

void xmli::SAX2DefaultHandler::characters const XMLCh *const   chars,
const unsigned int  length
 

Definition at line 82 of file SAX2DefaultHandler.cxx.

References xmli::SAX2Handler::Characters(), and fHandler.

Referenced by characters().

00084 {
00085   if (gsDebug) {
00086     std::cerr << "characters: " << chars << std::endl;
00087   }
00088 
00089   xmli::ChString chs(chars);
00090   xmli::SAX2Handler* handler = fHandler.top();
00091   if (handler) handler->Characters(chs);
00092 }

void xmli::SAX2DefaultHandler::endElement const XMLCh *const   uri,
const XMLCh *const   localname,
const XMLCh *const   qname
 

Definition at line 59 of file SAX2DefaultHandler.cxx.

References xmli::SAX2Handler::EndElement(), and fHandler.

00062 {
00063   xmli::ChString uris(uri);
00064   xmli::ChString localnames(localname);
00065   xmli::ChString qnames(qname);
00066 
00067   if (gsDebug) {
00068     std::cerr << "endElement: " 
00069               << uris << ":" << localnames << ":"<< qnames << std::endl;
00070   }
00071   
00072   xmli::SAX2Handler* handler = fHandler.top();
00073   if (handler) {
00074     handler->EndElement(uris,localnames,qnames);
00075     delete handler;
00076   }
00077   fHandler.pop();
00078 }

void xmli::SAX2DefaultHandler::startElement const XMLCh *const   uri,
const XMLCh *const   localname,
const XMLCh *const   qname,
const Attributes &  attributes
 

Definition at line 28 of file SAX2DefaultHandler.cxx.

References fHandler, and xmli::SAX2Handler::StartElement().

00032 {
00033   xmli::ChString uris(uri);
00034   xmli::ChString localnames(localname);
00035   xmli::ChString qnames(qname);
00036   
00037   if (gsDebug) {
00038     std::cerr << "startElement: " 
00039               << uris << ":" << localnames << ":"<< qnames << std::endl;
00040   }
00041 
00042   xmli::AttributeList attr;
00043   for (unsigned int i=0; i<attributes.getLength(); ++i) {
00044     xmli::ChString names  = attributes.getLocalName(i);
00045     xmli::ChString values = attributes.getValue(i);
00046     xmli::Attribute a(names,values);
00047     attr.push_back(a);
00048   }
00049   
00050   xmli::SAX2Handler* handler = new xmli::SAX2Handler();
00051   if (handler) {
00052     handler->StartElement(uris,localnames,qnames,attr);
00053   }
00054   fHandler.push(handler);
00055 }


Member Data Documentation

std::stack<SAX2Handler*> xmli::SAX2DefaultHandler::fHandler [private]
 

Definition at line 38 of file SAX2DefaultHandler.h.

Referenced by characters(), endElement(), startElement(), and ~SAX2DefaultHandler().


The documentation for this class was generated from the following files:
Generated on Mon Nov 23 04:45:35 2009 for NOvA Offline by  doxygen 1.3.9.1