Protocol++® (Protocolpp®)
v5.6.2
|
#include <tinyxml2.h>
Public Member Functions | |
virtual bool | VisitEnter (const XMLDocument &) |
Visit a document. | |
virtual bool | VisitExit (const XMLDocument &) |
Visit a document. | |
virtual bool | VisitEnter (const XMLElement &, const XMLAttribute *) |
Visit an element. | |
virtual bool | VisitExit (const XMLElement &) |
Visit an element. | |
virtual bool | Visit (const XMLDeclaration &) |
Visit a declaration. | |
virtual bool | Visit (const XMLText &) |
Visit a text node. | |
virtual bool | Visit (const XMLComment &) |
Visit a comment node. | |
virtual bool | Visit (const XMLUnknown &) |
Visit an unknown node. | |
Implements the interface to the "Visitor pattern" (see the Accept() method.) If you call the Accept() method, it requires being passed a XMLVisitor class to handle callbacks. For nodes that contain other nodes (Document, Element) you will get called with a VisitEnter/VisitExit pair. Nodes that are always leafs are simply called with Visit().
If you return 'true' from a Visit method, recursive parsing will continue. If you return false, no children of this node or its siblings will be visited.
All flavors of Visit methods have a default implementation that returns 'true' (continue visiting). You need to only override methods that are interesting to you.
Generally Accept() is called on the XMLDocument, although all nodes support visiting.
You should never change the document from a callback.