\hypertarget{votParseP_8h}{
\section{votParseP.h File Reference}
\label{votParseP_8h}\index{votParseP.h@{votParseP.h}}
}
Internal LIBVOTABLE definitions.  


{\tt \#include $<$expat.h$>$}\par
\subsection*{Data Structures}
\begin{CompactItemize}
\item 
struct \hyperlink{structAttrList}{AttrList}
\begin{CompactList}\small\item\em Information for an attribute. \item\end{CompactList}\item 
struct \hyperlink{structAttrBlock}{AttrBlock}
\begin{CompactList}\small\item\em Information for a block of attributes. \item\end{CompactList}\item 
struct \textbf{elem\_\-t}
\item 
struct \textbf{node}
\item 
struct \hyperlink{structStack}{Stack}
\begin{CompactList}\small\item\em This is a structure that holds the information for a stack. \item\end{CompactList}\end{CompactItemize}
\subsection*{Defines}
\begin{CompactItemize}
\item 
\hypertarget{votParseP_8h_93b643eeb3f51dd594dd32dab154bd20}{
\#define \textbf{VOT\_\-DOC\_\-VERSION}~\char`\"{}1.2\char`\"{}}
\label{votParseP_8h_93b643eeb3f51dd594dd32dab154bd20}

\item 
\hypertarget{votParseP_8h_a48629a668bfc21febfe4aa371c69672}{
\#define \textbf{VOT\_\-XSI}~\char`\"{}http://www.w3.org/2001/XMLSchema-instance\char`\"{}}
\label{votParseP_8h_a48629a668bfc21febfe4aa371c69672}

\item 
\hypertarget{votParseP_8h_20d9c55a9212a3de1fff48aa199d5720}{
\#define \textbf{VOT\_\-SCHEMA\_\-LOC}~\char`\"{}http://www.ivoa.net/xml/VOTable/v1.1  http://www.ivoa.net/xml/VOTable/v1.1\char`\"{}}
\label{votParseP_8h_20d9c55a9212a3de1fff48aa199d5720}

\item 
\hypertarget{votParseP_8h_6ea373a6e0c4f42058ab1c14d81a5a7d}{
\#define \textbf{VOT\_\-XMLNS}~\char`\"{}http://www.ivoa.net/xml/VOTable/v1.1\char`\"{}}
\label{votParseP_8h_6ea373a6e0c4f42058ab1c14d81a5a7d}

\item 
\hypertarget{votParseP_8h_9aed3a964b10f1c101be4aa024a28b65}{
\#define \textbf{SZ\_\-ATTRNAME}~32}
\label{votParseP_8h_9aed3a964b10f1c101be4aa024a28b65}

\item 
\hypertarget{votParseP_8h_338283392c86633c614eec7e28df2ee1}{
\#define \textbf{SZ\_\-ATTRVAL}~2048}
\label{votParseP_8h_338283392c86633c614eec7e28df2ee1}

\item 
\hypertarget{votParseP_8h_0eb1d3a89b93c111785ef003b0b2cba8}{
\#define \textbf{SZ\_\-FNAME}~255}
\label{votParseP_8h_0eb1d3a89b93c111785ef003b0b2cba8}

\item 
\hypertarget{votParseP_8h_dd63f1bab1fc0ce36a85c6333d9fea1d}{
\#define \textbf{SZ\_\-XMLTAG}~1024}
\label{votParseP_8h_dd63f1bab1fc0ce36a85c6333d9fea1d}

\item 
\hypertarget{votParseP_8h_32108415ff44b6f7537b9516f4a84be7}{
\#define \textbf{SZ\_\-LINE}~4096}
\label{votParseP_8h_32108415ff44b6f7537b9516f4a84be7}

\item 
\hypertarget{votParseP_8h_a2386e8d15f3745d278abcd17e5929d5}{
\#define \textbf{MAX\_\-ATTR}~100}
\label{votParseP_8h_a2386e8d15f3745d278abcd17e5929d5}

\item 
\hypertarget{votParseP_8h_6864c97be5f9c0d463c051efd2f6905b}{
\#define \textbf{HANDLE\_\-INCREMENT}~1024000}
\label{votParseP_8h_6864c97be5f9c0d463c051efd2f6905b}

\item 
\hypertarget{votParseP_8h_c6afabdc09a49a433ee19d8a9486056d}{
\#define \textbf{min}(a, b)~((a$<$b)?a:b)}
\label{votParseP_8h_c6afabdc09a49a433ee19d8a9486056d}

\item 
\hypertarget{votParseP_8h_ffe776513b24d84b39af8ab0930fef7f}{
\#define \textbf{max}(a, b)~((a$>$b)?a:b)}
\label{votParseP_8h_ffe776513b24d84b39af8ab0930fef7f}

\item 
\hypertarget{votParseP_8h_3b0e3f6e2463bfe3ab40dd8377272fb6}{
\#define \hyperlink{votParseP_8h_3b0e3f6e2463bfe3ab40dd8377272fb6}{handle\_\-t}~int}
\label{votParseP_8h_3b0e3f6e2463bfe3ab40dd8377272fb6}

\begin{CompactList}\small\item\em Handle type definition. \item\end{CompactList}\end{CompactItemize}
\subsection*{Typedefs}
\begin{CompactItemize}
\item 
\hypertarget{votParseP_8h_afa552abcce44ab0a84df10bc7c07a49}{
typedef struct elem\_\-t \textbf{Element}}
\label{votParseP_8h_afa552abcce44ab0a84df10bc7c07a49}

\item 
\hypertarget{votParseP_8h_ba087cc5af103c72c4e5864cc5622196}{
typedef struct node \textbf{Node}}
\label{votParseP_8h_ba087cc5af103c72c4e5864cc5622196}

\end{CompactItemize}
\subsection*{Functions}
\begin{CompactItemize}
\item 
int \hyperlink{votParseP_8h_0185a924192bc608ea06cf6bc74cf01d}{vot\_\-attrSet} (\hyperlink{structAttrBlock}{AttrBlock} $\ast$ablock, char $\ast$\hyperlink{votElement_8c_5ac083a645d964373f022d03df4849c8}{name}, char $\ast$value)
\begin{CompactList}\small\item\em Set/Create an attributes (private method). \item\end{CompactList}\item 
char $\ast$ \hyperlink{votParseP_8h_dd32ec5a691457266c3b68b80456c830}{vot\_\-attrGet} (\hyperlink{structAttrBlock}{AttrBlock} $\ast$ablock, char $\ast$\hyperlink{votElement_8c_5ac083a645d964373f022d03df4849c8}{name})
\begin{CompactList}\small\item\em Get an attribute's value (private method). \item\end{CompactList}\item 
char $\ast$ \hyperlink{votParseP_8h_b200705cac89b367783e737f6be3af88}{vot\_\-attrXML} (\hyperlink{structAttrBlock}{AttrBlock} $\ast$ablock)
\begin{CompactList}\small\item\em Get the attributes for an XML tag (private method). \item\end{CompactList}\item 
int \hyperlink{votParseP_8h_c247ed61c78db54860fbbf80385f3088}{vot\_\-eType} (char $\ast$\hyperlink{votElement_8c_5ac083a645d964373f022d03df4849c8}{name})
\begin{CompactList}\small\item\em Get the integer value (ID) of the name (private method). \item\end{CompactList}\item 
char $\ast$ \hyperlink{votParseP_8h_c32b7c38a634b7f817d69d3720675c81}{vot\_\-elemName} (\hyperlink{structElement}{Element} $\ast$e)
\begin{CompactList}\small\item\em Get the name of the \hyperlink{structElement}{Element} (private method). \item\end{CompactList}\item 
int \hyperlink{votParseP_8h_c40e3a809b3865bd6d15bf368778e28e}{vot\_\-elemType} (\hyperlink{structElement}{Element} $\ast$e)
\begin{CompactList}\small\item\em Get the integer value (ID) of the \hyperlink{structElement}{Element} (private method). \item\end{CompactList}\item 
char $\ast$ \hyperlink{votParseP_8h_5e6c398db76881727201f7504dc65444}{vot\_\-elemXML} (\hyperlink{structElement}{Element} $\ast$e)
\begin{CompactList}\small\item\em Builds a string of the opening XML Tag (private method). \item\end{CompactList}\item 
char $\ast$ \hyperlink{votParseP_8h_b07e2996f66828be5e799651835ff2bf}{vot\_\-elemXMLEnd} (\hyperlink{structElement}{Element} $\ast$e)
\begin{CompactList}\small\item\em Build a string of the ending XML Tag (private method). \item\end{CompactList}\item 
\hyperlink{structElement}{Element} $\ast$ \hyperlink{votParseP_8h_9fb13a49fb2b20b98b58a042a648d2d1}{vot\_\-newElem} (unsigned int type)
\begin{CompactList}\small\item\em Allocate a new structure of the given type (private method). \item\end{CompactList}\item 
handle\_\-t \hyperlink{votParseP_8h_1832eb6023a34c8e9d00d22c57276c6c}{vot\_\-setHandle} (\hyperlink{structElement}{Element} $\ast$elem)
\begin{CompactList}\small\item\em Assign the \hyperlink{structElement}{Element} a handle\_\-t (private method). \item\end{CompactList}\item 
handle\_\-t \hyperlink{votParseP_8h_c29f604e3783afc6becd10d9f93ef600}{vot\_\-lookupHandle} (\hyperlink{structElement}{Element} $\ast$elem)
\begin{CompactList}\small\item\em Lookup the handle\_\-t to an \hyperlink{structElement}{Element} (private method). \item\end{CompactList}\item 
void \hyperlink{votParseP_8h_fa12a965b51cf8d933decb350281ab52}{vot\_\-freeHandle} (handle\_\-t handle)
\begin{CompactList}\small\item\em Free a handle for use (private method). \item\end{CompactList}\item 
\hyperlink{structElement}{Element} $\ast$ \hyperlink{votParseP_8h_79eb418bc2410d1ce82024398f1bef17}{vot\_\-getElement} (handle\_\-t handle)
\begin{CompactList}\small\item\em Get the \hyperlink{structElement}{Element} refered to by handle\_\-t (private method). \item\end{CompactList}\item 
void \hyperlink{votParseP_8h_93e99ff82cfdb44a6f7fc9097e9fe02a}{vot\_\-newHandleTable} (void)
\begin{CompactList}\small\item\em Initialize a handle table (private method). \item\end{CompactList}\item 
int \hyperlink{votParseP_8h_b1b3d4aa9a83dcba308b0238dfa14b39}{vot\_\-handleCount} (void)
\begin{CompactList}\small\item\em Get the number of handle\_\-t used (private method). \item\end{CompactList}\item 
void \hyperlink{votParseP_8h_1b51992af0738bbbf6a101bbb12b2d17}{vot\_\-handleCleanup} (void)
\begin{CompactList}\small\item\em Free all the handle nodes (private method). \item\end{CompactList}\item 
void \hyperlink{votParseP_8h_5a1159c578699fad254c4bae86a1439d}{vot\_\-handleError} (char $\ast$msg)
\begin{CompactList}\small\item\em Print an error message. \item\end{CompactList}\item 
void \hyperlink{votParseP_8h_85f03122a0f8cb6c5ee63e41e2157111}{vot\_\-endElement} (void $\ast$userData, const char $\ast$\hyperlink{votElement_8c_5ac083a645d964373f022d03df4849c8}{name})
\begin{CompactList}\small\item\em CB whenever an end tag is seen (private method). \item\end{CompactList}\item 
void \hyperlink{votParseP_8h_50e82d05d9fa1bb2a4131c5643e10a3e}{vot\_\-startElement} (void $\ast$userData, const char $\ast$\hyperlink{votElement_8c_5ac083a645d964373f022d03df4849c8}{name}, const char $\ast$$\ast$atts)
\begin{CompactList}\small\item\em CB whenever a start tag is seen (private method). \item\end{CompactList}\item 
void \hyperlink{votParseP_8h_e218f30d910b83be36110493ba8ad145}{vot\_\-charData} (void $\ast$userData, const XML\_\-Char $\ast$s, int len)
\begin{CompactList}\small\item\em Handle non-element character strings (private method). \item\end{CompactList}\item 
void \hyperlink{votParseP_8h_87325eb4c0a86db05f60cb8e6b0cd422}{vot\_\-startCData} (void $\ast$userData)
\begin{CompactList}\small\item\em Handle the start of CDATA strings (private method). \item\end{CompactList}\item 
void \hyperlink{votParseP_8h_0d6663658ea1acdfa4b6a9012cb05d3c}{vot\_\-endCData} (void $\ast$userData)
\begin{CompactList}\small\item\em Handle the end of CDATA strings (private method). \item\end{CompactList}\item 
void \hyperlink{votParseP_8h_a3251a683eae285cccc688daf2d87dae}{votPush} (\hyperlink{structStack}{Stack} $\ast$st, \hyperlink{structElement}{Element} $\ast$elem)
\begin{CompactList}\small\item\em Push a \hyperlink{structNode}{Node} to the top of the stack (private method). \item\end{CompactList}\item 
\hyperlink{structElement}{Element} $\ast$ \hyperlink{votParseP_8h_f5e05232387d525ab141206095a5980d}{votPop} (\hyperlink{structStack}{Stack} $\ast$st)
\begin{CompactList}\small\item\em Return a \hyperlink{structNode}{Node} from the top of the stack (private method). \item\end{CompactList}\item 
\hyperlink{structElement}{Element} $\ast$ \hyperlink{votParseP_8h_6e987eaeb90a1fa27b600386ca749bd6}{votPeek} (\hyperlink{structStack}{Stack} $\ast$st)
\begin{CompactList}\small\item\em Peek at \hyperlink{structElement}{Element} on top of the \hyperlink{structStack}{Stack} (private method). \item\end{CompactList}\item 
\hyperlink{structStack}{Stack} $\ast$ \hyperlink{votParseP_8h_97706e275290da18b8d8a94ab319db94}{vot\_\-newStack} (void)
\begin{CompactList}\small\item\em Makes a new stack (private method). \item\end{CompactList}\item 
int \hyperlink{votParseP_8h_11691bde61e5b2bbdea3649eb69d8253}{vot\_\-isEmpty} (\hyperlink{structStack}{Stack} $\ast$st)
\begin{CompactList}\small\item\em Checks to see if the stack is empty (private method). \item\end{CompactList}\item 
void \hyperlink{votParseP_8h_b59d04018e68e36a1db5cff42740a809}{vot\_\-clearStack} (\hyperlink{structStack}{Stack} $\ast$st)
\begin{CompactList}\small\item\em Clear the stack (private method). \item\end{CompactList}\item 
void \hyperlink{votParseP_8h_8eda4c629b19d8dec39ea86177dc18bd}{vot\_\-printStack} (\hyperlink{structStack}{Stack} $\ast$st)
\begin{CompactList}\small\item\em Print the name of all the stack elements (private method). \item\end{CompactList}\end{CompactItemize}


\label{_details}
\hypertarget{_details}{}
\subsection{Detailed Description}
Internal LIBVOTABLE definitions. 

VOTPARSEP.H -- Internal LIBVOTABLE definitions.

\begin{Desc}
\item[Author:]Mike Fitzpatrick and Eric Timmermann \end{Desc}
\begin{Desc}
\item[Date:]8/03/09 \end{Desc}


\subsection{Function Documentation}
\hypertarget{votParseP_8h_dd32ec5a691457266c3b68b80456c830}{
\index{votParseP.h@{votParseP.h}!vot\_\-attrGet@{vot\_\-attrGet}}
\index{vot\_\-attrGet@{vot\_\-attrGet}!votParseP.h@{votParseP.h}}
\subsubsection[{vot\_\-attrGet}]{\setlength{\rightskip}{0pt plus 5cm}char$\ast$ vot\_\-attrGet ({\bf AttrBlock} $\ast$ {\em ablock}, \/  char $\ast$ {\em name})}}
\label{votParseP_8h_dd32ec5a691457266c3b68b80456c830}


Get an attribute's value (private method). 

vot\_\-attrGet -- Get an attribute's value (private method).

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em $\ast$ablock}]An \hyperlink{structAttrBlock}{AttrBlock} to insert these attributes \item[{\em $\ast$name}]A string that hold the name of an attribute \end{description}
\end{Desc}
\begin{Desc}
\item[Returns:]Value of the attribute or NULL \end{Desc}
\hypertarget{votParseP_8h_0185a924192bc608ea06cf6bc74cf01d}{
\index{votParseP.h@{votParseP.h}!vot\_\-attrSet@{vot\_\-attrSet}}
\index{vot\_\-attrSet@{vot\_\-attrSet}!votParseP.h@{votParseP.h}}
\subsubsection[{vot\_\-attrSet}]{\setlength{\rightskip}{0pt plus 5cm}int vot\_\-attrSet ({\bf AttrBlock} $\ast$ {\em ablock}, \/  char $\ast$ {\em name}, \/  char $\ast$ {\em value})}}
\label{votParseP_8h_0185a924192bc608ea06cf6bc74cf01d}


Set/Create an attributes (private method). 

$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$$\ast$

Public Internal Methods. The procedures are used to implement the library, however are not part of the public interface.

vot\_\-attrSet -- Set/Create an attributes (private method).

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em ablock}]An \hyperlink{structAttrBlock}{AttrBlock} to insert these attributes. \item[{\em name}]A string that hold the name of an attribute. \item[{\em value}]A string that hold the value of an attribute. \end{description}
\end{Desc}
\begin{Desc}
\item[Returns:]The status of the request. 1 Success, 0=FAIL.\end{Desc}
\begin{Desc}
\item[Warning:]If an attribute has no name/value, this will not create it. \end{Desc}
\hypertarget{votParseP_8h_b200705cac89b367783e737f6be3af88}{
\index{votParseP.h@{votParseP.h}!vot\_\-attrXML@{vot\_\-attrXML}}
\index{vot\_\-attrXML@{vot\_\-attrXML}!votParseP.h@{votParseP.h}}
\subsubsection[{vot\_\-attrXML}]{\setlength{\rightskip}{0pt plus 5cm}char$\ast$ vot\_\-attrXML ({\bf AttrBlock} $\ast$ {\em ablock})}}
\label{votParseP_8h_b200705cac89b367783e737f6be3af88}


Get the attributes for an XML tag (private method). 

vot\_\-attrXML -- Get the attributes for an XML tag (private method).

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em $\ast$ablock}]An \hyperlink{structAttrBlock}{AttrBlock} to insert these attributes \end{description}
\end{Desc}
\begin{Desc}
\item[Returns:]A string containing the attributes for an XML tag \end{Desc}
\hypertarget{votParseP_8h_e218f30d910b83be36110493ba8ad145}{
\index{votParseP.h@{votParseP.h}!vot\_\-charData@{vot\_\-charData}}
\index{vot\_\-charData@{vot\_\-charData}!votParseP.h@{votParseP.h}}
\subsubsection[{vot\_\-charData}]{\setlength{\rightskip}{0pt plus 5cm}void vot\_\-charData (void $\ast$ {\em user}, \/  const XML\_\-Char $\ast$ {\em s}, \/  int {\em len})}}
\label{votParseP_8h_e218f30d910b83be36110493ba8ad145}


Handle non-element character strings (private method). 

vot\_\-charData -- Handle non-element character strings (private method)

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em user}]User data (not used) \item[{\em s}]content string \item[{\em len}]length of string \end{description}
\end{Desc}
\begin{Desc}
\item[Returns:]nothing \end{Desc}
\hypertarget{votParseP_8h_b59d04018e68e36a1db5cff42740a809}{
\index{votParseP.h@{votParseP.h}!vot\_\-clearStack@{vot\_\-clearStack}}
\index{vot\_\-clearStack@{vot\_\-clearStack}!votParseP.h@{votParseP.h}}
\subsubsection[{vot\_\-clearStack}]{\setlength{\rightskip}{0pt plus 5cm}vot\_\-clearStack ({\bf Stack} $\ast$ {\em st})}}
\label{votParseP_8h_b59d04018e68e36a1db5cff42740a809}


Clear the stack (private method). 

vot\_\-clearStack -- Clear the stack (private method)

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em st}]A pointer to a \hyperlink{structStack}{Stack} \end{description}
\end{Desc}
\begin{Desc}
\item[Returns:]nothing \end{Desc}
\hypertarget{votParseP_8h_c32b7c38a634b7f817d69d3720675c81}{
\index{votParseP.h@{votParseP.h}!vot\_\-elemName@{vot\_\-elemName}}
\index{vot\_\-elemName@{vot\_\-elemName}!votParseP.h@{votParseP.h}}
\subsubsection[{vot\_\-elemName}]{\setlength{\rightskip}{0pt plus 5cm}char$\ast$ vot\_\-elemName ({\bf Element} $\ast$ {\em e})}}
\label{votParseP_8h_c32b7c38a634b7f817d69d3720675c81}


Get the name of the \hyperlink{structElement}{Element} (private method). 

vot\_\-elemName -- Get the name of the \hyperlink{structElement}{Element} (private method).

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em $\ast$e}]A pointer to the \hyperlink{structElement}{Element} that you want the name of \end{description}
\end{Desc}
\begin{Desc}
\item[Returns:]A string pointer to the name of the element \end{Desc}
\hypertarget{votParseP_8h_c40e3a809b3865bd6d15bf368778e28e}{
\index{votParseP.h@{votParseP.h}!vot\_\-elemType@{vot\_\-elemType}}
\index{vot\_\-elemType@{vot\_\-elemType}!votParseP.h@{votParseP.h}}
\subsubsection[{vot\_\-elemType}]{\setlength{\rightskip}{0pt plus 5cm}int vot\_\-elemType ({\bf Element} $\ast$ {\em e})}}
\label{votParseP_8h_c40e3a809b3865bd6d15bf368778e28e}


Get the integer value (ID) of the \hyperlink{structElement}{Element} (private method). 

vot\_\-elemType -- Get the integer value (ID) of the \hyperlink{structElement}{Element} (private method)

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em e}]A pointer to the \hyperlink{structElement}{Element} that you want the type of \end{description}
\end{Desc}
\begin{Desc}
\item[Returns:]An integer corresponding to the type of the element \end{Desc}
\hypertarget{votParseP_8h_5e6c398db76881727201f7504dc65444}{
\index{votParseP.h@{votParseP.h}!vot\_\-elemXML@{vot\_\-elemXML}}
\index{vot\_\-elemXML@{vot\_\-elemXML}!votParseP.h@{votParseP.h}}
\subsubsection[{vot\_\-elemXML}]{\setlength{\rightskip}{0pt plus 5cm}char$\ast$ vot\_\-elemXML ({\bf Element} $\ast$ {\em e})}}
\label{votParseP_8h_5e6c398db76881727201f7504dc65444}


Builds a string of the opening XML Tag (private method). 

vot\_\-elemXML -- Builds a string of the opening XML Tag (private method)

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em $\ast$e}]A pointer to an \hyperlink{structElement}{Element} \end{description}
\end{Desc}
\begin{Desc}
\item[Returns:]A string that contains the opening XML tag for e \end{Desc}
\hypertarget{votParseP_8h_b07e2996f66828be5e799651835ff2bf}{
\index{votParseP.h@{votParseP.h}!vot\_\-elemXMLEnd@{vot\_\-elemXMLEnd}}
\index{vot\_\-elemXMLEnd@{vot\_\-elemXMLEnd}!votParseP.h@{votParseP.h}}
\subsubsection[{vot\_\-elemXMLEnd}]{\setlength{\rightskip}{0pt plus 5cm}char$\ast$ vot\_\-elemXMLEnd ({\bf Element} $\ast$ {\em e})}}
\label{votParseP_8h_b07e2996f66828be5e799651835ff2bf}


