Gray C++ Libraries  0.0.2
A set of C++ libraries for MSVC, GNU on Windows, WinCE, Linux
GrayLib::IXmlVisitor Struct Reference

#include <cXmlVisitor.h>

Inheritance diagram for GrayLib::IXmlVisitor:
GrayLib::cXmlWriterV

Public Member Functions

virtual ~IXmlVisitor ()
 
virtual bool VisitEnter (const cXmlDocument &)
 Visit a document. More...
 
virtual bool VisitExit (const cXmlDocument &)
 Visit a document. More...
 
virtual bool VisitEnter (const cXmlElement &)
 Visit an element. More...
 
virtual bool VisitExit (const cXmlElement &)
 Visit an element. More...
 
virtual bool Visit (const cXmlDeclaration &)
 Visit a declaration. More...
 
virtual bool Visit (const cXmlText &)
 Visit a text node. More...
 
virtual bool Visit (const cXmlComment &)
 Visit a comment node. More...
 
virtual bool Visit (const cXmlUnknown &)
 Visit an unknown node. More...
 

Detailed Description

A Write/Print Visitor for cXmlDocument. Different from cXmlReadVisitor. Allow traversing the stored document and all children in a Visitor pattern.

If you call the OnVisit() method, it requires being passed a IXmlVisitor 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 leaves are simple called with Visit().

    If you return 'true' from a Visit method, recursive parsing will continue. If you return
    false, <b>no children of this node or its siblings</b> 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 OnVisit() is called on the cXmlDocument, although all nodes support Visiting.

    You should never change the document from these callbacks.
@sa cXmlNode::OnVisit() 

Constructor & Destructor Documentation

◆ ~IXmlVisitor()

virtual GrayLib::IXmlVisitor::~IXmlVisitor ( )
inlinevirtual

Member Function Documentation

◆ Visit() [1/4]

virtual bool GrayLib::IXmlVisitor::Visit ( const cXmlComment )
inlinevirtual

Visit a comment node.

Reimplemented in GrayLib::cXmlWriterV.

◆ Visit() [2/4]

virtual bool GrayLib::IXmlVisitor::Visit ( const cXmlDeclaration )
inlinevirtual

Visit a declaration.

Reimplemented in GrayLib::cXmlWriterV.

◆ Visit() [3/4]

virtual bool GrayLib::IXmlVisitor::Visit ( const cXmlText )
inlinevirtual

Visit a text node.

Reimplemented in GrayLib::cXmlWriterV.

◆ Visit() [4/4]

virtual bool GrayLib::IXmlVisitor::Visit ( const cXmlUnknown )
inlinevirtual

Visit an unknown node.

Reimplemented in GrayLib::cXmlWriterV.

◆ VisitEnter() [1/2]

virtual bool GrayLib::IXmlVisitor::VisitEnter ( const cXmlDocument )
inlinevirtual

Visit a document.

Reimplemented in GrayLib::cXmlWriterV.

◆ VisitEnter() [2/2]

virtual bool GrayLib::IXmlVisitor::VisitEnter ( const cXmlElement )
inlinevirtual

Visit an element.

Reimplemented in GrayLib::cXmlWriterV.

◆ VisitExit() [1/2]

virtual bool GrayLib::IXmlVisitor::VisitExit ( const cXmlDocument )
inlinevirtual

Visit a document.

Reimplemented in GrayLib::cXmlWriterV.

◆ VisitExit() [2/2]

virtual bool GrayLib::IXmlVisitor::VisitExit ( const cXmlElement )
inlinevirtual

Visit an element.

Reimplemented in GrayLib::cXmlWriterV.


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