wsdlpull svntrunk
Public Types | Public Member Functions | Protected Types | Protected Attributes | Friends | List of all members
XmlNode_t Class Reference

#include <XmlDoc.h>

Public Types

enum  { WS_AMOUNT = 2 , EMPTY_NODE = 1 , NON_EMPTY_NODE = 0 }
 

Public Member Functions

 XmlNode_t (const std::string &p_name="", size_t p_depth=0)
 
 XmlNode_t (const XmlNode_t &p_xmlNode)
 
XmlNode_toperator= (const XmlNode_t &p_xmlNode)
 
virtual ~XmlNode_t ()
 
void clear (void)
 
XmlNode_tgetParent (void) const
 
void setParent (XmlNode_t &p_parent)
 
void setParent (XmlNode_t *p_parent)
 
XmlNode_tgetPrev (void) const
 
void setPrev (XmlNode_t &p_prev)
 
void setPrev (XmlNode_t *p_prev)
 
XmlNode_tgetNext (void) const
 
void setNext (XmlNode_t &p_next)
 
void setNext (XmlNode_t *p_next)
 
const std::string & getName (void) const
 
void setName (const std::string &p_name, bool p_empty=XmlNode_t::EMPTY_NODE)
 
const std::string & getText (void) const
 
void setText (const std::string &p_text)
 
size_t getDepth (void) const
 
void setDepth (size_t p_depth)
 
bool isTextNode (void) const
 
bool isRootNode (void) const
 
XmlNode_taddNode (XmlNode_t *p_xmlNode=NULL)
 
XmlNode_taddNode (const std::string &p_name, bool p_empty)
 
void addAttribute (const std::string &p_name, const std::string &p_value)
 
bool getAttribute (const std::string &p_name, std::string &p_result) const
 
void setEmpty (bool p_empty)
 
bool empty (void) const
 
XmlNode_tgetNode (const std::string &p_name, size_t p_index=0) const
 
void getAllChildren (XmlNode_t::VectorNodePtrs_t &p_children)
 
void findSelfOrChildren (const std::string &p_name, XmlNode_t::VectorNodePtrs_t &p_children, bool p_lazyRelativeMatch=false)
 
void findAny (const std::string &p_name, XmlNode_t::VectorNodePtrs_t &p_children)
 
void findDirectChildren (const std::string &p_name, XmlNode_t::VectorNodePtrs_t &p_children)
 
bool operator== (const XmlNode_t &p_xmlNode) const
 

Protected Types

typedef std::vector< std::pair< std::string, std::string > > VectorAttributes_t
 
typedef std::map< std::string, size_t > MapAttributes_t
 
typedef std::vector< XmlNode_t * > VectorNodePtrs_t
 
typedef std::multimap< std::string, size_t > MultiMapNodes_t
 

Protected Attributes

size_t m_depth
 
bool m_empty
 
std::string m_name
 
std::string m_text
 
VectorAttributes_t m_attributes
 
MapAttributes_t m_mapAttributes
 
XmlNode_tmp_parent
 
XmlNode_tmp_prev
 
XmlNode_tmp_next
 
VectorNodePtrs_t m_nodes
 
MultiMapNodes_t m_mapNodes
 

Friends

std::ostream & operator<< (std::ostream &p_ostream, const XmlNode_t &p_xmlNode)
 

Detailed Description

Definition at line 32 of file XmlDoc.h.

Member Typedef Documentation

◆ VectorAttributes_t

typedef std::vector< std::pair< std::string, std::string> > XmlNode_t::VectorAttributes_t
protected

Definition at line 49 of file XmlDoc.h.

◆ MapAttributes_t

typedef std::map< std::string, size_t> XmlNode_t::MapAttributes_t
protected

Definition at line 50 of file XmlDoc.h.

◆ VectorNodePtrs_t

typedef std::vector< XmlNode_t *> XmlNode_t::VectorNodePtrs_t
protected

Definition at line 55 of file XmlDoc.h.

◆ MultiMapNodes_t

typedef std::multimap< std::string, size_t> XmlNode_t::MultiMapNodes_t
protected

Definition at line 56 of file XmlDoc.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
WS_AMOUNT 
EMPTY_NODE 
NON_EMPTY_NODE 

Definition at line 34 of file XmlDoc.h.

Constructor & Destructor Documentation

◆ XmlNode_t() [1/2]

XmlNode_t::XmlNode_t ( const std::string &  p_name = "",
size_t  p_depth = 0 
)

Definition at line 29 of file XmlDoc.cpp.

References m_depth, m_empty, m_name, mp_next, mp_parent, and mp_prev.

Referenced by addNode(), and operator=().

◆ XmlNode_t() [2/2]