Build a string of the ending XML Tag (private method). 

vot\_\-elemXMLEnd -- Build a string of the ending XML Tag (private method)

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em $\ast$e}]A pointer to an \hyperlink{structElement}{Element} \end{description}
\end{Desc}
\begin{Desc}
\item[Returns:]A string that contains the ending XML tag for e \end{Desc}
\hypertarget{votParseP_8h_0d6663658ea1acdfa4b6a9012cb05d3c}{
\index{votParseP.h@{votParseP.h}!vot\_\-endCData@{vot\_\-endCData}}
\index{vot\_\-endCData@{vot\_\-endCData}!votParseP.h@{votParseP.h}}
\subsubsection[{vot\_\-endCData}]{\setlength{\rightskip}{0pt plus 5cm}void vot\_\-endCData (void $\ast$ {\em user})}}
\label{votParseP_8h_0d6663658ea1acdfa4b6a9012cb05d3c}


Handle the end of CDATA strings (private method). 

vot\_\-endCData -- Handle the end of CDATA strings (private method)

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em user}]User data (not used) \end{description}
\end{Desc}
\begin{Desc}
\item[Returns:]nothing \end{Desc}
\hypertarget{votParseP_8h_85f03122a0f8cb6c5ee63e41e2157111}{
\index{votParseP.h@{votParseP.h}!vot\_\-endElement@{vot\_\-endElement}}
\index{vot\_\-endElement@{vot\_\-endElement}!votParseP.h@{votParseP.h}}
\subsubsection[{vot\_\-endElement}]{\setlength{\rightskip}{0pt plus 5cm}void vot\_\-endElement (void $\ast$ {\em user}, \/  const char $\ast$ {\em name})}}
\label{votParseP_8h_85f03122a0f8cb6c5ee63e41e2157111}


