1<html> 2<head> 3<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 4<title>SAX2: SAX2 parser interface used to build the DOM tree</title> 5<meta name="generator" content="Libxml2 devhelp stylesheet"> 6<link rel="start" href="index.html" title="libxml2 Reference Manual"> 7<link rel="up" href="general.html" title="API"> 8<link rel="stylesheet" href="style.css" type="text/css"> 9<link rel="chapter" href="general.html" title="API"> 10</head> 11<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> 12<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"> 13<td><a accesskey="p" href="libxml2-SAX.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td> 14<td><a accesskey="u" href="general.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td> 15<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td> 16<td><a accesskey="n" href="libxml2-c14n.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td> 17<th width="100%" align="center">libxml2 Reference Manual</th> 18</tr></table> 19<h2><span class="refentrytitle">SAX2</span></h2> 20<p>SAX2 - SAX2 parser interface used to build the DOM tree</p> 21<p>those are the default SAX2 interfaces used by the library when building DOM tree. </p> 22<p>Author(s): Daniel Veillard </p> 23<div class="refsynopsisdiv"> 24<h2>Synopsis</h2> 25<pre class="synopsis">void <a href="#htmlDefaultSAXHandlerInit">htmlDefaultSAXHandlerInit</a> (void); 26void <a href="#xmlDefaultSAXHandlerInit">xmlDefaultSAXHandlerInit</a> (void); 27void <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); 28void <a href="#xmlSAX2CDataBlock">xmlSAX2CDataBlock</a> (void * ctx, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br> int len); 29void <a href="#xmlSAX2Characters">xmlSAX2Characters</a> (void * ctx, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ch, <br> int len); 30void <a href="#xmlSAX2Comment">xmlSAX2Comment</a> (void * ctx, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value); 31void <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); 32void <a href="#xmlSAX2EndDocument">xmlSAX2EndDocument</a> (void * ctx); 33void <a href="#xmlSAX2EndElement">xmlSAX2EndElement</a> (void * ctx, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name); 34void <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); 35void <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); 36void <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); 37int <a href="#xmlSAX2GetColumnNumber">xmlSAX2GetColumnNumber</a> (void * ctx); 38<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); 39int <a href="#xmlSAX2GetLineNumber">xmlSAX2GetLineNumber</a> (void * ctx); 40<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); 41const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * <a href="#xmlSAX2GetPublicId">xmlSAX2GetPublicId</a> (void * ctx); 42const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * <a href="#xmlSAX2GetSystemId">xmlSAX2GetSystemId</a> (void * ctx); 43int <a href="#xmlSAX2HasExternalSubset">xmlSAX2HasExternalSubset</a> (void * ctx); 44int <a href="#xmlSAX2HasInternalSubset">xmlSAX2HasInternalSubset</a> (void * ctx); 45void <a href="#xmlSAX2IgnorableWhitespace">xmlSAX2IgnorableWhitespace</a> (void * ctx, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ch, <br> int len); 46void <a href="#xmlSAX2InitDefaultSAXHandler">xmlSAX2InitDefaultSAXHandler</a> (<a href="libxml2-tree.html#xmlSAXHandler">xmlSAXHandler</a> * hdlr, <br> int warning); 47void <a href="#xmlSAX2InitHtmlDefaultSAXHandler">xmlSAX2InitHtmlDefaultSAXHandler</a> (<a href="libxml2-tree.html#xmlSAXHandler">xmlSAXHandler</a> * hdlr); 48void <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); 49int <a href="#xmlSAX2IsStandalone">xmlSAX2IsStandalone</a> (void * ctx); 50void <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); 51void <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); 52void <a href="#xmlSAX2Reference">xmlSAX2Reference</a> (void * ctx, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name); 53<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); 54void <a href="#xmlSAX2SetDocumentLocator">xmlSAX2SetDocumentLocator</a> (void * ctx, <br> <a href="libxml2-tree.html#xmlSAXLocatorPtr">xmlSAXLocatorPtr</a> loc); 55void <a href="#xmlSAX2StartDocument">xmlSAX2StartDocument</a> (void * ctx); 56void <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); 57void <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); 58void <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); 59int <a href="#xmlSAXDefaultVersion">xmlSAXDefaultVersion</a> (int version); 60int <a href="#xmlSAXVersion">xmlSAXVersion</a> (<a href="libxml2-tree.html#xmlSAXHandler">xmlSAXHandler</a> * hdlr, <br> int version); 61</pre> 62</div> 63<div class="refsect1" lang="en"><h2>Description</h2></div> 64<div class="refsect1" lang="en"> 65<h2>Details</h2> 66<div class="refsect2" lang="en"> 67<div class="refsect2" lang="en"> 68<h3> 69<a name="htmlDefaultSAXHandlerInit"></a>htmlDefaultSAXHandlerInit ()</h3> 70<pre class="programlisting">void htmlDefaultSAXHandlerInit (void)<br> 71</pre> 72<p>DEPRECATED: This function is a no-op. Call <a href="libxml2-parser.html#xmlInitParser">xmlInitParser</a> to initialize the library.</p> 73</div> 74<hr> 75<div class="refsect2" lang="en"> 76<h3> 77<a name="xmlDefaultSAXHandlerInit"></a>xmlDefaultSAXHandlerInit ()</h3> 78<pre class="programlisting">void xmlDefaultSAXHandlerInit (void)<br> 79</pre> 80<p>DEPRECATED: This function is a no-op. Call <a href="libxml2-parser.html#xmlInitParser">xmlInitParser</a> to initialize the library. Initialize the default SAX2 handler</p> 81</div> 82<hr> 83<div class="refsect2" lang="en"> 84<h3> 85<a name="xmlSAX2AttributeDecl"></a>xmlSAX2AttributeDecl ()</h3> 86<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> 87</pre> 88<p>An <a href="libxml2-SAX.html#attribute">attribute</a> definition has been parsed</p> 89<div class="variablelist"><table border="0"> 90<col align="left"> 91<tbody> 92<tr> 93<td><span class="term"><i><tt>ctx</tt></i>:</span></td> 94<td>the user data (XML parser context)</td> 95</tr> 96<tr> 97<td><span class="term"><i><tt>elem</tt></i>:</span></td> 98<td>the name of the element</td> 99</tr> 100<tr> 101<td><span class="term"><i><tt>fullname</tt></i>:</span></td> 102<td>the <a href="libxml2-SAX.html#attribute">attribute</a> name</td> 103</tr> 104<tr> 105<td><span class="term"><i><tt>type</tt></i>:</span></td> 106<td>the <a href="libxml2-SAX.html#attribute">attribute</a> type</td> 107</tr> 108<tr> 109<td><span class="term"><i><tt>def</tt></i>:</span></td> 110<td>the type of default value</td> 111</tr> 112<tr> 113<td><span class="term"><i><tt>defaultValue</tt></i>:</span></td> 114<td>the <a href="libxml2-SAX.html#attribute">attribute</a> default value</td> 115</tr> 116<tr> 117<td><span class="term"><i><tt>tree</tt></i>:</span></td> 118<td>the tree of enumerated value set</td> 119</tr> 120</tbody> 121</table></div> 122</div> 123<hr> 124<div class="refsect2" lang="en"> 125<h3> 126<a name="xmlSAX2CDataBlock"></a>xmlSAX2CDataBlock ()</h3> 127<pre class="programlisting">void xmlSAX2CDataBlock (void * ctx, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br> int len)<br> 128</pre> 129<p>called when a pcdata block has been parsed</p> 130<div class="variablelist"><table border="0"> 131<col align="left"> 132<tbody> 133<tr> 134<td><span class="term"><i><tt>ctx</tt></i>:</span></td> 135<td>the user data (XML parser context)</td> 136</tr> 137<tr> 138<td><span class="term"><i><tt>value</tt></i>:</span></td> 139<td>The pcdata content</td> 140</tr> 141<tr> 142<td><span class="term"><i><tt>len</tt></i>:</span></td> 143<td>the block length</td> 144</tr> 145</tbody> 146</table></div> 147</div> 148<hr> 149<div class="refsect2" lang="en"> 150<h3> 151<a name="xmlSAX2Characters"></a>xmlSAX2Characters ()</h3> 152<pre class="programlisting">void xmlSAX2Characters (void * ctx, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ch, <br> int len)<br> 153</pre> 154<p>receiving some chars from the parser.</p> 155<div class="variablelist"><table border="0"> 156<col align="left"> 157<tbody> 158<tr> 159<td><span class="term"><i><tt>ctx</tt></i>:</span></td> 160<td>the user data (XML parser context)</td> 161</tr> 162<tr> 163<td><span class="term"><i><tt>ch</tt></i>:</span></td> 164<td>a <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> string</td> 165</tr> 166<tr> 167<td><span class="term"><i><tt>len</tt></i>:</span></td> 168<td>the number of <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> 169</td> 170</tr> 171</tbody> 172</table></div> 173</div> 174<hr> 175<div class="refsect2" lang="en"> 176<h3> 177<a name="xmlSAX2Comment"></a>xmlSAX2Comment ()</h3> 178<pre class="programlisting">void xmlSAX2Comment (void * ctx, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value)<br> 179</pre> 180<p>A <a href="libxml2-SAX2.html#xmlSAX2Comment">xmlSAX2Comment</a> has been parsed.</p> 181<div class="variablelist"><table border="0"> 182<col align="left"> 183<tbody> 184<tr> 185<td><span class="term"><i><tt>ctx</tt></i>:</span></td> 186<td>the user data (XML parser context)</td> 187</tr> 188<tr> 189<td><span class="term"><i><tt>value</tt></i>:</span></td> 190<td>the <a href="libxml2-SAX2.html#xmlSAX2Comment">xmlSAX2Comment</a> content</td> 191</tr> 192</tbody> 193</table></div> 194</div> 195<hr> 196<div class="refsect2" lang="en"> 197<h3> 198<a name="xmlSAX2ElementDecl"></a>xmlSAX2ElementDecl ()</h3> 199<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> 200</pre> 201<p>An element definition has been parsed</p> 202<div class="variablelist"><table border="0"> 203<col align="left"> 204<tbody> 205<tr> 206<td><span class="term"><i><tt>ctx</tt></i>:</span></td> 207<td>the user data (XML parser context)</td> 208</tr> 209<tr> 210<td><span class="term"><i><tt>name</tt></i>:</span></td> 211<td>the element name</td> 212</tr> 213<tr> 214<td><span class="term"><i><tt>type</tt></i>:</span></td> 215<td>the element type</td> 216</tr> 217<tr> 218<td><span class="term"><i><tt>content</tt></i>:</span></td> 219<td>the element value tree</td> 220</tr> 221</tbody> 222</table></div> 223</div> 224<hr> 225<div class="refsect2" lang="en"> 226<h3> 227<a name="xmlSAX2EndDocument"></a>xmlSAX2EndDocument ()</h3> 228<pre class="programlisting">void xmlSAX2EndDocument (void * ctx)<br> 229</pre> 230<p>called when the document end has been detected.</p> 231<div class="variablelist"><table border="0"> 232<col align="left"> 233<tbody><tr> 234<td><span class="term"><i><tt>ctx</tt></i>:</span></td> 235<td>the user data (XML parser context)</td> 236</tr></tbody> 237</table></div> 238</div> 239<hr> 240<div class="refsect2" lang="en"> 241<h3> 242<a name="xmlSAX2EndElement"></a>xmlSAX2EndElement ()</h3> 243<pre class="programlisting">void xmlSAX2EndElement (void * ctx, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br> 244</pre> 245<p>called when the end of an element has been detected.</p> 246<div class="variablelist"><table border="0"> 247<col align="left"> 248<tbody> 249<tr> 250<td><span class="term"><i><tt>ctx</tt></i>:</span></td> 251<td>the user data (XML parser context)</td> 252</tr> 253<tr> 254<td><span class="term"><i><tt>name</tt></i>:</span></td> 255<td>The element name</td> 256</tr> 257</tbody> 258</table></div> 259</div> 260<hr> 261<div class="refsect2" lang="en"> 262<h3> 263<a name="xmlSAX2EndElementNs"></a>xmlSAX2EndElementNs ()</h3> 264<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> 265</pre> 266<p>SAX2 callback when an element end has been detected by the parser. It provides the namespace information for the element.</p> 267<div class="variablelist"><table border="0"> 268<col align="left"> 269<tbody> 270<tr> 271<td><span class="term"><i><tt>ctx</tt></i>:</span></td> 272<td>the user data (XML parser context)</td> 273</tr> 274<tr> 275<td><span class="term"><i><tt>localname</tt></i>:</span></td> 276<td>the local name of the element</td> 277</tr> 278<tr> 279<td><span class="term"><i><tt>prefix</tt></i>:</span></td> 280<td>the element namespace prefix if available</td> 281</tr> 282<tr> 283<td><span class="term"><i><tt>URI</tt></i>:</span></td> 284<td>the element namespace name if available</td> 285</tr> 286</tbody> 287</table></div> 288</div> 289<hr> 290<div class="refsect2" lang="en"> 291<h3> 292<a name="xmlSAX2EntityDecl"></a>xmlSAX2EntityDecl ()</h3> 293<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> 294</pre> 295<p>An entity definition has been parsed</p> 296<div class="variablelist"><table border="0"> 297<col align="left"> 298<tbody> 299<tr> 300<td><span class="term"><i><tt>ctx</tt></i>:</span></td> 301<td>the user data (XML parser context)</td> 302</tr> 303<tr> 304<td><span class="term"><i><tt>name</tt></i>:</span></td> 305<td>the entity name</td> 306</tr> 307<tr> 308<td><span class="term"><i><tt>type</tt></i>:</span></td> 309<td>the entity type</td> 310</tr> 311<tr> 312<td><span class="term"><i><tt>publicId</tt></i>:</span></td> 313<td>The public ID of the entity</td> 314</tr> 315<tr> 316<td><span class="term"><i><tt>systemId</tt></i>:</span></td> 317<td>The system ID of the entity</td> 318</tr> 319<tr> 320<td><span class="term"><i><tt>content</tt></i>:</span></td> 321<td>the entity value (without processing).</td> 322</tr> 323</tbody> 324</table></div> 325</div> 326<hr> 327<div class="refsect2" lang="en"> 328<h3> 329<a name="xmlSAX2ExternalSubset"></a>xmlSAX2ExternalSubset ()</h3> 330<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> 331</pre> 332<p>Callback on external subset declaration.</p> 333<div class="variablelist"><table border="0"> 334<col align="left"> 335<tbody> 336<tr> 337<td><span class="term"><i><tt>ctx</tt></i>:</span></td> 338<td>the user data (XML parser context)</td> 339</tr> 340<tr> 341<td><span class="term"><i><tt>name</tt></i>:</span></td> 342<td>the root element name</td> 343</tr> 344<tr> 345<td><span class="term"><i><tt>ExternalID</tt></i>:</span></td> 346<td>the external ID</td> 347</tr> 348<tr> 349<td><span class="term"><i><tt>SystemID</tt></i>:</span></td> 350<td>the SYSTEM ID (e.g. filename or URL)</td> 351</tr> 352</tbody> 353</table></div> 354</div> 355<hr> 356<div class="refsect2" lang="en"> 357<h3> 358<a name="xmlSAX2GetColumnNumber"></a>xmlSAX2GetColumnNumber ()</h3> 359<pre class="programlisting">int xmlSAX2GetColumnNumber (void * ctx)<br> 360</pre> 361<p>Provide the column number of the current parsing point.</p> 362<div class="variablelist"><table border="0"> 363<col align="left"> 364<tbody> 365<tr> 366<td><span class="term"><i><tt>ctx</tt></i>:</span></td> 367<td>the user data (XML parser context)</td> 368</tr> 369<tr> 370<td><span class="term"><i><tt>Returns</tt></i>:</span></td> 371<td>an int</td> 372</tr> 373</tbody> 374</table></div> 375</div> 376<hr> 377<div class="refsect2" lang="en"> 378<h3> 379<a name="xmlSAX2GetEntity"></a>xmlSAX2GetEntity ()</h3> 380<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> 381</pre> 382<p>Get an entity by name</p> 383<div class="variablelist"><table border="0"> 384<col align="left"> 385<tbody> 386<tr> 387<td><span class="term"><i><tt>ctx</tt></i>:</span></td> 388<td>the user data (XML parser context)</td> 389</tr> 390<tr> 391<td><span class="term"><i><tt>name</tt></i>:</span></td> 392<td>The entity name</td> 393</tr> 394<tr> 395<td><span class="term"><i><tt>Returns</tt></i>:</span></td> 396<td>the <a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a> if found.</td> 397</tr> 398</tbody> 399</table></div> 400</div> 401<hr> 402<div class="refsect2" lang="en"> 403<h3> 404<a name="xmlSAX2GetLineNumber"></a>xmlSAX2GetLineNumber ()</h3> 405<pre class="programlisting">int xmlSAX2GetLineNumber (void * ctx)<br> 406</pre> 407<p>Provide the line number of the current parsing point.</p> 408<div class="variablelist"><table border="0"> 409<col align="left"> 410<tbody> 411<tr> 412<td><span class="term"><i><tt>ctx</tt></i>:</span></td> 413<td>the user data (XML parser context)</td> 414</tr> 415<tr> 416<td><span class="term"><i><tt>Returns</tt></i>:</span></td> 417<td>an int</td> 418</tr> 419</tbody> 420</table></div> 421</div> 422<hr> 423<div class="refsect2" lang="en"> 424<h3> 425<a name="xmlSAX2GetParameterEntity"></a>xmlSAX2GetParameterEntity ()</h3> 426<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> 427</pre> 428<p>Get a parameter entity by name</p> 429<div class="variablelist"><table border="0"> 430<col align="left"> 431<tbody> 432<tr> 433<td><span class="term"><i><tt>ctx</tt></i>:</span></td> 434<td>the user data (XML parser context)</td> 435</tr> 436<tr> 437<td><span class="term"><i><tt>name</tt></i>:</span></td> 438<td>The entity name</td> 439</tr> 440<tr> 441<td><span class="term"><i><tt>Returns</tt></i>:</span></td> 442<td>the <a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a> if found.</td> 443</tr> 444</tbody> 445</table></div> 446</div> 447<hr> 448<div class="refsect2" lang="en"> 449<h3> 450<a name="xmlSAX2GetPublicId"></a>xmlSAX2GetPublicId ()</h3> 451<pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * xmlSAX2GetPublicId (void * ctx)<br> 452</pre> 453<p>Provides the public ID e.g. "-//SGMLSOURCE//DTD DEMO//EN"</p> 454<div class="variablelist"><table border="0"> 455<col align="left"> 456<tbody> 457<tr> 458<td><span class="term"><i><tt>ctx</tt></i>:</span></td> 459<td>the user data (XML parser context)</td> 460</tr> 461<tr> 462<td><span class="term"><i><tt>Returns</tt></i>:</span></td> 463<td>a <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *</td> 464</tr> 465</tbody> 466</table></div> 467</div> 468<hr> 469<div class="refsect2" lang="en"> 470<h3> 471<a name="xmlSAX2GetSystemId"></a>xmlSAX2GetSystemId ()</h3> 472<pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * xmlSAX2GetSystemId (void * ctx)<br> 473</pre> 474<p>Provides the system ID, basically URL or filename e.g. http://www.sgmlsource.com/dtds/memo.dtd</p> 475<div class="variablelist"><table border="0"> 476<col align="left"> 477<tbody> 478<tr> 479<td><span class="term"><i><tt>ctx</tt></i>:</span></td> 480<td>the user data (XML parser context)</td> 481</tr> 482<tr> 483<td><span class="term"><i><tt>Returns</tt></i>:</span></td> 484<td>a <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *</td> 485</tr> 486</tbody> 487</table></div> 488</div> 489<hr> 490<div class="refsect2" lang="en"> 491<h3> 492<a name="xmlSAX2HasExternalSubset"></a>xmlSAX2HasExternalSubset ()</h3> 493<pre class="programlisting">int xmlSAX2HasExternalSubset (void * ctx)<br> 494</pre> 495<p>Does this document has an external subset</p> 496<div class="variablelist"><table border="0"> 497<col align="left"> 498<tbody> 499<tr> 500<td><span class="term"><i><tt>ctx</tt></i>:</span></td> 501<td>the user data (XML parser context)</td> 502</tr> 503<tr> 504<td><span class="term"><i><tt>Returns</tt></i>:</span></td> 505<td>1 if true</td> 506</tr> 507</tbody> 508</table></div> 509</div> 510<hr> 511<div class="refsect2" lang="en"> 512<h3> 513<a name="xmlSAX2HasInternalSubset"></a>xmlSAX2HasInternalSubset ()</h3> 514<pre class="programlisting">int xmlSAX2HasInternalSubset (void * ctx)<br> 515</pre> 516<p>Does this document has an internal subset</p> 517<div class="variablelist"><table border="0"> 518<col align="left"> 519<tbody> 520<tr> 521<td><span class="term"><i><tt>ctx</tt></i>:</span></td> 522<td>the user data (XML parser context)</td> 523</tr> 524<tr> 525<td><span class="term"><i><tt>Returns</tt></i>:</span></td> 526<td>1 if true</td> 527</tr> 528</tbody> 529</table></div> 530</div> 531<hr> 532<div class="refsect2" lang="en"> 533<h3> 534<a name="xmlSAX2IgnorableWhitespace"></a>xmlSAX2IgnorableWhitespace ()</h3> 535<pre class="programlisting">void xmlSAX2IgnorableWhitespace (void * ctx, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ch, <br> int len)<br> 536</pre> 537<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> 538<div class="variablelist"><table border="0"> 539<col align="left"> 540<tbody> 541<tr> 542<td><span class="term"><i><tt>ctx</tt></i>:</span></td> 543<td>the user data (XML parser context)</td> 544</tr> 545<tr> 546<td><span class="term"><i><tt>ch</tt></i>:</span></td> 547<td>a <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> string</td> 548</tr> 549<tr> 550<td><span class="term"><i><tt>len</tt></i>:</span></td> 551<td>the number of <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> 552</td> 553</tr> 554</tbody> 555</table></div> 556</div> 557<hr> 558<div class="refsect2" lang="en"> 559<h3> 560<a name="xmlSAX2InitDefaultSAXHandler"></a>xmlSAX2InitDefaultSAXHandler ()</h3> 561<pre class="programlisting">void xmlSAX2InitDefaultSAXHandler (<a href="libxml2-tree.html#xmlSAXHandler">xmlSAXHandler</a> * hdlr, <br> int warning)<br> 562</pre> 563<p>Initialize the default XML SAX2 handler</p> 564<div class="variablelist"><table border="0"> 565<col align="left"> 566<tbody> 567<tr> 568<td><span class="term"><i><tt>hdlr</tt></i>:</span></td> 569<td>the SAX handler</td> 570</tr> 571<tr> 572<td><span class="term"><i><tt>warning</tt></i>:</span></td> 573<td>flag if non-zero sets the handler warning procedure</td> 574</tr> 575</tbody> 576</table></div> 577</div> 578<hr> 579<div class="refsect2" lang="en"> 580<h3> 581<a name="xmlSAX2InitHtmlDefaultSAXHandler"></a>xmlSAX2InitHtmlDefaultSAXHandler ()</h3> 582<pre class="programlisting">void xmlSAX2InitHtmlDefaultSAXHandler (<a href="libxml2-tree.html#xmlSAXHandler">xmlSAXHandler</a> * hdlr)<br> 583</pre> 584<p>Initialize the default HTML SAX2 handler</p> 585<div class="variablelist"><table border="0"> 586<col align="left"> 587<tbody><tr> 588<td><span class="term"><i><tt>hdlr</tt></i>:</span></td> 589<td>the SAX handler</td> 590</tr></tbody> 591</table></div> 592</div> 593<hr> 594<div class="refsect2" lang="en"> 595<h3> 596<a name="xmlSAX2InternalSubset"></a>xmlSAX2InternalSubset ()</h3> 597<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> 598</pre> 599<p>Callback on internal subset declaration.</p> 600<div class="variablelist"><table border="0"> 601<col align="left"> 602<tbody> 603<tr> 604<td><span class="term"><i><tt>ctx</tt></i>:</span></td> 605<td>the user data (XML parser context)</td> 606</tr> 607<tr> 608<td><span class="term"><i><tt>name</tt></i>:</span></td> 609<td>the root element name</td> 610</tr> 611<tr> 612<td><span class="term"><i><tt>ExternalID</tt></i>:</span></td> 613<td>the external ID</td> 614</tr> 615<tr> 616<td><span class="term"><i><tt>SystemID</tt></i>:</span></td> 617<td>the SYSTEM ID (e.g. filename or URL)</td> 618</tr> 619</tbody> 620</table></div> 621</div> 622<hr> 623<div class="refsect2" lang="en"> 624<h3> 625<a name="xmlSAX2IsStandalone"></a>xmlSAX2IsStandalone ()</h3> 626<pre class="programlisting">int xmlSAX2IsStandalone (void * ctx)<br> 627</pre> 628<p>Is this document tagged standalone ?</p> 629<div class="variablelist"><table border="0"> 630<col align="left"> 631<tbody> 632<tr> 633<td><span class="term"><i><tt>ctx</tt></i>:</span></td> 634<td>the user data (XML parser context)</td> 635</tr> 636<tr> 637<td><span class="term"><i><tt>Returns</tt></i>:</span></td> 638<td>1 if true</td> 639</tr> 640</tbody> 641</table></div> 642</div> 643<hr> 644<div class="refsect2" lang="en"> 645<h3> 646<a name="xmlSAX2NotationDecl"></a>xmlSAX2NotationDecl ()</h3> 647<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> 648</pre> 649<p>What to do when a notation declaration has been parsed.</p> 650<div class="variablelist"><table border="0"> 651<col align="left"> 652<tbody> 653<tr> 654<td><span class="term"><i><tt>ctx</tt></i>:</span></td> 655<td>the user data (XML parser context)</td> 656</tr> 657<tr> 658<td><span class="term"><i><tt>name</tt></i>:</span></td> 659<td>The name of the notation</td> 660</tr> 661<tr> 662<td><span class="term"><i><tt>publicId</tt></i>:</span></td> 663<td>The public ID of the entity</td> 664</tr> 665<tr> 666<td><span class="term"><i><tt>systemId</tt></i>:</span></td> 667<td>The system ID of the entity</td> 668</tr> 669</tbody> 670</table></div> 671</div> 672<hr> 673<div class="refsect2" lang="en"> 674<h3> 675<a name="xmlSAX2ProcessingInstruction"></a>xmlSAX2ProcessingInstruction ()</h3> 676<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> 677</pre> 678<p>A processing instruction has been parsed.</p> 679<div class="variablelist"><table border="0"> 680<col align="left"> 681<tbody> 682<tr> 683<td><span class="term"><i><tt>ctx</tt></i>:</span></td> 684<td>the user data (XML parser context)</td> 685</tr> 686<tr> 687<td><span class="term"><i><tt>target</tt></i>:</span></td> 688<td>the target name</td> 689</tr> 690<tr> 691<td><span class="term"><i><tt>data</tt></i>:</span></td> 692<td>the PI data's</td> 693</tr> 694</tbody> 695</table></div> 696</div> 697<hr> 698<div class="refsect2" lang="en"> 699<h3> 700<a name="xmlSAX2Reference"></a>xmlSAX2Reference ()</h3> 701<pre class="programlisting">void xmlSAX2Reference (void * ctx, <br> const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br> 702</pre> 703<p>called when an entity <a href="libxml2-SAX2.html#xmlSAX2Reference">xmlSAX2Reference</a> is detected.</p> 704<div class="variablelist"><table border="0"> 705<col align="left"> 706<tbody> 707<tr> 708<td><span class="term"><i><tt>ctx</tt></i>:</span></td> 709<td>the user data (XML parser context)</td> 710</tr> 711<tr> 712<td><span class="term"><i><tt>name</tt></i>:</span></td> 713<td>The entity name</td> 714</tr> 715</tbody> 716</table></div> 717</div> 718<hr> 719<div class="refsect2" lang="en"> 720<h3> 721<a name="xmlSAX2ResolveEntity"></a>xmlSAX2ResolveEntity ()</h3> 722<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> 723</pre> 724<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> 725<div class="variablelist"><table border="0"> 726<col align="left"> 727<tbody> 728<tr> 729<td><span class="term"><i><tt>ctx</tt></i>:</span></td> 730<td>the user data (XML parser context)</td> 731</tr> 732<tr> 733<td><span class="term"><i><tt>publicId</tt></i>:</span></td> 734<td>The public ID of the entity</td> 735</tr> 736<tr> 737<td><span class="term"><i><tt>systemId</tt></i>:</span></td> 738<td>The system ID of the entity</td> 739</tr> 740<tr> 741<td><span class="term"><i><tt>Returns</tt></i>:</span></td> 742<td>the <a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> if inlined or NULL for DOM behaviour.</td> 743</tr> 744</tbody> 745</table></div> 746</div> 747<hr> 748<div class="refsect2" lang="en"> 749<h3> 750<a name="xmlSAX2SetDocumentLocator"></a>xmlSAX2SetDocumentLocator ()</h3> 751<pre class="programlisting">void xmlSAX2SetDocumentLocator (void * ctx, <br> <a href="libxml2-tree.html#xmlSAXLocatorPtr">xmlSAXLocatorPtr</a> loc)<br> 752</pre> 753<p>Receive the document locator at startup, actually <a href="libxml2-parser.html#xmlDefaultSAXLocator">xmlDefaultSAXLocator</a> Everything is available on the context, so this is useless in our case.</p> 754<div class="variablelist"><table border="0"> 755<col align="left"> 756<tbody> 757<tr> 758<td><span class="term"><i><tt>ctx</tt></i>:</span></td> 759<td>the user data (XML parser context)</td> 760</tr> 761<tr> 762<td><span class="term"><i><tt>loc</tt></i>:</span></td> 763<td>A SAX Locator</td> 764</tr> 765</tbody> 766</table></div> 767</div> 768<hr> 769<div class="refsect2" lang="en"> 770<h3> 771<a name="xmlSAX2StartDocument"></a>xmlSAX2StartDocument ()</h3> 772<pre class="programlisting">void xmlSAX2StartDocument (void * ctx)<br> 773</pre> 774<p>called when the document start being processed.</p> 775<div class="variablelist"><table border="0"> 776<col align="left"> 777<tbody><tr> 778<td><span class="term"><i><tt>ctx</tt></i>:</span></td> 779<td>the user data (XML parser context)</td> 780</tr></tbody> 781</table></div> 782</div> 783<hr> 784<div class="refsect2" lang="en"> 785<h3> 786<a name="xmlSAX2StartElement"></a>xmlSAX2StartElement ()</h3> 787<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> 788</pre> 789<p>called when an opening tag has been processed.</p> 790<div class="variablelist"><table border="0"> 791<col align="left"> 792<tbody> 793<tr> 794<td><span class="term"><i><tt>ctx</tt></i>:</span></td> 795<td>the user data (XML parser context)</td> 796</tr> 797<tr> 798<td><span class="term"><i><tt>fullname</tt></i>:</span></td> 799<td>The element name, including namespace prefix</td> 800</tr> 801<tr> 802<td><span class="term"><i><tt>atts</tt></i>:</span></td> 803<td>An array of name/value attributes pairs, NULL terminated</td> 804</tr> 805</tbody> 806</table></div> 807</div> 808<hr> 809<div class="refsect2" lang="en"> 810<h3> 811<a name="xmlSAX2StartElementNs"></a>xmlSAX2StartElementNs ()</h3> 812<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> 813</pre> 814<p>SAX2 callback when an element start has been detected by the parser. It provides the namespace information for the element, as well as the new namespace declarations on the element.</p> 815<div class="variablelist"><table border="0"> 816<col align="left"> 817<tbody> 818<tr> 819<td><span class="term"><i><tt>ctx</tt></i>:</span></td> 820<td>the user data (XML parser context)</td> 821</tr> 822<tr> 823<td><span class="term"><i><tt>localname</tt></i>:</span></td> 824<td>the local name of the element</td> 825</tr> 826<tr> 827<td><span class="term"><i><tt>prefix</tt></i>:</span></td> 828<td>the element namespace prefix if available</td> 829</tr> 830<tr> 831<td><span class="term"><i><tt>URI</tt></i>:</span></td> 832<td>the element namespace name if available</td> 833</tr> 834<tr> 835<td><span class="term"><i><tt>nb_namespaces</tt></i>:</span></td> 836<td>number of namespace definitions on that node</td> 837</tr> 838<tr> 839<td><span class="term"><i><tt>namespaces</tt></i>:</span></td> 840<td>pointer to the array of prefix/URI pairs namespace definitions</td> 841</tr> 842<tr> 843<td><span class="term"><i><tt>nb_attributes</tt></i>:</span></td> 844<td>the number of attributes on that node</td> 845</tr> 846<tr> 847<td><span class="term"><i><tt>nb_defaulted</tt></i>:</span></td> 848<td>the number of defaulted attributes.</td> 849</tr> 850<tr> 851<td><span class="term"><i><tt>attributes</tt></i>:</span></td> 852<td>pointer to the array of (localname/prefix/URI/value/end) <a href="libxml2-SAX.html#attribute">attribute</a> values.</td> 853</tr> 854</tbody> 855</table></div> 856</div> 857<hr> 858<div class="refsect2" lang="en"> 859<h3> 860<a name="xmlSAX2UnparsedEntityDecl"></a>xmlSAX2UnparsedEntityDecl ()</h3> 861<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> 862</pre> 863<p>What to do when an unparsed entity declaration is parsed</p> 864<div class="variablelist"><table border="0"> 865<col align="left"> 866<tbody> 867<tr> 868<td><span class="term"><i><tt>ctx</tt></i>:</span></td> 869<td>the user data (XML parser context)</td> 870</tr> 871<tr> 872<td><span class="term"><i><tt>name</tt></i>:</span></td> 873<td>The name of the entity</td> 874</tr> 875<tr> 876<td><span class="term"><i><tt>publicId</tt></i>:</span></td> 877<td>The public ID of the entity</td> 878</tr> 879<tr> 880<td><span class="term"><i><tt>systemId</tt></i>:</span></td> 881<td>The system ID of the entity</td> 882</tr> 883<tr> 884<td><span class="term"><i><tt>notationName</tt></i>:</span></td> 885<td>the name of the notation</td> 886</tr> 887</tbody> 888</table></div> 889</div> 890<hr> 891<div class="refsect2" lang="en"> 892<h3> 893<a name="xmlSAXDefaultVersion"></a>xmlSAXDefaultVersion ()</h3> 894<pre class="programlisting">int xmlSAXDefaultVersion (int version)<br> 895</pre> 896<p>DEPRECATED: Use parser option <a href="libxml2-parser.html#XML_PARSE_SAX1">XML_PARSE_SAX1</a>. 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> 897<div class="variablelist"><table border="0"> 898<col align="left"> 899<tbody> 900<tr> 901<td><span class="term"><i><tt>version</tt></i>:</span></td> 902<td>the version, 1 or 2</td> 903</tr> 904<tr> 905<td><span class="term"><i><tt>Returns</tt></i>:</span></td> 906<td>the previous value in case of success and -1 in case of error.</td> 907</tr> 908</tbody> 909</table></div> 910</div> 911<hr> 912<div class="refsect2" lang="en"> 913<h3> 914<a name="xmlSAXVersion"></a>xmlSAXVersion ()</h3> 915<pre class="programlisting">int xmlSAXVersion (<a href="libxml2-tree.html#xmlSAXHandler">xmlSAXHandler</a> * hdlr, <br> int version)<br> 916</pre> 917<p>Initialize the default XML SAX handler according to the version</p> 918<div class="variablelist"><table border="0"> 919<col align="left"> 920<tbody> 921<tr> 922<td><span class="term"><i><tt>hdlr</tt></i>:</span></td> 923<td>the SAX handler</td> 924</tr> 925<tr> 926<td><span class="term"><i><tt>version</tt></i>:</span></td> 927<td>the version, 1 or 2</td> 928</tr> 929<tr> 930<td><span class="term"><i><tt>Returns</tt></i>:</span></td> 931<td>0 in case of success and -1 in case of error.</td> 932</tr> 933</tbody> 934</table></div> 935</div> 936<hr> 937</div> 938</div> 939</body> 940</html> 941