XMLNode Struct Reference

#include <xmlParser.h>

Collaboration diagram for XMLNode:

Collaboration graph
[legend]
List of all members.

Public Member Functions

LPCTSTR getName ()
LPCTSTR getText (int i=0)
int nText ()
XMLNode getChildNode (int i=0)
XMLNode getChildNode (LPCTSTR name, int i)
XMLNode getChildNode (LPCTSTR name, int *i=NULL)
int nChildNode (LPCTSTR name)
int nChildNode ()
XMLAttribute getAttribute (int i=0)
char isAttributeSet (LPCTSTR name)
LPCTSTR getAttribute (LPCTSTR name, int i)
LPCTSTR getAttribute (LPCTSTR name, int *i=NULL)
int nAttribute ()
XMLClear getClear (int i=0)
int nClear ()
LPTSTR createXMLString (int nFormat, int *pnSize=NULL)
XMLNodeContents enumContents (int i)
int nElement ()
char isEmpty ()
char isDeclaration ()
 ~XMLNode ()
 XMLNode (const XMLNode &A)
XMLNode & operator= (const XMLNode &A)
 XMLNode ()
XMLNode addChild (LPCTSTR lpszName, int isDeclaration=FALSE)
void setName (LPCTSTR lpszName)
XMLAttribute * addAttribute (LPCTSTR lpszName, LPCTSTR lpszValuev)
LPCTSTR addText (LPCTSTR lpszValue)
XMLClear * addClear (LPCTSTR lpszValue, LPCTSTR lpszOpen, LPCTSTR lpszClose)
XMLNode addChild (XMLNode nodeToAdd)
void deleteNodeContent ()
void deleteAttribute (int i=0)
void deleteAttribute (XMLAttribute *anAttribute)
void deleteAttribute (LPCTSTR lpszName)
void deleteAttributeRelaxed (LPCTSTR lpszName)
void deleteText (int i=0)
void deleteText (LPCTSTR lpszValue)
void deleteClear (int i=0)
void deleteClear (XMLClear *p)
void deleteClear (LPCTSTR lpszValue)

Static Public Member Functions

static XMLNode parseString (LPCTSTR lpszXML, LPCTSTR tag=NULL, XMLResults *pResults=NULL)
static XMLNode parseFile (const char *lpszXML, LPCTSTR tag=NULL, XMLResults *pResults=NULL)
static XMLNode openFileHelper (const char *lpszXML, LPCTSTR tag)
static LPCTSTR getError (XMLError error)
static XMLNode createXMLTopNode ()

Static Public Attributes

static XMLNode emptyXMLNode
static XMLClear emptyXMLClear = { NULL, NULL, NULL}
static XMLAttribute emptyXMLAttribute = { NULL, NULL}

Protected Types

typedef XMLNode::XMLNodeDataTag XMLNodeData

Protected Member Functions

 XMLNode (XMLNodeData *pParent, LPCTSTR lpszName, int isDeclaration)

Protected Attributes

XMLNodeData * d

Private Member Functions

int ParseClearTag (void *pXML, void *pClear)
int ParseXMLElement (void *pXML)
void addToOrder (int index, int type)

Static Private Member Functions

static void destroyCurrentBuffer (XMLNodeData *d)
static int CreateXMLStringR (XMLNodeData *pEntry, LPTSTR lpszMarker, int nFormat)
static void * enumContent (XMLNodeData *pEntry, int i, XMLElementType *nodeType)
static int nElement (XMLNodeData *pEntry)
static void removeOrderElement (XMLNodeData *d, XMLElementType t, int index)
static void exactMemory (XMLNodeData *d)
static void detachFromParent (XMLNodeData *d)

Classes

struct  XMLNodeDataTag

Member Typedef Documentation

typedef struct XMLNode::XMLNodeDataTag XMLNode::XMLNodeData [protected]
 


Constructor & Destructor Documentation

XMLNode::XMLNode (  XMLNodeData *  pParent,
LPCTSTR  lpszName,
int  isDeclaration
)  [protected]
 

XMLNode::~XMLNode (   ) 
 

XMLNode::XMLNode (  const XMLNode &  A  ) 
 

XMLNode::XMLNode (   )  [inline]
 


Member Function Documentation

XMLAttribute * XMLNode::addAttribute (  LPCTSTR  lpszName,
LPCTSTR  lpszValuev
) 
 

XMLNode XMLNode::addChild (  XMLNode  nodeToAdd  ) 
 

XMLNode XMLNode::addChild (  LPCTSTR  lpszName,
int  isDeclaration = FALSE
) 
 

XMLClear * XMLNode::addClear (  LPCTSTR  lpszValue,
LPCTSTR  lpszOpen,
LPCTSTR  lpszClose
) 
 

LPCTSTR XMLNode::addText (  LPCTSTR  lpszValue  ) 
 

void XMLNode::addToOrder (  int  index,
int  type
)  [private]
 