CB whenever an end tag is seen (private method). 

vot\_\-endElement -- CB whenever an end tag is seen (private method)

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em user}]User data (not used) \item[{\em name}]The name in the XML tag \end{description}
\end{Desc}
\begin{Desc}
\item[Returns:]nothing \end{Desc}
\hypertarget{votParseP_8h_c247ed61c78db54860fbbf80385f3088}{
\index{votParseP.h@{votParseP.h}!vot\_\-eType@{vot\_\-eType}}
\index{vot\_\-eType@{vot\_\-eType}!votParseP.h@{votParseP.h}}
\subsubsection[{vot\_\-eType}]{\setlength{\rightskip}{0pt plus 5cm}int vot\_\-eType (char $\ast$ {\em name})}}
\label{votParseP_8h_c247ed61c78db54860fbbf80385f3088}


Get the integer value (ID) of the name (private method). 

vot\_\-eType -- Get the integer value (ID) of the name (private method).

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em name}]Name of the desired type \end{description}
\end{Desc}
\begin{Desc}
\item[Returns:]An integer corresponding to the type of the element \end{Desc}
\hypertarget{votParseP_8h_fa12a965b51cf8d933decb350281ab52}{
\index{votParseP.h@{votParseP.h}!vot\_\-freeHandle@{vot\_\-freeHandle}}
\index{vot\_\-freeHandle@{vot\_\-freeHandle}!votParseP.h@{votParseP.h}}
\subsubsection[{vot\_\-freeHandle}]{\setlength{\rightskip}{0pt plus 5cm}void vot\_\-freeHandle (handle\_\-t {\em handle})}}
\label{votParseP_8h_fa12a965b51cf8d933decb350281ab52}


