////////////////////////////////////////////////////////////////////////////////
//
// Copyright (c) 2008 The Regents of the University of California
//
// This file is part of Qbox
//
// Qbox is distributed under the terms of the GNU General Public License
// as published by the Free Software Foundation, either version 2 of
// the License, or (at your option) any later version.
// See the file COPYING in the root directory of this distribution
// or .
//
////////////////////////////////////////////////////////////////////////////////
//
// StructureHandler.h
//
////////////////////////////////////////////////////////////////////////////////
// $Id: StructureHandler.h,v 1.5 2008-09-08 15:56:19 fgygi Exp $
#ifndef STRUCTUREHANDLER_H
#define STRUCTUREHANDLER_H
#include
#include
#include
using namespace xercesc;
class StructureHandler
{
private:
public:
// Start of an element handled by the StructureHandler
virtual void startElement(const XMLCh* const uri,const XMLCh* const localname,
const XMLCh* const qname, const Attributes& attributes) = 0;
// End of an element handled by the StructureHandler
virtual void endElement(const XMLCh* const uri, const XMLCh* const localname,
const XMLCh* const qname, std::string& content) = 0;
// start a subhandler
virtual StructureHandler* startSubHandler(const XMLCh* const uri,
const XMLCh* const localname, const XMLCh* const qname,
const Attributes& attributes) = 0;
// end a subhandler
virtual void endSubHandler(const XMLCh* const uri,
const XMLCh* const localname, const XMLCh* const qname,
const StructureHandler* const subHandler) = 0;
StructureHandler() {}
virtual ~StructureHandler() {}
};
#endif