LPTSTR XMLNode::createXMLString (  int  nFormat,
int *  pnSize = NULL
) 
 

int XMLNode::CreateXMLStringR (  XMLNodeData *  pEntry,
LPTSTR  lpszMarker,
int  nFormat
)  [static, private]
 

XMLNode XMLNode::createXMLTopNode (   )  [static]
 

void XMLNode::deleteAttribute (  LPCTSTR  lpszName  ) 
 

void XMLNode::deleteAttribute (  XMLAttribute *  anAttribute  ) 
 

void XMLNode::deleteAttribute (  int  i = 0  ) 
 

void XMLNode::deleteAttributeRelaxed (  LPCTSTR  lpszName  ) 
 

void XMLNode::deleteClear (  LPCTSTR  lpszValue  ) 
 

void XMLNode::deleteClear (  XMLClear *  p  ) 
 

void XMLNode::deleteClear (  int  i = 0  ) 
 

void XMLNode::deleteNodeContent (   ) 
 

void XMLNode::deleteText (  LPCTSTR  lpszValue  ) 
 

void XMLNode::deleteText (  int  i = 0  ) 
 

void XMLNode::destroyCurrentBuffer (  XMLNodeData *  d  )  [static, private]
 

void XMLNode::detachFromParent (  XMLNodeData *  d  )  [static, private]
 

void * XMLNode::enumContent (  XMLNodeData *  pEntry,
int  i,
XMLElementType *  nodeType
)  [static, private]
 

XMLNodeContents XMLNode::enumContents (  int  i  ) 
 

void XMLNode::exactMemory (  XMLNodeData *  d  )  [static, private]
 

LPCTSTR XMLNode::getAttribute (  LPCTSTR  name,
int *  i = NULL
) 
 

LPCTSTR XMLNode::getAttribute (  LPCTSTR  name,
int  i
) 
 

XMLAttribute XMLNode::getAttribute (  int  i = 0  ) 
 

XMLNode XMLNode::getChildNode (  LPCTSTR  name,
int *  i = NULL
) 
 

XMLNode XMLNode::getChildNode (  LPCTSTR  name,
int  i
) 
 

XMLNode XMLNode::getChildNode (  int  i = 0  ) 
 

XMLClear XMLNode::getClear (  int  i = 0  ) 
 

LPCTSTR XMLNode::getError (  XMLError  error  )  [static]
 

LPCTSTR XMLNode::getName (   ) 
 

LPCTSTR XMLNode::getText (  int  i = 0  ) 
 

char XMLNode::isAttributeSet (  LPCTSTR  name  ) 
 

char XMLNode::isDeclaration (   ) 
 

char XMLNode::isEmpty (   ) 
 

int XMLNode::nAttribute (   ) 
 

int XMLNode::nChildNode (   ) 
 

int XMLNode::nChildNode (  LPCTSTR  name  ) 
 

int XMLNode::nClear (   ) 
 

int XMLNode::nElement (  XMLNodeData *  pEntry  )  [static, private]
 

int XMLNode::nElement (   ) 
 

int XMLNode::nText (   ) 
 

XMLNode XMLNode::openFileHelper (  const char *  lpszXML,
LPCTSTR  tag
)  [static]
 

XMLNode & XMLNode::operator= (  const XMLNode &  A  ) 
 

int XMLNode::ParseClearTag (  void *  pXML,
void *  pClear
)  [private]
 

XMLNode XMLNode::parseFile (  const char *  lpszXML,
LPCTSTR  tag = NULL,
XMLResults *  pResults = NULL
)  [static]
 

XMLNode XMLNode::parseString (  LPCTSTR  lpszXML,
LPCTSTR  tag = NULL,
XMLResults *  pResults = NULL
)  [static]
 

int XMLNode::ParseXMLElement (  void *  pXML  )  [private]
 

void XMLNode::removeOrderElement (  XMLNodeData *  d,
XMLElementType  t,
int  index
)  [static, private]
 

void XMLNode::setName (  LPCTSTR  lpszName  ) 
 


Member Data Documentation

XMLNodeData* XMLNode::d [protected]
 

XMLAttribute XMLNode::emptyXMLAttribute = { NULL, NULL} [static]
 

XMLClear XMLNode::emptyXMLClear = { NULL, NULL, NULL} [static]
 

XMLNode XMLNode::emptyXMLNode [static]
 

XML.c - implementation file for basic XML parser written in ANSI C++ for portability. It works by using recursion and a node tree for breaking down the elements of an XML document.

Version:
V1.18
Author:
Frank Vanden Berghen
BSD license: Copyright (c) 2002, Frank Vanden Berghen All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

* Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * Neither the name of the Frank Vanden Berghen nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS AND CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.


The documentation for this struct was generated from the following files:
Generated on Sat Jul 1 15:34:20 2006 for B10.CPP by  doxygen 1.4.6