Free a handle for use (private method). 

vot\_\-freeHandle -- Free a handle for use (private method)

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em handle}]A handle\_\-t to the \hyperlink{structElement}{Element} you wish to free \end{description}
\end{Desc}
\begin{Desc}
\item[Returns:]nothing \end{Desc}
\hypertarget{votParseP_8h_79eb418bc2410d1ce82024398f1bef17}{
\index{votParseP.h@{votParseP.h}!vot\_\-getElement@{vot\_\-getElement}}
\index{vot\_\-getElement@{vot\_\-getElement}!votParseP.h@{votParseP.h}}
\subsubsection[{vot\_\-getElement}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Element}$\ast$ vot\_\-getElement (handle\_\-t {\em handle})}}
\label{votParseP_8h_79eb418bc2410d1ce82024398f1bef17}


Get the \hyperlink{structElement}{Element} refered to by handle\_\-t (private method). 

vot\_\-getElement -- Get the \hyperlink{structElement}{Element} refered to by handle\_\-t (private method)

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em handle}]A handle\_\-t to the \hyperlink{structElement}{Element}. \end{description}
\end{Desc}
\begin{Desc}
\item[Returns:]A pointer to the requested \hyperlink{structElement}{Element}. \end{Desc}
\hypertarget{votParseP_8h_1b51992af0738bbbf6a101bbb12b2d17}{
\index{votParseP.h@{votParseP.h}!vot\_\-handleCleanup@{vot\_\-handleCleanup}}
\index{vot\_\-handleCleanup@{vot\_\-handleCleanup}!votParseP.h@{votParseP.h}}
\subsubsection[{vot\_\-handleCleanup}]{\setlength{\rightskip}{0pt plus 5cm}void vot\_\-handleCleanup (void)}}
\label{votParseP_8h_1b51992af0738bbbf6a101bbb12b2d17}


