\hypertarget{votExpatCB_8c}{
\section{votExpatCB.c File Reference}
\label{votExpatCB_8c}\index{votExpatCB.c@{votExpatCB.c}}
}
(Private) Expat parser XML callback methods  


{\tt \#include $<$stdio.h$>$}\par
{\tt \#include $<$stdlib.h$>$}\par
{\tt \#include $<$string.h$>$}\par
{\tt \#include $<$expat.h$>$}\par
{\tt \#include $<$unistd.h$>$}\par
{\tt \#include $<$ctype.h$>$}\par
{\tt \#include \char`\"{}votParseP.h\char`\"{}}\par
{\tt \#include \char`\"{}votParse.h\char`\"{}}\par
\subsection*{Functions}
\begin{CompactItemize}
\item 
void \hyperlink{votExpatCB_8c_600fea20bc0bf3c860eab67451bf75b8}{vot\_\-startElement} (void $\ast$user, 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{votExpatCB_8c_7c75239e07f5d941aeb6509fe6287df1}{vot\_\-endElement} (void $\ast$user, 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{votExpatCB_8c_7e09e56c1f08b8beb9753895fd90515e}{vot\_\-charData} (void $\ast$user, 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{votExpatCB_8c_e3be5033febee0ebeabd11951064d736}{vot\_\-startCData} (void $\ast$user)
\begin{CompactList}\small\item\em Handle the start of CDATA strings (private method). \item\end{CompactList}\item 
void \hyperlink{votExpatCB_8c_642eba11aff546c0b0e88e3bd25c05bc}{vot\_\-endCData} (void $\ast$user)
\begin{CompactList}\small\item\em Handle the end of CDATA strings (private method). \item\end{CompactList}\end{CompactItemize}
\subsection*{Variables}
\begin{CompactItemize}
\item 
\hyperlink{structStack}{Stack} $\ast$ \hyperlink{votExpatCB_8c_8972288a8eaa6d5249e562915527a958}{element\_\-stack}
\end{CompactItemize}


\label{_details}
\hypertarget{_details}{}
\subsection{Detailed Description}
(Private) Expat parser XML callback methods 

VOTEXPATCB.C -- (Private) Expat XML Parser callback methods.

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


\subsection{Function Documentation}
\hypertarget{votExpatCB_8c_7e09e56c1f08b8beb9753895fd90515e}{
\index{votExpatCB.c@{votExpatCB.c}!vot\_\-charData@{vot\_\-charData}}
\index{vot\_\-charData@{vot\_\-charData}!votExpatCB.c@{votExpatCB.c}}
\subsubsection[{vot\_\-charData}]{\setlength{\rightskip}{0pt plus 5cm}vot\_\-charData (void $\ast$ {\em user}, \/  const XML\_\-Char $\ast$ {\em s}, \/  int {\em len})}}
\label{votExpatCB_8c_7e09e56c1f08b8beb9753895fd90515e}


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{votExpatCB_8c_642eba11aff546c0b0e88e3bd25c05bc}{
\index{votExpatCB.c@{votExpatCB.c}!vot\_\-endCData@{vot\_\-endCData}}
\index{vot\_\-endCData@{vot\_\-endCData}!votExpatCB.c@{votExpatCB.c}}
\subsubsection[{vot\_\-endCData}]{\setlength{\rightskip}{0pt plus 5cm}vot\_\-endCData (void $\ast$ {\em user})}}
\label{votExpatCB_8c_642eba11aff546c0b0e88e3bd25c05bc}


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{votExpatCB_8c_7c75239e07f5d941aeb6509fe6287df1}{
\index{votExpatCB.c@{votExpatCB.c}!vot\_\-endElement@{vot\_\-endElement}}
\index{vot\_\-endElement@{vot\_\-endElement}!votExpatCB.c@{votExpatCB.c}}
\subsubsection[{vot\_\-endElement}]{\setlength{\rightskip}{0pt plus 5cm}vot\_\-endElement (void $\ast$ {\em user}, \/  const char $\ast$ {\em name})}}
\label{votExpatCB_8c_7c75239e07f5d941aeb6509fe6287df1}


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{votExpatCB_8c_e3be5033febee0ebeabd11951064d736}{
\index{votExpatCB.c@{votExpatCB.c}!vot\_\-startCData@{vot\_\-startCData}}
\index{vot\_\-startCData@{vot\_\-startCData}!votExpatCB.c@{votExpatCB.c}}
\subsubsection[{vot\_\-startCData}]{\setlength{\rightskip}{0pt plus 5cm}vot\_\-startCData (void $\ast$ {\em user})}}
\label{votExpatCB_8c_e3be5033febee0ebeabd11951064d736}


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{votExpatCB_8c_600fea20bc0bf3c860eab67451bf75b8}{
\index{votExpatCB.c@{votExpatCB.c}!vot\_\-startElement@{vot\_\-startElement}}
\index{vot\_\-startElement@{vot\_\-startElement}!votExpatCB.c@{votExpatCB.c}}
\subsubsection[{vot\_\-startElement}]{\setlength{\rightskip}{0pt plus 5cm}vot\_\-startElement (void $\ast$ {\em user}, \/  const char $\ast$ {\em name}, \/  const char $\ast$$\ast$ {\em atts})}}
\label{votExpatCB_8c_600fea20bc0bf3c860eab67451bf75b8}


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}


\subsection{Variable Documentation}
\hypertarget{votExpatCB_8c_8972288a8eaa6d5249e562915527a958}{
\index{votExpatCB.c@{votExpatCB.c}!element\_\-stack@{element\_\-stack}}
\index{element\_\-stack@{element\_\-stack}!votExpatCB.c@{votExpatCB.c}}
\subsubsection[{element\_\-stack}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Stack}$\ast$ {\bf element\_\-stack}}}
\label{votExpatCB_8c_8972288a8eaa6d5249e562915527a958}


$\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 Interface

vot = vot\_\-openVOTABLE (filename$|$str$|$NULL) vot\_\-closeVOTABLE (vot)

res = vot\_\-getRESOURCE (vot$|$res) tab = vot\_\-getTABLE (res) field = vot\_\-getFIELD (tab)

data = vot\_\-getDATA (tab)

tdata = vot\_\-getTABLEDATA (data) // data elements tr = vot\_\-getTR (tdata) td = vot\_\-getTD (tr) bin = vot\_\-getBINARY (data) bin = vot\_\-getBINARY2 (data) fits = vot\_\-getFITS (data)

group = vot\_\-getGROUP (vot$|$res$|$tab$|$group) fldref = vot\_\-getFIELDRef (group) parref = vot\_\-getPARAMRef (group)

desc = vot\_\-getDESCRIPTION (handle) param = vot\_\-getPARAM (handle) info = vot\_\-getINFO (handle) stream = vot\_\-getSTREAM (bin$|$fits)

val = vot\_\-getVALUES (field$|$param$|$info) min = vot\_\-getMIN (val) max = vot\_\-getMAX (val) opt = vot\_\-getOPTION (val)

link = vot\_\-getLINK (res$|$info$|$param$|$field$|$table)

sys = vot\_\-getCOOSYS (vot) // Compatability

h = vot\_\-newRESOURCE (handle\_\-t parent\_\-h) h = vot\_\-newTABLE (handle\_\-t parent\_\-h) h = vot\_\-newFIELD (handle\_\-t parent\_\-h) h = vot\_\-newDATA (handle\_\-t parent\_\-h) h = vot\_\-newTABLEDATA (handle\_\-t parent\_\-h) h = vot\_\-newTR (handle\_\-t parent\_\-h) h = vot\_\-newTD (handle\_\-t parent\_\-h) h = vot\_\-newBINARY (handle\_\-t parent\_\-h) h = vot\_\-newBINARY2 (handle\_\-t parent\_\-h) h = vot\_\-newFITS (handle\_\-t parent\_\-h) h = vot\_\-newGROUP (handle\_\-t parent\_\-h) h = vot\_\-newFIELDRef (handle\_\-t parent\_\-h) h = vot\_\-newPARAMRef (handle\_\-t parent\_\-h) h = vot\_\-newDESCRIPTION (handle\_\-t parent\_\-h) h = vot\_\-newPARAM (handle\_\-t parent\_\-h) h = vot\_\-newINFO (handle\_\-t parent\_\-h) h = vot\_\-newSTREAM (handle\_\-t parent\_\-h) h = vot\_\-newVALUES (handle\_\-t parent\_\-h) h = vot\_\-newMIN (handle\_\-t parent\_\-h) h = vot\_\-newMAX (handle\_\-t parent\_\-h) h = vot\_\-newOPTION (handle\_\-t parent\_\-h) h = vot\_\-newLINK (handle\_\-t parent\_\-h) h = vot\_\-newCOOSYS (handle\_\-t parent\_\-h)

handle = vot\_\-newNode (parent, type) vot\_\-freeNode (node) vot\_\-deleteNode (node) vot\_\-attachNode (parent, new) handle = vot\_\-copyElement (handle\_\-t source\_\-h, handle\_\-t parent\_\-h)

val = vot\_\-getValue (handle) stat = vot\_\-setValue (handle, value)

attr = vot\_\-getAttr (handle, attr) stat = vot\_\-setAttr (handle, attr, value)

type = vot\_\-getDATAType (data) // Utilities typeStr = vot\_\-getDATATypeString (data)

nc = vot\_\-getNCols (tdata\_\-h) nr = vot\_\-getNRows (tdata\_\-h) val = vot\_\-getTableCell (tdata\_\-h, row, col) stat = vot\_\-sortTable (tdata\_\-h, col, string\_\-sort, sort\_\-order)

len = vot\_\-getLength (elem\_\-h) N = vot\_\-getNumberOf (elem\_\-h, type)

col = vot\_\-colByName (tab\_\-h, name, alt) col = vot\_\-colByUCD (tab\_\-h, name, alt) col = vot\_\-colByID (tab\_\-h, name, alt)

handle = vot\_\-findByAttr (parent, name, value) handle $\ast$vot\_\-findInGroup (group, type) handle = vot\_\-getNext (handle) handle = vot\_\-getSibling (handle) handle = vot\_\-getChild (handle) handle = vot\_\-getParent (handle) handle = vot\_\-getChildOfType (handle, int type)

int = vot\_\-valueOf (handle) type = vot\_\-typeOf (handle) vot\_\-setWarnings (value)

vot\_\-writeVOTable (handle, char $\ast$fname, int indent) vot\_\-writeHTML (handle, char $\ast$fname) vot\_\-writeSHTML (handle, char $\ast$fname) vot\_\-writeFITS (handle, char $\ast$fname) vot\_\-writeASV (handle, char $\ast$fname, int hdr) vot\_\-writeBSV (handle, char $\ast$fname, int hdr) vot\_\-writeCSV (handle, char $\ast$fname, int hdr) vot\_\-writeTSV (handle, char $\ast$fname, int hdr) vot\_\-writeDelimited (handle, char $\ast$fname, char delim, int hdr) 