\Header{SAXState-class}{A virtual base class defining methods for SAX parsing}
\keyword{classes}{SAXState-class}
\begin{Description}\relax
This is a degenerate virtual class which others are
expected to sub-class so as to define when they want to
use S4 methods as handler functions for SAX-based XML parsing.
The idea is that one can pass both i)  a collection of handlers
to \code{\Link{xmlEventParse}} which are simply 
the generic functions for the different SAX actions,
and ii) a suitable object to maintain state across
the different SAX calls.
This is used to perform the method dispatching to get
the appropriate behavior for the action.
Each of these methods is expected to return the
updated state object and the SAX parser
will pass this in the next callback.

We define this class here so that we can provide
default methods for each of the different handler
actions. This allows other programmers to define
new classes to maintain state that are sub-class
of \code{SAXState} and then they do not have to
implement methods for each of the
different handlers.
\end{Description}
\begin{Section}{Objects from the Class}
A virtual Class: No objects may be created from it.
\end{Section}
\begin{Section}{Methods}
\describe{
\item[comment.SAX] \code{signature(content = "ANY", .state = "SAXState")}: ... 
\item[endElement.SAX] \code{signature(name = "ANY", .state = "SAXState")}: ... 
\item[entityDeclaration.SAX] \code{signature(name = "ANY", base = "ANY", sysId = "ANY", publicId = "ANY", notationName = "ANY", .state = "SAXState")}: ... 
\item[processingInstruction.SAX] \code{signature(target = "ANY", content = "ANY", .state = "SAXState")}: ... 
\item[startElement.SAX] \code{signature(name = "ANY", atts = "ANY", .state = "SAXState")}: ... 
\item[text.SAX] \code{signature(content = "ANY", .state = "SAXState")}: ... 
}
\end{Section}
\begin{Author}\relax
Duncan Temple Lang
\end{Author}
\begin{References}\relax
\url{http://www.w3.org/XML}, \url{http://www.xmlsoft.org}
\end{References}
\begin{SeeAlso}\relax
\code{\Link{xmlEventParse}}
\end{SeeAlso}
\begin{Examples}
\begin{ExampleCode}

\end{ExampleCode}
\end{Examples}