Free all the handle nodes (private method). 

vot\_\-handleCleanup -- Free all the handle nodes (private method)

\begin{Desc}
\item[Returns:]nothing \end{Desc}
\hypertarget{votParseP_8h_b1b3d4aa9a83dcba308b0238dfa14b39}{
\index{votParseP.h@{votParseP.h}!vot\_\-handleCount@{vot\_\-handleCount}}
\index{vot\_\-handleCount@{vot\_\-handleCount}!votParseP.h@{votParseP.h}}
\subsubsection[{vot\_\-handleCount}]{\setlength{\rightskip}{0pt plus 5cm}int vot\_\-handleCount (void)}}
\label{votParseP_8h_b1b3d4aa9a83dcba308b0238dfa14b39}


Get the number of handle\_\-t used (private method). 

count of current used handles vot\_\-handleCount -- Get the number of handle\_\-t used (private method)

\begin{Desc}
\item[Returns:]The number of handle\_\-t types currently stored \end{Desc}
\hypertarget{votParseP_8h_5a1159c578699fad254c4bae86a1439d}{
\index{votParseP.h@{votParseP.h}!vot\_\-handleError@{vot\_\-handleError}}
\index{vot\_\-handleError@{vot\_\-handleError}!votParseP.h@{votParseP.h}}
\subsubsection[{vot\_\-handleError}]{\setlength{\rightskip}{0pt plus 5cm}void vot\_\-handleError (char $\ast$ {\em msg})}}
\label{votParseP_8h_5a1159c578699fad254c4bae86a1439d}