XmlNode_t::XmlNode_t ( const XmlNode_t p_xmlNode)

Definition at line 41 of file XmlDoc.cpp.

◆ ~XmlNode_t()

XmlNode_t::~XmlNode_t ( )
virtual

Definition at line 82 of file XmlDoc.cpp.

Member Function Documentation

◆ operator=()

XmlNode_t & XmlNode_t::operator= ( const XmlNode_t p_xmlNode)

◆ clear()

void XmlNode_t::clear ( void  )

Definition at line 96 of file XmlDoc.cpp.

References m_attributes, m_depth, m_empty, m_mapAttributes, m_mapNodes, m_name, m_text, mp_next, mp_parent, and mp_prev.

Referenced by XmlDoc_t::clear(), and XmlDoc_t::xpath().

◆ getParent()

XmlNode_t & XmlNode_t::getParent ( void  ) const

Definition at line 117 of file XmlDoc.cpp.

References mp_parent.

◆ setParent() [1/2]

void XmlNode_t::setParent ( XmlNode_t p_parent)

Definition at line 123 of file XmlDoc.cpp.

References mp_parent.

Referenced by addNode(), and operator=().

◆ setParent() [2/2]

void XmlNode_t::setParent ( XmlNode_t p_parent)

Definition at line 129 of file XmlDoc.cpp.

References mp_parent.

◆ getPrev()

XmlNode_t & XmlNode_t::getPrev ( void  ) const

Definition at line 135 of file XmlDoc.cpp.

References mp_prev.

◆ setPrev() [1/2]

void XmlNode_t::setPrev ( XmlNode_t p_prev)

Definition at line 141 of file XmlDoc.cpp.

References mp_prev.

Referenced by addNode(), and operator=().

◆ setPrev() [2/2]

void XmlNode_t::setPrev ( XmlNode_t p_prev)

Definition at line 147 of file XmlDoc.cpp.

References mp_prev.

◆ getNext()

XmlNode_t & XmlNode_t::getNext ( void  ) const

Definition at line 153 of file XmlDoc.cpp.

References mp_next.

◆ setNext() [1/2]

void XmlNode_t::setNext ( XmlNode_t p_next)

Definition at line 159 of file XmlDoc.cpp.

References mp_next.

◆ setNext() [2/2]

void XmlNode_t::setNext ( XmlNode_t p_next)

Definition at line 165 of file XmlDoc.cpp.

References mp_next.

◆ getName()

const std::string & XmlNode_t::getName ( void  ) const

Definition at line 171 of file XmlDoc.cpp.

References m_name.

Referenced by addNode(), findDirectChildren(), and XmlDoc_t::xpath().

◆ setName()

void XmlNode_t::setName ( const std::string &  p_name,
bool  p_empty = XmlNode_t::EMPTY_NODE 
)

Definition at line 177 of file XmlDoc.cpp.

References m_empty, and m_name.

Referenced by WsdlPull::WsdlInvoker::buildXmlTree().

◆ getText()

const std::string & XmlNode_t::getText ( void  ) const

Definition at line 184 of file XmlDoc.cpp.

References m_text.

Referenced by XmlDoc_t::xpath().

◆ setText()

void XmlNode_t::setText ( const std::string &  p_text)

Definition at line 269 of file XmlDoc.cpp.

References m_nodes, and m_text.

Referenced by WsdlPull::WsdlInvoker::buildXmlTree().

◆ getDepth()

size_t XmlNode_t::getDepth ( void  ) const

Definition at line 190 of file XmlDoc.cpp.

References m_depth.

◆ setDepth()

void XmlNode_t::setDepth ( size_t  p_depth)

Definition at line 196 of file XmlDoc.cpp.

References m_depth.

Referenced by addNode().

◆ isTextNode()

bool XmlNode_t::isTextNode ( void  ) const

Definition at line 208 of file XmlDoc.cpp.

References m_nodes.

◆ isRootNode()

bool XmlNode_t::isRootNode ( void  ) const

Definition at line 202 of file XmlDoc.cpp.

References mp_parent.

◆ addNode() [1/2]

XmlNode_t & XmlNode_t::addNode ( XmlNode_t p_xmlNode = NULL)

◆ addNode() [2/2]

XmlNode_t & XmlNode_t::addNode ( const std::string &  p_name,
bool  p_empty 
)

Definition at line 214 of file XmlDoc.cpp.

References addNode(), setEmpty(), and XmlNode_t().

◆ addAttribute()

void XmlNode_t::addAttribute ( const std::string &  p_name,
const std::string &  p_value 
)

Definition at line 250 of file XmlDoc.cpp.

References m_attributes, and m_mapAttributes.

Referenced by WsdlPull::WsdlInvoker::buildXmlTree().

