XML Handler that parses XMLs in a stack-oriented way. More...
#include <XmlStackedHandler.h>
Inherits QXmlDefaultHandler.
Inherited by Isis::BundleObservationSolveSettings::XmlHandler, Isis::BundleResults::XmlHandler, Isis::BundleSettings::XmlHandler, Isis::BundleSolutionInfo::XmlHandler, Isis::Control::XmlHandler, Isis::ControlDisplayProperties::XmlHandler, Isis::ControlList::XmlHandler, Isis::CubeDnView::XmlHandler, Isis::Directory::XmlHandler, Isis::DisplayProperties::XmlHandler, Isis::GuiCameraDisplayProperties::XmlHandler, Isis::GuiCameraList::XmlHandler, Isis::Image::XmlHandler, Isis::ImageFileListWidget::XmlHandler, Isis::ImageList::XmlHandler, Isis::MosaicSceneWidget::XmlHandler, Isis::Project::XmlHandler, Isis::Shape::XmlHandler, Isis::ShapeDisplayProperties::XmlHandler, Isis::ShapeList::XmlHandler, Isis::StatCumProbDistDynCalc::XmlHandler, Isis::Statistics::XmlHandler, Isis::TargetBodyDisplayProperties::XmlHandler, Isis::TargetBodyList::XmlHandler, and Isis::WorkOrder::XmlHandler.
Public Member Functions | |
XmlStackedHandler () | |
~XmlStackedHandler () | |
virtual void | setReader (XmlStackedHandlerReader *) |
void | switchToNewHandler (XmlStackedHandler *nextHandler) |
virtual bool | startElement (const QString &namespaceURI, const QString &localName, const QString &qName, const QXmlAttributes &atts) |
virtual bool | endElement (const QString &namespaceURI, const QString &localName, const QString &qName) |
Protected Member Functions | |
XmlStackedHandlerReader * | reader () |
const XmlStackedHandlerReader * | reader () const |
bool | fatalError (const QXmlParseException &exception) |
XML Handler that parses XMLs in a stack-oriented way.
This XML handler is designed to work with the XmlStackedHandlerReader. This XML handler class handles passing off parsing to another handler. For example, if your XML is:
<xmlTag1> <xmlTag2> <xmlTag3> </xmlTag2> </xmlTag>
If this handler is pushed onto the reader (which is the parser stack) when the startElement of xmlTag2 is seen, then this XML handler will see all of the xml data up to and including the xmlTag2 close tag. This handler would never see xmlTag1. Here is an example of how this works:
--> Push initial XML handler (Handler1) <xmlTag1> -- Handler1::startElement <xmlTag2> -- Handler1::startElement: calls reader()->pushContentHandler(Handler2) -- Handler2::startElement <xmlTag3> -- Handler2::startElement -- Handler2::endElement </xmlTag2> -- Handler2::endElement -- Handler1::endElement </xmlTag1> -- Handler1::endElement
Isis::XmlStackedHandler::XmlStackedHandler | ( | ) |
Isis::XmlStackedHandler::~XmlStackedHandler | ( | ) |
|
virtual |
References ASSERT, endElement(), Isis::XmlStackedHandlerReader::popContentHandler(), reader(), and Isis::XmlStackedHandlerReader::topContentHandler().
Referenced by endElement().
|
protected |
|
protected |
Referenced by endElement(), and setReader().
|
protected |
|
virtual |
References reader().
Referenced by Isis::XmlStackedHandlerReader::pushContentHandler().
|
virtual |
Referenced by switchToNewHandler().
void Isis::XmlStackedHandler::switchToNewHandler | ( | XmlStackedHandler * | nextHandler | ) |
References startElement().
Referenced by Isis::XmlStackedHandlerReader::pushContentHandler().
U.S. Department of the Interior | U.S. Geological Survey ISIS | Privacy & Disclaimers | Astrogeology Research Program To contact us, please post comments and questions on the ISIS Support Center File Modified: 07/12/2023 23:47:54 |