Print an error message. 

vot\_\-handleError -- Print an error message.

\begin{Desc}
\item[Returns:]nothing \end{Desc}
\hypertarget{votParseP_8h_11691bde61e5b2bbdea3649eb69d8253}{
\index{votParseP.h@{votParseP.h}!vot\_\-isEmpty@{vot\_\-isEmpty}}
\index{vot\_\-isEmpty@{vot\_\-isEmpty}!votParseP.h@{votParseP.h}}
\subsubsection[{vot\_\-isEmpty}]{\setlength{\rightskip}{0pt plus 5cm}int vot\_\-isEmpty ({\bf Stack} $\ast$ {\em st})}}
\label{votParseP_8h_11691bde61e5b2bbdea3649eb69d8253}


Checks to see if the stack is empty (private method). 

vot\_\-isEmpty -- Checks to see if the stack is empty (private method)

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em st}]A pointer to a \hyperlink{structStack}{Stack} \end{description}
\end{Desc}
\begin{Desc}
\item[Returns:]{\em 1\/} if true, {\em 0\/} if false. \end{Desc}
\hypertarget{votParseP_8h_c29f604e3783afc6becd10d9f93ef600}{
\index{votParseP.h@{votParseP.h}!vot\_\-lookupHandle@{vot\_\-lookupHandle}}
\index{vot\_\-lookupHandle@{vot\_\-lookupHandle}!votParseP.h@{votParseP.h}}
\subsubsection[{vot\_\-lookupHandle}]{\setlength{\rightskip}{0pt plus 5cm}handle\_\-t vot\_\-lookupHandle ({\bf Element} $\ast$ {\em elem})}}
\label{votParseP_8h_c29f604e3783afc6becd10d9f93ef600}


Lookup the handle\_\-t to an \hyperlink{structElement}{Element} (private method). 

vot\_\-lookupHandle -- Lookup the handle\_\-t to an \hyperlink{structElement}{Element} (private method)

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em $\ast$elem}]A pointer to an \hyperlink{structElement}{Element} \end{description}
\end{Desc}
\begin{Desc}
\item[Returns:]A handle\_\-t to the \hyperlink{structElement}{Element} \end{Desc}
\hypertarget{votParseP_8h_9fb13a49fb2b20b98b58a042a648d2d1}{
\index{votParseP.h@{votParseP.h}!vot\_\-newElem@{vot\_\-newElem}}
\index{vot\_\-newElem@{vot\_\-newElem}!votParseP.h@{votParseP.h}}
\subsubsection[{vot\_\-newElem}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Element}$\ast$ vot\_\-newElem (unsigned int {\em type})}}
\label{votParseP_8h_9fb13a49fb2b20b98b58a042a648d2d1}


Allocate a new structure of the given type (private method). 

vot\_\-newElem -- Allocate a new structure of the given type (private method)

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em type}]An integer that defines the type of \hyperlink{structElement}{Element} \end{description}
\end{Desc}
\begin{Desc}
\item[Returns:]An new \hyperlink{structElement}{Element} structure \end{Desc}
\hypertarget{votParseP_8h_93e99ff82cfdb44a6f7fc9097e9fe02a}{
\index{votParseP.h@{votParseP.h}!vot\_\-newHandleTable@{vot\_\-newHandleTable}}
\index{vot\_\-newHandleTable@{vot\_\-newHandleTable}!votParseP.h@{votParseP.h}}
\subsubsection[{vot\_\-newHandleTable}]{\setlength{\rightskip}{0pt plus 5cm}void vot\_\-newHandleTable (void)}}
\label{votParseP_8h_93e99ff82cfdb44a6f7fc9097e9fe02a}


Initialize a handle table (private method). 

vot\_\-newHandleTable -- Initialize a handle table (private method)

\begin{Desc}
\item[Returns:]nothing \end{Desc}
\hypertarget{votParseP_8h_97706e275290da18b8d8a94ab319db94}{
\index{votParseP.h@{votParseP.h}!vot\_\-newStack@{vot\_\-newStack}}
\index{vot\_\-newStack@{vot\_\-newStack}!votParseP.h@{votParseP.h}}
\subsubsection[{vot\_\-newStack}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Stack} $\ast$ vot\_\-newStack (void)}}
\label{votParseP_8h_97706e275290da18b8d8a94ab319db94}


Makes a new stack (private method). 

vot\_\-newStack -- Makes a new stack (private method)

\begin{Desc}
\item[Returns:]A pointer to a new \hyperlink{structStack}{Stack}. \end{Desc}
\hypertarget{votParseP_8h_8eda4c629b19d8dec39ea86177dc18bd}{
\index{votParseP.h@{votParseP.h}!vot\_\-printStack@{vot\_\-printStack}}
\index{vot\_\-printStack@{vot\_\-printStack}!votParseP.h@{votParseP.h}}
\subsubsection[{vot\_\-printStack}]{\setlength{\rightskip}{0pt plus 5cm}vot\_\-printStack ({\bf Stack} $\ast$ {\em st})}}
\label{votParseP_8h_8eda4c629b19d8dec39ea86177dc18bd}


Print the name of all the stack elements (private method). 

vot\_\-printStack -- Print the name of all the stack elements (private method)

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em st}]A pointer to a \hyperlink{structStack}{Stack} \end{description}
\end{Desc}
\begin{Desc}
\item[Returns:]nothing \end{Desc}
\hypertarget{votParseP_8h_1832eb6023a34c8e9d00d22c57276c6c}{
\index{votParseP.h@{votParseP.h}!vot\_\-setHandle@{vot\_\-setHandle}}
\index{vot\_\-setHandle@{vot\_\-setHandle}!votParseP.h@{votParseP.h}}
\subsubsection[{vot\_\-setHandle}]{\setlength{\rightskip}{0pt plus 5cm}handle\_\-t vot\_\-setHandle ({\bf Element} $\ast$ {\em elem})}}
\label{votParseP_8h_1832eb6023a34c8e9d00d22c57276c6c}