◆ getAttribute()

bool XmlNode_t::getAttribute ( const std::string &  p_name,
std::string &  p_result 
) const

Definition at line 258 of file XmlDoc.cpp.

References m_attributes, and m_mapAttributes.

Referenced by XmlDoc_t::xpath().

◆ setEmpty()

void XmlNode_t::setEmpty ( bool  p_empty)

Definition at line 277 of file XmlDoc.cpp.

References m_empty.

Referenced by addNode().

◆ empty()

bool XmlNode_t::empty ( void  ) const

Definition at line 283 of file XmlDoc.cpp.

References m_empty.

Referenced by WsdlPull::WsdlInvoker::buildXmlTree().

◆ getNode()

XmlNode_t * XmlNode_t::getNode ( const std::string &  p_name,
size_t  p_index = 0 
) const

Definition at line 289 of file XmlDoc.cpp.

References m_mapNodes, and m_nodes.

Referenced by XmlDoc_t::xpath().

◆ getAllChildren()

void XmlNode_t::getAllChildren ( XmlNode_t::VectorNodePtrs_t p_children)

Definition at line 317 of file XmlDoc.cpp.

References m_nodes.

Referenced by XmlDoc_t::xpath().

◆ findSelfOrChildren()

void XmlNode_t::findSelfOrChildren ( const std::string &  p_name,
XmlNode_t::VectorNodePtrs_t p_children,
bool  p_lazyRelativeMatch = false 
)

Definition at line 333 of file XmlDoc.cpp.

References m_name, and m_nodes.

Referenced by XmlDoc_t::xpath().

◆ findAny()

void XmlNode_t::findAny ( const std::string &  p_name,
XmlNode_t::VectorNodePtrs_t p_children 
)

Definition at line 352 of file XmlDoc.cpp.

References m_name, and m_nodes.

Referenced by XmlDoc_t::xpath().

◆ findDirectChildren()

void XmlNode_t::findDirectChildren ( const std::string &  p_name,
XmlNode_t::VectorNodePtrs_t p_children 
)

Definition at line 323 of file XmlDoc.cpp.

References getName(), and m_nodes.

Referenced by XmlDoc_t::xpath().

◆ operator==()

bool XmlNode_t::operator== ( const XmlNode_t p_xmlNode) const

Definition at line 365 of file XmlDoc.cpp.

References m_name.

Friends And Related Function Documentation

◆ operator<<

std::ostream & operator<< ( std::ostream &  p_ostream,
const XmlNode_t p_xmlNode 
)
friend

Definition at line 370 of file XmlDoc.cpp.

Member Data Documentation

◆ m_depth

size_t XmlNode_t::m_depth
protected

Definition at line 42 of file XmlDoc.h.

Referenced by addNode(), clear(), getDepth(), operator=(), setDepth(), and XmlNode_t().

◆ m_empty

bool XmlNode_t::m_empty
protected

Definition at line 44 of file XmlDoc.h.

Referenced by clear(), empty(), operator=(), setEmpty(), setName(), and XmlNode_t().

◆ m_name

std::string XmlNode_t::m_name
protected

◆ m_text

std::string XmlNode_t::m_text
protected

Definition at line 47 of file XmlDoc.h.

Referenced by addNode(), clear(), getText(), operator=(), and setText().

◆ m_attributes

VectorAttributes_t XmlNode_t::m_attributes
protected

Definition at line 52 of file XmlDoc.h.

Referenced by addAttribute(), clear(), getAttribute(), and operator=().

◆ m_mapAttributes

MapAttributes_t XmlNode_t::m_mapAttributes
protected

Definition at line 53 of file XmlDoc.h.

Referenced by addAttribute(), clear(), getAttribute(), and operator=().

◆ mp_parent

XmlNode_t* XmlNode_t::mp_parent
protected

Definition at line 58 of file XmlDoc.h.

Referenced by clear(), getParent(), isRootNode(), operator=(), setParent(), and XmlNode_t().

◆ mp_prev

XmlNode_t* XmlNode_t::mp_prev
protected

Definition at line 59 of file XmlDoc.h.

Referenced by clear(), getPrev(), operator=(), setPrev(), and XmlNode_t().

◆ mp_next

XmlNode_t* XmlNode_t::mp_next
protected

Definition at line 60 of file XmlDoc.h.

Referenced by clear(), getNext(), operator=(), setNext(), and XmlNode_t().

◆ m_nodes

VectorNodePtrs_t XmlNode_t::m_nodes
protected

◆ m_mapNodes

MultiMapNodes_t XmlNode_t::m_mapNodes
protected

Definition at line 63 of file XmlDoc.h.

Referenced by addNode(), clear(), getNode(), and operator=().


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