<html>
<head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> <title>SAX2: SAX2 parser interface used to build the DOM tree</title> <meta name="generator" content="Libxml2 devhelp stylesheet"/> <link rel="start" href="index.html" title="libxml2 Reference Manual"/> <link rel="up" href="general.html" title="API"/> <link rel="stylesheet" href="style.css" type="text/css"/> <link rel="chapter" href="general.html" title="API"/> </head> <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> <table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"> <tr valign="middle"> <td> <a accesskey="p" href="libxml2-SAX.html"> <img src="left.png" width="24" height="24" border="0" alt="Prev"/> </a> </td> <td> <a accesskey="u" href="general.html"> <img src="up.png" width="24" height="24" border="0" alt="Up"/> </a> </td> <td> <a accesskey="h" href="index.html"> <img src="home.png" width="24" height="24" border="0" alt="Home"/> </a> </td> <td> <a accesskey="n" href="libxml2-c14n.html"> <img src="right.png" width="24" height="24" border="0" alt="Next"/> </a> </td> <th width="100%" align="center">libxml2 Reference Manual</th> </tr> </table> <h2> <span class="refentrytitle">SAX2</span> </h2> <p>SAX2 - SAX2 parser interface used to build the DOM tree</p> <p>those are the default SAX2 interfaces used by the library when building DOM tree. </p> <p>Author(s): Daniel Veillard </p> <div class="refsynopsisdiv"> <h2>Synopsis</h2> <pre class="synopsis">void <a href="#xmlSAX2EndElementNs">xmlSAX2EndElementNs</a> (void * ctx, <br/> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * localname, <br/> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br/> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URI);
void <a href=“#xmlSAX2Reference”>xmlSAX2Reference</a> (void * ctx, <br/> const <a href=“libxml2-xmlstring.html#xmlChar”>xmlChar</a> * name); void <a href=“#xmlSAX2ElementDecl”>xmlSAX2ElementDecl</a> (void * ctx, <br/> const <a href=“libxml2-xmlstring.html#xmlChar”>xmlChar</a> * name, <br/> int type, <br/> <a href=“libxml2-tree.html#xmlElementContentPtr”>xmlElementContentPtr</a> content); void <a href=“#xmlSAX2AttributeDecl”>xmlSAX2AttributeDecl</a> (void * ctx, <br/> const <a href=“libxml2-xmlstring.html#xmlChar”>xmlChar</a> * elem, <br/> const <a href=“libxml2-xmlstring.html#xmlChar”>xmlChar</a> * fullname, <br/> int type, <br/> int def, <br/> const <a href=“libxml2-xmlstring.html#xmlChar”>xmlChar</a> * defaultValue, <br/> <a href=“libxml2-tree.html#xmlEnumerationPtr”>xmlEnumerationPtr</a> tree); void <a href=“#xmlSAX2Comment”>xmlSAX2Comment</a> (void * ctx, <br/> const <a href=“libxml2-xmlstring.html#xmlChar”>xmlChar</a> * value); int <a href=“#xmlSAX2GetColumnNumber”>xmlSAX2GetColumnNumber</a> (void * ctx); <a href=“libxml2-tree.html#xmlEntityPtr”>xmlEntityPtr</a> <a href=“#xmlSAX2GetEntity”>xmlSAX2GetEntity</a> (void * ctx, <br/> const <a href=“libxml2-xmlstring.html#xmlChar”>xmlChar</a> * name); void <a href=“#xmlSAX2UnparsedEntityDecl”>xmlSAX2UnparsedEntityDecl</a> (void * ctx, <br/> const <a href=“libxml2-xmlstring.html#xmlChar”>xmlChar</a> * name, <br/> const <a href=“libxml2-xmlstring.html#xmlChar”>xmlChar</a> * publicId, <br/> const <a href=“libxml2-xmlstring.html#xmlChar”>xmlChar</a> * systemId, <br/> const <a href=“libxml2-xmlstring.html#xmlChar”>xmlChar</a> * notationName); void <a href=“#xmlSAX2InitDocbDefaultSAXHandler”>xmlSAX2InitDocbDefaultSAXHandler</a> (<a href=“libxml2-tree.html#xmlSAXHandler”>xmlSAXHandler</a> * hdlr); int <a href=“#xmlSAXVersion”>xmlSAXVersion</a> (<a href=“libxml2-tree.html#xmlSAXHandler”>xmlSAXHandler</a> * hdlr, <br/> int version); void <a href=“#xmlSAX2IgnorableWhitespace”>xmlSAX2IgnorableWhitespace</a> (void * ctx, <br/> const <a href=“libxml2-xmlstring.html#xmlChar”>xmlChar</a> * ch, <br/> int len); void <a href=“#xmlSAX2NotationDecl”>xmlSAX2NotationDecl</a> (void * ctx, <br/> const <a href=“libxml2-xmlstring.html#xmlChar”>xmlChar</a> * name, <br/> const <a href=“libxml2-xmlstring.html#xmlChar”>xmlChar</a> * publicId, <br/> const <a href=“libxml2-xmlstring.html#xmlChar”>xmlChar</a> * systemId); void <a href=“#xmlSAX2StartDocument”>xmlSAX2StartDocument</a> (void * ctx); void <a href=“#xmlSAX2EndElement”>xmlSAX2EndElement</a> (void * ctx, <br/> const <a href=“libxml2-xmlstring.html#xmlChar”>xmlChar</a> * name); <a href=“libxml2-tree.html#xmlParserInputPtr”>xmlParserInputPtr</a> <a href=“#xmlSAX2ResolveEntity”>xmlSAX2ResolveEntity</a> (void * ctx, <br/> const <a href=“libxml2-xmlstring.html#xmlChar”>xmlChar</a> * publicId, <br/> const <a href=“libxml2-xmlstring.html#xmlChar”>xmlChar</a> * systemId); void <a href=“#xmlSAX2ExternalSubset”>xmlSAX2ExternalSubset</a> (void * ctx, <br/> const <a href=“libxml2-xmlstring.html#xmlChar”>xmlChar</a> * name, <br/> const <a href=“libxml2-xmlstring.html#xmlChar”>xmlChar</a> * ExternalID, <br/> const <a href=“libxml2-xmlstring.html#xmlChar”>xmlChar</a> * SystemID); const <a href=“libxml2-xmlstring.html#xmlChar”>xmlChar</a> * <a href=“#xmlSAX2GetPublicId”>xmlSAX2GetPublicId</a> (void * ctx); int <a href=“#xmlSAX2IsStandalone”>xmlSAX2IsStandalone</a> (void * ctx); void <a href=“#xmlSAX2EndDocument”>xmlSAX2EndDocument</a> (void * ctx); void <a href=“#xmlSAX2ProcessingInstruction”>xmlSAX2ProcessingInstruction</a> (void * ctx, <br/> const <a href=“libxml2-xmlstring.html#xmlChar”>xmlChar</a> * target, <br/> const <a href=“libxml2-xmlstring.html#xmlChar”>xmlChar</a> * data); void <a href=“#xmlSAX2InternalSubset”>xmlSAX2InternalSubset</a> (void * ctx, <br/> const <a href=“libxml2-xmlstring.html#xmlChar”>xmlChar</a> * name, <br/> const <a href=“libxml2-xmlstring.html#xmlChar”>xmlChar</a> * ExternalID, <br/> const <a href=“libxml2-xmlstring.html#xmlChar”>xmlChar</a> * SystemID); void <a href=“#xmlSAX2Characters”>xmlSAX2Characters</a> (void * ctx, <br/> const <a href=“libxml2-xmlstring.html#xmlChar”>xmlChar</a> * ch, <br/> int len); int <a href=“#xmlSAXDefaultVersion”>xmlSAXDefaultVersion</a> (int version); void <a href=“#xmlSAX2StartElement”>xmlSAX2StartElement</a> (void * ctx, <br/> const <a href=“libxml2-xmlstring.html#xmlChar”>xmlChar</a> * fullname, <br/> const <a href=“libxml2-xmlstring.html#xmlChar”>xmlChar</a> ** atts); void <a href=“#xmlSAX2SetDocumentLocator”>xmlSAX2SetDocumentLocator</a> (void * ctx, <br/> <a href=“libxml2-tree.html#xmlSAXLocatorPtr”>xmlSAXLocatorPtr</a> loc); void <a href=“#xmlSAX2CDataBlock”>xmlSAX2CDataBlock</a> (void * ctx, <br/> const <a href=“libxml2-xmlstring.html#xmlChar”>xmlChar</a> * value, <br/> int len); void <a href=“#xmlSAX2StartElementNs”>xmlSAX2StartElementNs</a> (void * ctx, <br/> const <a href=“libxml2-xmlstring.html#xmlChar”>xmlChar</a> * localname, <br/> const <a href=“libxml2-xmlstring.html#xmlChar”>xmlChar</a> * prefix, <br/> const <a href=“libxml2-xmlstring.html#xmlChar”>xmlChar</a> * URI, <br/> int nb_namespaces, <br/> const <a href=“libxml2-xmlstring.html#xmlChar”>xmlChar</a> ** namespaces, <br/> int nb_attributes, <br/> int nb_defaulted, <br/> const <a href=“libxml2-xmlstring.html#xmlChar”>xmlChar</a> ** attributes); int <a href=“#xmlSAX2HasExternalSubset”>xmlSAX2HasExternalSubset</a> (void * ctx); void <a href=“#htmlDefaultSAXHandlerInit”>htmlDefaultSAXHandlerInit</a> (void); int <a href=“#xmlSAX2GetLineNumber”>xmlSAX2GetLineNumber</a> (void * ctx); int <a href=“#xmlSAX2HasInternalSubset”>xmlSAX2HasInternalSubset</a> (void * ctx); void <a href=“#xmlSAX2InitHtmlDefaultSAXHandler”>xmlSAX2InitHtmlDefaultSAXHandler</a> (<a href=“libxml2-tree.html#xmlSAXHandler”>xmlSAXHandler</a> * hdlr); void <a href=“#docbDefaultSAXHandlerInit”>docbDefaultSAXHandlerInit</a> (void); void <a href=“#xmlDefaultSAXHandlerInit”>xmlDefaultSAXHandlerInit</a> (void); void <a href=“#xmlSAX2InitDefaultSAXHandler”>xmlSAX2InitDefaultSAXHandler</a> (<a href=“libxml2-tree.html#xmlSAXHandler”>xmlSAXHandler</a> * hdlr, <br/> int warning); <a href=“libxml2-tree.html#xmlEntityPtr”>xmlEntityPtr</a> <a href=“#xmlSAX2GetParameterEntity”>xmlSAX2GetParameterEntity</a> (void * ctx, <br/> const <a href=“libxml2-xmlstring.html#xmlChar”>xmlChar</a> * name); const <a href=“libxml2-xmlstring.html#xmlChar”>xmlChar</a> * <a href=“#xmlSAX2GetSystemId”>xmlSAX2GetSystemId</a> (void * ctx); void <a href=“#xmlSAX2EntityDecl”>xmlSAX2EntityDecl</a> (void * ctx, <br/> const <a href=“libxml2-xmlstring.html#xmlChar”>xmlChar</a> * name, <br/> int type, <br/> const <a href=“libxml2-xmlstring.html#xmlChar”>xmlChar</a> * publicId, <br/> const <a href=“libxml2-xmlstring.html#xmlChar”>xmlChar</a> * systemId, <br/> <a href=“libxml2-xmlstring.html#xmlChar”>xmlChar</a> * content); </pre>
</div> <div class="refsect1" lang="en"> <h2>Description</h2> </div> <div class="refsect1" lang="en"> <h2>Details</h2> <div class="refsect2" lang="en"> <div class="refsect2" lang="en"><h3><a name="docbDefaultSAXHandlerInit"/>docbDefaultSAXHandlerInit ()</h3><pre class="programlisting">void docbDefaultSAXHandlerInit (void)<br/>
</pre><p>Initialize the default SAX handler</p> </div>
<hr/> <div class="refsect2" lang="en"><h3><a name="htmlDefaultSAXHandlerInit"/>htmlDefaultSAXHandlerInit ()</h3><pre class="programlisting">void htmlDefaultSAXHandlerInit (void)<br/>
</pre><p>Initialize the default SAX handler</p> </div>
<hr/> <div class="refsect2" lang="en"><h3><a name="xmlDefaultSAXHandlerInit"/>xmlDefaultSAXHandlerInit ()</h3><pre class="programlisting">void xmlDefaultSAXHandlerInit (void)<br/>
</pre><p>Initialize the default SAX2 handler</p> </div>
<hr/> <div class="refsect2" lang="en"><h3><a name="xmlSAX2AttributeDecl"/>xmlSAX2AttributeDecl ()</h3><pre class="programlisting">void xmlSAX2AttributeDecl (void * ctx, <br/> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * elem, <br/> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * fullname, <br/> int type, <br/> int def, <br/> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * defaultValue, <br/> <a href="libxml2-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a> tree)<br/>
</pre><p>An <a
href=“libxml2-SAX.html#attribute”>attribute</a> definition has
been parsed</p> <div class=“variablelist”><table
border=“0”><col
align=“left”/><tbody><tr><td><span
class=“term”>ctx
:</span></td><td>the
user data (XML parser
context)</td></tr><tr><td><span
class=“term”>elem
:</span></td><td>the
name of the element</td></tr><tr><td><span
class=“term”>fullname
:</span></td><td>the
<a href=“libxml2-SAX.html#attribute”>attribute</a>
name</td></tr><tr><td><span
class=“term”>type
:</span></td><td>the
<a href=“libxml2-SAX.html#attribute”>attribute</a>
type</td></tr><tr><td><span
class=“term”>def
:</span></td><td>the
type of default value</td></tr><tr><td><span
class=“term”>defaultValue
:</span></td><td>the
<a href=“libxml2-SAX.html#attribute”>attribute</a> default
value</td></tr><tr><td><span
class=“term”>tree
:</span></td><td>the
tree of enumerated value
set</td></tr></tbody></table></div></div>
<hr/> <div class="refsect2" lang="en"><h3><a name="xmlSAX2CDataBlock"/>xmlSAX2CDataBlock ()</h3><pre class="programlisting">void xmlSAX2CDataBlock (void * ctx, <br/> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br/> int len)<br/>
</pre><p>called when a pcdata block has been parsed</p>
<div class=“variablelist”><table border=“0”><col
align=“left”/><tbody><tr><td><span
class=“term”>ctx
:</span></td><td>the
user data (XML parser
context)</td></tr><tr><td><span
class=“term”>value
:</span></td><td>The
pcdata content</td></tr><tr><td><span
class=“term”>len
:</span></td><td>the
block
length</td></tr></tbody></table></div></div>
<hr/> <div class="refsect2" lang="en"><h3><a name="xmlSAX2Characters"/>xmlSAX2Characters ()</h3><pre class="programlisting">void xmlSAX2Characters (void * ctx, <br/> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ch, <br/> int len)<br/>
</pre><p>receiving some chars from the parser.</p>
<div class=“variablelist”><table border=“0”><col
align=“left”/><tbody><tr><td><span
class=“term”>ctx
:</span></td><td>the
user data (XML parser
context)</td></tr><tr><td><span
class=“term”>ch
:</span></td><td>a
<a href=“libxml2-xmlstring.html#xmlChar”>xmlChar</a>
string</td></tr><tr><td><span
class=“term”>len
:</span></td><td>the
number of <a
href=“libxml2-xmlstring.html#xmlChar”>xmlChar</a></td></tr></tbody></table></div></div>
<hr/> <div class="refsect2" lang="en"><h3><a name="xmlSAX2Comment"/>xmlSAX2Comment ()</h3><pre class="programlisting">void xmlSAX2Comment (void * ctx, <br/> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value)<br/>
</pre><p>A <a
href=“libxml2-SAX2.html#xmlSAX2Comment”>xmlSAX2Comment</a> has
been parsed.</p> <div class=“variablelist”><table
border=“0”><col
align=“left”/><tbody><tr><td><span
class=“term”>ctx
:</span></td><td>the
user data (XML parser
context)</td></tr><tr><td><span
class=“term”>value
:</span></td><td>the
<a href=“libxml2-SAX2.html#xmlSAX2Comment”>xmlSAX2Comment</a>
content</td></tr></tbody></table></div></div>
<hr/> <div class="refsect2" lang="en"><h3><a name="xmlSAX2ElementDecl"/>xmlSAX2ElementDecl ()</h3><pre class="programlisting">void xmlSAX2ElementDecl (void * ctx, <br/> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/> int type, <br/> <a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> content)<br/>
</pre><p>An element definition has been parsed</p>
<div class=“variablelist”><table border=“0”><col
align=“left”/><tbody><tr><td><span
class=“term”>ctx
:</span></td><td>the
user data (XML parser
context)</td></tr><tr><td><span
class=“term”>name
:</span></td><td>the
element name</td></tr><tr><td><span
class=“term”>type
:</span></td><td>the
element type</td></tr><tr><td><span
class=“term”>content
:</span></td><td>the
element value
tree</td></tr></tbody></table></div></div>
<hr/> <div class="refsect2" lang="en"><h3><a name="xmlSAX2EndDocument"/>xmlSAX2EndDocument ()</h3><pre class="programlisting">void xmlSAX2EndDocument (void * ctx)<br/>
</pre><p>called when the document end has been
detected.</p> <div class=“variablelist”><table
border=“0”><col
align=“left”/><tbody><tr><td><span
class=“term”>ctx
:</span></td><td>the
user data (XML parser
context)</td></tr></tbody></table></div></div>
<hr/> <div class="refsect2" lang="en"><h3><a name="xmlSAX2EndElement"/>xmlSAX2EndElement ()</h3><pre class="programlisting">void xmlSAX2EndElement (void * ctx, <br/> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br/>
</pre><p>called when the end of an element has been
detected.</p> <div class=“variablelist”><table
border=“0”><col
align=“left”/><tbody><tr><td><span
class=“term”>ctx
:</span></td><td>the
user data (XML parser
context)</td></tr><tr><td><span
class=“term”>name
:</span></td><td>The
element
name</td></tr></tbody></table></div></div>
<hr/> <div class="refsect2" lang="en"><h3><a name="xmlSAX2EndElementNs"/>xmlSAX2EndElementNs ()</h3><pre class="programlisting">void xmlSAX2EndElementNs (void * ctx, <br/> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * localname, <br/> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br/> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URI)<br/>
</pre><p>SAX2 callback when an element end has been detected by
the parser. It provides the namespace informations for the
element.</p> <div class=“variablelist”><table
border=“0”><col
align=“left”/><tbody><tr><td><span
class=“term”>ctx
:</span></td><td>the
user data (XML parser
context)</td></tr><tr><td><span
class=“term”>localname
:</span></td><td>the
local name of the element</td></tr><tr><td><span
class=“term”>prefix
:</span></td><td>the
element namespace prefix if
available</td></tr><tr><td><span
class=“term”>URI
:</span></td><td>the
element namespace name if
available</td></tr></tbody></table></div></div>
<hr/> <div class="refsect2" lang="en"><h3><a name="xmlSAX2EntityDecl"/>xmlSAX2EntityDecl ()</h3><pre class="programlisting">void xmlSAX2EntityDecl (void * ctx, <br/> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/> int type, <br/> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * publicId, <br/> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * systemId, <br/> <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br/>
</pre><p>An entity definition has been parsed</p> <div
class=“variablelist”><table border=“0”><col
align=“left”/><tbody><tr><td><span
class=“term”>ctx
:</span></td><td>the
user data (XML parser
context)</td></tr><tr><td><span
class=“term”>name
:</span></td><td>the
entity name</td></tr><tr><td><span
class=“term”>type
:</span></td><td>the
entity type</td></tr><tr><td><span
class=“term”>publicId
:</span></td><td>The
public ID of the entity</td></tr><tr><td><span
class=“term”>systemId
:</span></td><td>The
system ID of the entity</td></tr><tr><td><span
class=“term”>content
:</span></td><td>the
entity value (without
processing).</td></tr></tbody></table></div></div>
<hr/> <div class="refsect2" lang="en"><h3><a name="xmlSAX2ExternalSubset"/>xmlSAX2ExternalSubset ()</h3><pre class="programlisting">void xmlSAX2ExternalSubset (void * ctx, <br/> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br/> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * SystemID)<br/>
</pre><p>Callback on external subset declaration.</p>
<div class=“variablelist”><table border=“0”><col
align=“left”/><tbody><tr><td><span
class=“term”>ctx
:</span></td><td>the
user data (XML parser
context)</td></tr><tr><td><span
class=“term”>name
:</span></td><td>the
root element name</td></tr><tr><td><span
class=“term”>ExternalID
:</span></td><td>the
external ID</td></tr><tr><td><span
class=“term”>SystemID
:</span></td><td>the
SYSTEM ID (e.g. filename or
URL)</td></tr></tbody></table></div></div>
<hr/> <div class="refsect2" lang="en"><h3><a name="xmlSAX2GetColumnNumber"/>xmlSAX2GetColumnNumber ()</h3><pre class="programlisting">int xmlSAX2GetColumnNumber (void * ctx)<br/>
</pre><p>Provide the column number of the current parsing
point.</p> <div class=“variablelist”><table
border=“0”><col
align=“left”/><tbody><tr><td><span
class=“term”>ctx
:</span></td><td>the
user data (XML parser
context)</td></tr><tr><td><span
class=“term”>Returns
:</span></td><td>an
int</td></tr></tbody></table></div></div>
<hr/> <div class="refsect2" lang="en"><h3><a name="xmlSAX2GetEntity"/>xmlSAX2GetEntity ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a> xmlSAX2GetEntity (void * ctx, <br/> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br/>
</pre><p>Get an entity by name</p> <div
class=“variablelist”><table border=“0”><col
align=“left”/><tbody><tr><td><span
class=“term”>ctx
:</span></td><td>the
user data (XML parser
context)</td></tr><tr><td><span
class=“term”>name
:</span></td><td>The
entity name</td></tr><tr><td><span
class=“term”>Returns
:</span></td><td>the
<a href=“libxml2-tree.html#xmlEntityPtr”>xmlEntityPtr</a> if
found.</td></tr></tbody></table></div></div>
<hr/> <div class="refsect2" lang="en"><h3><a name="xmlSAX2GetLineNumber"/>xmlSAX2GetLineNumber ()</h3><pre class="programlisting">int xmlSAX2GetLineNumber (void * ctx)<br/>
</pre><p>Provide the line number of the current parsing
point.</p> <div class=“variablelist”><table
border=“0”><col
align=“left”/><tbody><tr><td><span
class=“term”>ctx
:</span></td><td>the
user data (XML parser
context)</td></tr><tr><td><span
class=“term”>Returns
:</span></td><td>an
int</td></tr></tbody></table></div></div>
<hr/> <div class="refsect2" lang="en"><h3><a name="xmlSAX2GetParameterEntity"/>xmlSAX2GetParameterEntity ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a> xmlSAX2GetParameterEntity (void * ctx, <br/> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br/>
</pre><p>Get a parameter entity by name</p> <div
class=“variablelist”><table border=“0”><col
align=“left”/><tbody><tr><td><span
class=“term”>ctx
:</span></td><td>the
user data (XML parser
context)</td></tr><tr><td><span
class=“term”>name
:</span></td><td>The
entity name</td></tr><tr><td><span
class=“term”>Returns
:</span></td><td>the
<a href=“libxml2-tree.html#xmlEntityPtr”>xmlEntityPtr</a> if
found.</td></tr></tbody></table></div></div>
<hr/> <div class="refsect2" lang="en"><h3><a name="xmlSAX2GetPublicId"/>xmlSAX2GetPublicId ()</h3><pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * xmlSAX2GetPublicId (void * ctx)<br/>
</pre><p>Provides the public ID e.g. “-//SGMLSOURCE//DTD
DEMO//EN”</p> <div class=“variablelist”><table
border=“0”><col
align=“left”/><tbody><tr><td><span
class=“term”>ctx
:</span></td><td>the
user data (XML parser
context)</td></tr><tr><td><span
class=“term”>Returns
:</span></td><td>a
<a href=“libxml2-xmlstring.html#xmlChar”>xmlChar</a>
*</td></tr></tbody></table></div></div>
<hr/> <div class="refsect2" lang="en"><h3><a name="xmlSAX2GetSystemId"/>xmlSAX2GetSystemId ()</h3><pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * xmlSAX2GetSystemId (void * ctx)<br/>
</pre><p>Provides the system ID, basically URL or filename e.g. www.sgmlsource.com/dtds/memo.dtd
> <div class=“variablelist”><table border=“0”><col align=“left”/><tbody><tr><td><span class=“term”>ctx
:</span></td><td>the
user data (XML parser
context)</td></tr><tr><td><span
class=“term”>Returns
:</span></td><td>a
<a href=“libxml2-xmlstring.html#xmlChar”>xmlChar</a>
*</td></tr></tbody></table></div></div>
<hr/> <div class="refsect2" lang="en"><h3><a name="xmlSAX2HasExternalSubset"/>xmlSAX2HasExternalSubset ()</h3><pre class="programlisting">int xmlSAX2HasExternalSubset (void * ctx)<br/>
</pre><p>Does this document has an external subset</p>
<div class=“variablelist”><table border=“0”><col
align=“left”/><tbody><tr><td><span
class=“term”>ctx
:</span></td><td>the
user data (XML parser
context)</td></tr><tr><td><span
class=“term”>Returns
:</span></td><td>1
if
true</td></tr></tbody></table></div></div>
<hr/> <div class="refsect2" lang="en"><h3><a name="xmlSAX2HasInternalSubset"/>xmlSAX2HasInternalSubset ()</h3><pre class="programlisting">int xmlSAX2HasInternalSubset (void * ctx)<br/>
</pre><p>Does this document has an internal subset</p>
<div class=“variablelist”><table border=“0”><col
align=“left”/><tbody><tr><td><span
class=“term”>ctx
:</span></td><td>the
user data (XML parser
context)</td></tr><tr><td><span
class=“term”>Returns
:</span></td><td>1
if
true</td></tr></tbody></table></div></div>
<hr/> <div class="refsect2" lang="en"><h3><a name="xmlSAX2IgnorableWhitespace"/>xmlSAX2IgnorableWhitespace ()</h3><pre class="programlisting">void xmlSAX2IgnorableWhitespace (void * ctx, <br/> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ch, <br/> int len)<br/>
</pre><p>receiving some ignorable whitespaces from the parser.
UNUSED: by default the DOM building will use <a
href=“libxml2-SAX2.html#xmlSAX2Characters”>xmlSAX2Characters</a></p>
<div class=“variablelist”><table border=“0”><col
align=“left”/><tbody><tr><td><span
class=“term”>ctx
:</span></td><td>the
user data (XML parser
context)</td></tr><tr><td><span
class=“term”>ch
:</span></td><td>a
<a href=“libxml2-xmlstring.html#xmlChar”>xmlChar</a>
string</td></tr><tr><td><span
class=“term”>len
:</span></td><td>the
number of <a
href=“libxml2-xmlstring.html#xmlChar”>xmlChar</a></td></tr></tbody></table></div></div>
<hr/> <div class="refsect2" lang="en"><h3><a name="xmlSAX2InitDefaultSAXHandler"/>xmlSAX2InitDefaultSAXHandler ()</h3><pre class="programlisting">void xmlSAX2InitDefaultSAXHandler (<a href="libxml2-tree.html#xmlSAXHandler">xmlSAXHandler</a> * hdlr, <br/> int warning)<br/>
</pre><p>Initialize the default XML SAX2 handler</p>
<div class=“variablelist”><table border=“0”><col
align=“left”/><tbody><tr><td><span
class=“term”>hdlr
:</span></td><td>the
SAX handler</td></tr><tr><td><span
class=“term”>warning
:</span></td><td>flag
if non-zero sets the handler warning
procedure</td></tr></tbody></table></div></div>
<hr/> <div class="refsect2" lang="en"><h3><a name="xmlSAX2InitDocbDefaultSAXHandler"/>xmlSAX2InitDocbDefaultSAXHandler ()</h3><pre class="programlisting">void xmlSAX2InitDocbDefaultSAXHandler (<a href="libxml2-tree.html#xmlSAXHandler">xmlSAXHandler</a> * hdlr)<br/>
</pre><p>Initialize the default DocBook SAX2 handler</p>
<div class=“variablelist”><table border=“0”><col
align=“left”/><tbody><tr><td><span
class=“term”>hdlr
:</span></td><td>the
SAX
handler</td></tr></tbody></table></div></div>
<hr/> <div class="refsect2" lang="en"><h3><a name="xmlSAX2InitHtmlDefaultSAXHandler"/>xmlSAX2InitHtmlDefaultSAXHandler ()</h3><pre class="programlisting">void xmlSAX2InitHtmlDefaultSAXHandler (<a href="libxml2-tree.html#xmlSAXHandler">xmlSAXHandler</a> * hdlr)<br/>
</pre><p>Initialize the default HTML SAX2 handler</p>
<div class=“variablelist”><table border=“0”><col
align=“left”/><tbody><tr><td><span
class=“term”>hdlr
:</span></td><td>the
SAX
handler</td></tr></tbody></table></div></div>
<hr/> <div class="refsect2" lang="en"><h3><a name="xmlSAX2InternalSubset"/>xmlSAX2InternalSubset ()</h3><pre class="programlisting">void xmlSAX2InternalSubset (void * ctx, <br/> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br/> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * SystemID)<br/>
</pre><p>Callback on internal subset declaration.</p>
<div class=“variablelist”><table border=“0”><col
align=“left”/><tbody><tr><td><span
class=“term”>ctx
:</span></td><td>the
user data (XML parser
context)</td></tr><tr><td><span
class=“term”>name
:</span></td><td>the
root element name</td></tr><tr><td><span
class=“term”>ExternalID
:</span></td><td>the
external ID</td></tr><tr><td><span
class=“term”>SystemID
:</span></td><td>the
SYSTEM ID (e.g. filename or
URL)</td></tr></tbody></table></div></div>
<hr/> <div class="refsect2" lang="en"><h3><a name="xmlSAX2IsStandalone"/>xmlSAX2IsStandalone ()</h3><pre class="programlisting">int xmlSAX2IsStandalone (void * ctx)<br/>
</pre><p>Is this document tagged standalone ?</p> <div
class=“variablelist”><table border=“0”><col
align=“left”/><tbody><tr><td><span
class=“term”>ctx
:</span></td><td>the
user data (XML parser
context)</td></tr><tr><td><span
class=“term”>Returns
:</span></td><td>1
if
true</td></tr></tbody></table></div></div>
<hr/> <div class="refsect2" lang="en"><h3><a name="xmlSAX2NotationDecl"/>xmlSAX2NotationDecl ()</h3><pre class="programlisting">void xmlSAX2NotationDecl (void * ctx, <br/> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * publicId, <br/> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * systemId)<br/>
</pre><p>What to do when a notation declaration has been
parsed.</p> <div class=“variablelist”><table
border=“0”><col
align=“left”/><tbody><tr><td><span
class=“term”>ctx
:</span></td><td>the
user data (XML parser
context)</td></tr><tr><td><span
class=“term”>name
:</span></td><td>The
name of the notation</td></tr><tr><td><span
class=“term”>publicId
:</span></td><td>The
public ID of the entity</td></tr><tr><td><span
class=“term”>systemId
:</span></td><td>The
system ID of the
entity</td></tr></tbody></table></div></div>
<hr/> <div class="refsect2" lang="en"><h3><a name="xmlSAX2ProcessingInstruction"/>xmlSAX2ProcessingInstruction ()</h3><pre class="programlisting">void xmlSAX2ProcessingInstruction (void * ctx, <br/> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * target, <br/> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * data)<br/>
</pre><p>A processing instruction has been parsed.</p>
<div class=“variablelist”><table border=“0”><col
align=“left”/><tbody><tr><td><span
class=“term”>ctx
:</span></td><td>the
user data (XML parser
context)</td></tr><tr><td><span
class=“term”>target
:</span></td><td>the
target name</td></tr><tr><td><span
class=“term”>data
:</span></td><td>the
PI
data's</td></tr></tbody></table></div></div>
<hr/> <div class="refsect2" lang="en"><h3><a name="xmlSAX2Reference"/>xmlSAX2Reference ()</h3><pre class="programlisting">void xmlSAX2Reference (void * ctx, <br/> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br/>
</pre><p>called when an entity <a
href=“libxml2-SAX2.html#xmlSAX2Reference”>xmlSAX2Reference</a> is
detected.</p> <div class=“variablelist”><table
border=“0”><col
align=“left”/><tbody><tr><td><span
class=“term”>ctx
:</span></td><td>the
user data (XML parser
context)</td></tr><tr><td><span
class=“term”>name
:</span></td><td>The
entity
name</td></tr></tbody></table></div></div>
<hr/> <div class="refsect2" lang="en"><h3><a name="xmlSAX2ResolveEntity"/>xmlSAX2ResolveEntity ()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> xmlSAX2ResolveEntity (void * ctx, <br/> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * publicId, <br/> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * systemId)<br/>
</pre><p>The entity loader, to control the loading of external
entities, the application can either: - override this
xmlSAX2ResolveEntity() callback in the SAX block - or better use the
xmlSetExternalEntityLoader() function to set up it's own entity
resolution routine</p> <div class=“variablelist”><table
border=“0”><col
align=“left”/><tbody><tr><td><span
class=“term”>ctx
:</span></td><td>the
user data (XML parser
context)</td></tr><tr><td><span
class=“term”>publicId
:</span></td><td>The
public ID of the entity</td></tr><tr><td><span
class=“term”>systemId
:</span></td><td>The
system ID of the entity</td></tr><tr><td><span
class=“term”>Returns
:</span></td><td>the
<a
href=“libxml2-tree.html#xmlParserInputPtr”>xmlParserInputPtr</a>
if inlined or NULL for DOM
behaviour.</td></tr></tbody></table></div></div>
<hr/> <div class="refsect2" lang="en"><h3><a name="xmlSAX2SetDocumentLocator"/>xmlSAX2SetDocumentLocator ()</h3><pre class="programlisting">void xmlSAX2SetDocumentLocator (void * ctx, <br/> <a href="libxml2-tree.html#xmlSAXLocatorPtr">xmlSAXLocatorPtr</a> loc)<br/>
</pre><p>Receive the document locator at startup, actually
<a
href=“libxml2-globals.html#xmlDefaultSAXLocator”>xmlDefaultSAXLocator</a>
Everything is available on the context, so this is useless in our
case.</p> <div class=“variablelist”><table
border=“0”><col
align=“left”/><tbody><tr><td><span
class=“term”>ctx
:</span></td><td>the
user data (XML parser
context)</td></tr><tr><td><span
class=“term”>loc
:</span></td><td>A
SAX
Locator</td></tr></tbody></table></div></div>
<hr/> <div class="refsect2" lang="en"><h3><a name="xmlSAX2StartDocument"/>xmlSAX2StartDocument ()</h3><pre class="programlisting">void xmlSAX2StartDocument (void * ctx)<br/>
</pre><p>called when the document start being
processed.</p> <div class=“variablelist”><table
border=“0”><col
align=“left”/><tbody><tr><td><span
class=“term”>ctx
:</span></td><td>the
user data (XML parser
context)</td></tr></tbody></table></div></div>
<hr/> <div class="refsect2" lang="en"><h3><a name="xmlSAX2StartElement"/>xmlSAX2StartElement ()</h3><pre class="programlisting">void xmlSAX2StartElement (void * ctx, <br/> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * fullname, <br/> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** atts)<br/>
</pre><p>called when an opening tag has been
processed.</p> <div class=“variablelist”><table
border=“0”><col
align=“left”/><tbody><tr><td><span
class=“term”>ctx
:</span></td><td>the
user data (XML parser
context)</td></tr><tr><td><span
class=“term”>fullname
:</span></td><td>The
element name, including namespace
prefix</td></tr><tr><td><span
class=“term”>atts
:</span></td><td>An
array of name/value attributes pairs, NULL
terminated</td></tr></tbody></table></div></div>
<hr/> <div class="refsect2" lang="en"><h3><a name="xmlSAX2StartElementNs"/>xmlSAX2StartElementNs ()</h3><pre class="programlisting">void xmlSAX2StartElementNs (void * ctx, <br/> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * localname, <br/> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br/> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URI, <br/> int nb_namespaces, <br/> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** namespaces, <br/> int nb_attributes, <br/> int nb_defaulted, <br/> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** attributes)<br/>
</pre><p>SAX2 callback when an element start has been detected
by the parser. It provides the namespace informations for the element, as
well as the new namespace declarations on the element.</p> <div
class=“variablelist”><table border=“0”><col
align=“left”/><tbody><tr><td><span
class=“term”>ctx
:</span></td><td>the
user data (XML parser
context)</td></tr><tr><td><span
class=“term”>localname
:</span></td><td>the
local name of the element</td></tr><tr><td><span
class=“term”>prefix
:</span></td><td>the
element namespace prefix if
available</td></tr><tr><td><span
class=“term”>URI
:</span></td><td>the
element namespace name if
available</td></tr><tr><td><span
class=“term”>nb_namespaces
:</span></td><td>number
of namespace definitions on that
node</td></tr><tr><td><span
class=“term”>namespaces
:</span></td><td>pointer
to the array of prefix/URI pairs namespace
definitions</td></tr><tr><td><span
class=“term”>nb_attributes
:</span></td><td>the
number of attributes on that
node</td></tr><tr><td><span
class=“term”>nb_defaulted
:</span></td><td>the
number of defaulted
attributes.</td></tr><tr><td><span
class=“term”>attributes
:</span></td><td>pointer
to the array of (localname/prefix/URI/value/end) <a
href=“libxml2-SAX.html#attribute”>attribute</a>
values.</td></tr></tbody></table></div></div>
<hr/> <div class="refsect2" lang="en"><h3><a name="xmlSAX2UnparsedEntityDecl"/>xmlSAX2UnparsedEntityDecl ()</h3><pre class="programlisting">void xmlSAX2UnparsedEntityDecl (void * ctx, <br/> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * publicId, <br/> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * systemId, <br/> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * notationName)<br/>
</pre><p>What to do when an unparsed entity declaration is
parsed</p> <div class=“variablelist”><table
border=“0”><col
align=“left”/><tbody><tr><td><span
class=“term”>ctx
:</span></td><td>the
user data (XML parser
context)</td></tr><tr><td><span
class=“term”>name
:</span></td><td>The
name of the entity</td></tr><tr><td><span
class=“term”>publicId
:</span></td><td>The
public ID of the entity</td></tr><tr><td><span
class=“term”>systemId
:</span></td><td>The
system ID of the entity</td></tr><tr><td><span
class=“term”>notationName
:</span></td><td>the
name of the
notation</td></tr></tbody></table></div></div>
<hr/> <div class="refsect2" lang="en"><h3><a name="xmlSAXDefaultVersion"/>xmlSAXDefaultVersion ()</h3><pre class="programlisting">int xmlSAXDefaultVersion (int version)<br/>
</pre><p>Set the default version of SAX used globally by the
library. By default, during initialization the default is set to 2. Note
that it is generally a better coding style to use xmlSAXVersion() to set up
the version explicitly for a given parsing context.</p> <div
class=“variablelist”><table border=“0”><col
align=“left”/><tbody><tr><td><span
class=“term”>version
:</span></td><td>the
version, 1 or 2</td></tr><tr><td><span
class=“term”>Returns
:</span></td><td>the
previous value in case of success and -1 in case of
error.</td></tr></tbody></table></div></div>
<hr/> <div class="refsect2" lang="en"><h3><a name="xmlSAXVersion"/>xmlSAXVersion ()</h3><pre class="programlisting">int xmlSAXVersion (<a href="libxml2-tree.html#xmlSAXHandler">xmlSAXHandler</a> * hdlr, <br/> int version)<br/>
</pre><p>Initialize the default XML SAX handler according to
the version</p> <div class=“variablelist”><table
border=“0”><col
align=“left”/><tbody><tr><td><span
class=“term”>hdlr
:</span></td><td>the
SAX handler</td></tr><tr><td><span
class=“term”>version
:</span></td><td>the
version, 1 or 2</td></tr><tr><td><span
class=“term”>Returns
:</span></td><td>0
in case of success and -1 in case of
error.</td></tr></tbody></table></div></div>
<hr/> </div> </div> </body>
</html>