Assign the \hyperlink{structElement}{Element} a handle\_\-t (private method). 

vot\_\-setHandle -- Assign the \hyperlink{structElement}{Element} a handle\_\-t (private method)

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em elem}]A pointer to an \hyperlink{structElement}{Element} to be assigned a handle\_\-t. \end{description}
\end{Desc}
\begin{Desc}
\item[Returns:]A handle\_\-t refering to elem \end{Desc}
\hypertarget{votParseP_8h_87325eb4c0a86db05f60cb8e6b0cd422}{
\index{votParseP.h@{votParseP.h}!vot\_\-startCData@{vot\_\-startCData}}
\index{vot\_\-startCData@{vot\_\-startCData}!votParseP.h@{votParseP.h}}
\subsubsection[{vot\_\-startCData}]{\setlength{\rightskip}{0pt plus 5cm}void vot\_\-startCData (void $\ast$ {\em user})}}
\label{votParseP_8h_87325eb4c0a86db05f60cb8e6b0cd422}


Handle the start of CDATA strings (private method). 

vot\_\-startCData -- Handle the start of CDATA strings (private method)

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em user}]User data (not used) \end{description}
\end{Desc}
\begin{Desc}
\item[Returns:]nothing \end{Desc}
\hypertarget{votParseP_8h_50e82d05d9fa1bb2a4131c5643e10a3e}{
\index{votParseP.h@{votParseP.h}!vot\_\-startElement@{vot\_\-startElement}}
\index{vot\_\-startElement@{vot\_\-startElement}!votParseP.h@{votParseP.h}}
\subsubsection[{vot\_\-startElement}]{\setlength{\rightskip}{0pt plus 5cm}void vot\_\-startElement (void $\ast$ {\em user}, \/  const char $\ast$ {\em name}, \/  const char $\ast$$\ast$ {\em atts})}}
\label{votParseP_8h_50e82d05d9fa1bb2a4131c5643e10a3e}


CB whenever a start tag is seen (private method). 

vot\_\-startElement -- CB whenever a start tag is seen (private method)

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em user}]User data (not used) \item[{\em name}]The name in the XML tag. \item[{\em atts}]An array of attributes. \end{description}
\end{Desc}
\begin{Desc}
\item[Returns:]nothing \end{Desc}
\hypertarget{votParseP_8h_6e987eaeb90a1fa27b600386ca749bd6}{
\index{votParseP.h@{votParseP.h}!votPeek@{votPeek}}
\index{votPeek@{votPeek}!votParseP.h@{votParseP.h}}
\subsubsection[{votPeek}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Element} $\ast$ votPeek ({\bf Stack} $\ast$ {\em st})}}
\label{votParseP_8h_6e987eaeb90a1fa27b600386ca749bd6}


Peek at \hyperlink{structElement}{Element} on top of the \hyperlink{structStack}{Stack} (private method). 

votPeek -- Peek at \hyperlink{structElement}{Element} on top of the \hyperlink{structStack}{Stack} (private method)

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em st}]A pointer to a \hyperlink{structStack}{Stack} \end{description}
\end{Desc}
\begin{Desc}
\item[Returns:]A pointer to the head \hyperlink{structElement}{Element}, or NULL if empty \end{Desc}
\hypertarget{votParseP_8h_f5e05232387d525ab141206095a5980d}{
\index{votParseP.h@{votParseP.h}!votPop@{votPop}}
\index{votPop@{votPop}!votParseP.h@{votParseP.h}}
\subsubsection[{votPop}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Element} $\ast$ votPop ({\bf Stack} $\ast$ {\em st})}}
\label{votParseP_8h_f5e05232387d525ab141206095a5980d}


Return a \hyperlink{structNode}{Node} from the top of the stack (private method). 

votPop -- Return a \hyperlink{structNode}{Node} from the top of the stack (private method)

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em st}]A pointer to a \hyperlink{structStack}{Stack} \end{description}
\end{Desc}
\begin{Desc}
\item[Returns:]A pointer to the popped \hyperlink{structElement}{Element}. \end{Desc}
\hypertarget{votParseP_8h_a3251a683eae285cccc688daf2d87dae}{
\index{votParseP.h@{votParseP.h}!votPush@{votPush}}
\index{votPush@{votPush}!votParseP.h@{votParseP.h}}
\subsubsection[{votPush}]{\setlength{\rightskip}{0pt plus 5cm}votPush ({\bf Stack} $\ast$ {\em st}, \/  {\bf Element} $\ast$ {\em elem})}}
\label{votParseP_8h_a3251a683eae285cccc688daf2d87dae}


Push a \hyperlink{structNode}{Node} to the top of the stack (private method). 

votPush -- Push a \hyperlink{structNode}{Node} to the top of the stack (private method)

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em st}]A pointer to a \hyperlink{structStack}{Stack} \item[{\em elem}]A pointer to an element to be put on the stack \end{description}
\end{Desc}
\begin{Desc}
\item[Returns:]nothing \end{Desc}
