ReactOS  0.4.12-dev-36-g472787f
tinyxml2::XMLVisitor Class Reference

#include <tinyxml2.h>

Inheritance diagram for tinyxml2::XMLVisitor:

Public Member Functions

virtual ~XMLVisitor ()
 
virtual bool VisitEnter (const XMLDocument &)
 Visit a document. More...
 
virtual bool VisitExit (const XMLDocument &)
 Visit a document. More...
 
virtual bool VisitEnter (const XMLElement &, const XMLAttribute *)
 Visit an element. More...
 
virtual bool VisitExit (const XMLElement &)
 Visit an element. More...
 
virtual bool Visit (const XMLDeclaration &)
 Visit a declaration. More...
 
virtual bool Visit (const XMLText &)
 Visit a text node. More...
 
virtual bool Visit (const XMLComment &)
 Visit a comment node. More...
 
virtual bool Visit (const XMLUnknown &)
 Visit an unknown node. More...
 

Detailed Description

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.

See also
XMLNode::Accept()

Definition at line 444 of file tinyxml2.h.

Constructor & Destructor Documentation

◆ ~XMLVisitor()

virtual tinyxml2::XMLVisitor::~XMLVisitor ( )
inlinevirtual

Definition at line 447 of file tinyxml2.h.

447 {}

Member Function Documentation

◆ Visit() [1/4]

virtual bool tinyxml2::XMLVisitor::Visit ( const XMLDeclaration )
inlinevirtual

Visit a declaration.

Reimplemented in tinyxml2::XMLPrinter.

Definition at line 468 of file tinyxml2.h.

Referenced by tinyxml2::XMLText::Accept(), tinyxml2::XMLComment::Accept(), tinyxml2::XMLDeclaration::Accept(), and tinyxml2::XMLUnknown::Accept().

468  {
469  return true;
470  }

◆ Visit() [2/4]

virtual bool tinyxml2::XMLVisitor::Visit ( const XMLText )
inlinevirtual

Visit a text node.

Reimplemented in tinyxml2::XMLPrinter.

Definition at line 472 of file tinyxml2.h.

472  {
473  return true;
474  }

◆ Visit() [3/4]

virtual bool tinyxml2::XMLVisitor::Visit ( const XMLComment )
inlinevirtual

Visit a comment node.

Reimplemented in tinyxml2::XMLPrinter.

Definition at line 476 of file tinyxml2.h.

476  {
477  return true;
478  }

◆ Visit() [4/4]

virtual bool tinyxml2::XMLVisitor::Visit ( const XMLUnknown )
inlinevirtual

Visit an unknown node.

Reimplemented in tinyxml2::XMLPrinter.

Definition at line 480 of file tinyxml2.h.

480  {
481  return true;
482  }

◆ VisitEnter() [1/2]

virtual bool tinyxml2::XMLVisitor::VisitEnter ( const XMLDocument )
inlinevirtual

Visit a document.

Reimplemented in tinyxml2::XMLPrinter.

Definition at line 450 of file tinyxml2.h.

Referenced by tinyxml2::XMLElement::Accept(), and tinyxml2::XMLDocument::Accept().

450  {
451  return true;
452  }

◆ VisitEnter() [2/2]

virtual bool tinyxml2::XMLVisitor::VisitEnter ( const XMLElement ,
const XMLAttribute  
)
inlinevirtual

Visit an element.

Reimplemented in tinyxml2::XMLPrinter.

Definition at line 459 of file tinyxml2.h.

459  {
460  return true;
461  }

◆ VisitExit() [1/2]

virtual bool tinyxml2::XMLVisitor::VisitExit ( const XMLDocument )
inlinevirtual

Visit a document.

Reimplemented in tinyxml2::XMLPrinter.

Definition at line 454 of file tinyxml2.h.

Referenced by tinyxml2::XMLElement::Accept(), and tinyxml2::XMLDocument::Accept().

454  {
455  return true;
456  }

◆ VisitExit() [2/2]

virtual bool tinyxml2::XMLVisitor::VisitExit ( const XMLElement )
inlinevirtual

Visit an element.

Reimplemented in tinyxml2::XMLPrinter.

Definition at line 463 of file tinyxml2.h.

463  {
464  return true;
465  }

The documentation for this class was generated from the following file: