improvement of the stylesheets, fixed a API generation problem, switched

* doc/Makefile.am doc/apibuild.py doc/libxml2-api.xml doc/newapi.xsl:
  improvement of the stylesheets, fixed a API generation problem,
  switched the stylesheet and Makefile to build the HTML output.
* doc/html/*.html: complete update, ditched some old files, might
  introduce some breakage...
Daniel
diff --git a/doc/html/libxml-HTMLparser.html b/doc/html/libxml-HTMLparser.html
index 35f63e3..a8b7aeb 100644
--- a/doc/html/libxml-HTMLparser.html
+++ b/doc/html/libxml-HTMLparser.html
@@ -1,579 +1,207 @@
-<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>HTMLparser</title><meta name="generator" content="DocBook XSL Stylesheets V1.48"><meta name="generator" content="GTK-Doc V1.1 (XML mode)"><style type="text/css">
-        .synopsis, .classsynopsis {
-            background: #eeeeee;
-            border: solid 1px #aaaaaa;
-            padding: 0.5em;
-        }
-        .programlisting {
-            background: #eeeeff;
-            border: solid 1px #aaaaff;
-            padding: 0.5em;
-        }
-        .variablelist {
-            padding: 4px;
-            margin-left: 3em;
-        }
-        .navigation {
-            background: #ffeeee;
-            border: solid 1px #ffaaaa;
-            margin-top: 0.5em;
-            margin-bottom: 0.5em;
-        }
-        .navigation a {
-            color: #770000;
-        }
-        .navigation a:visited {
-            color: #550000;
-        }
-        .navigation .title {
-            font-size: 200%;
-        }
-      </style><link rel="home" href="index.html" title="Gnome XML Library Reference Manual"><link rel="up" href="ch01.html" title="Libxml Programming Notes"><link rel="previous" href="libxml-entities.html" title="entities"><link rel="next" href="libxml-valid.html" title="valid"></head><body 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="libxml-entities.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td><td><a accesskey="u" href="ch01.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><th width="100%" align="center">Gnome XML Library Reference Manual</th><td><a accesskey="n" href="libxml-valid.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td></tr></table><div class="refentry"><a name="libxml-HTMLparser"></a><div class="titlepage"></div><div class="refnamediv"><h2>HTMLparser</h2><p>HTMLparser &#8212; </p></div><div class="refsynopsisdiv"><h2><h1 class="title"><a name="id2762484"></a>Synopsis</h1></h2><pre class="synopsis">
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /><link rel="SHORTCUT ICON" href="/favicon.ico" /><style type="text/css">
+TD {font-family: Verdana,Arial,Helvetica}
+BODY {font-family: Verdana,Arial,Helvetica; margin-top: 2em; margin-left: 0em; margin-right: 0em}
+H1 {font-family: Verdana,Arial,Helvetica}
+H2 {font-family: Verdana,Arial,Helvetica}
+H3 {font-family: Verdana,Arial,Helvetica}
+A:link, A:visited, A:active { text-decoration: underline }
+</style><title>Module HTMLparser from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#000000" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module HTMLparser from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Main Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html">Home</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="guidelines.html">XML Guidelines</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://garypennington.net/libxml2/">Solaris binaries</a></li><li><a href="http://www.zveno.com/open_source/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><h2>Table of Contents</h2><pre class="programlisting">Typedef <a href="libxml-parser.html#xmlParserNodeInfo">xmlParserNodeInfo</a> <a name="htmlParserNodeInfo" id="htmlParserNodeInfo">htmlParserNodeInfo</a>
 
+</pre><pre class="programlisting">int	<a href="#htmlIsScriptAttribute">htmlIsScriptAttribute</a>	(const <a href="libxml-tree.html#xmlChar">xmlChar</a> * name)<br />
+</pre><pre class="programlisting">int	<a href="#htmlHandleOmittedElem">htmlHandleOmittedElem</a>	(int val)<br />
+</pre><pre class="programlisting"><a href="libxml-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	<a href="#htmlCtxtReadDoc">htmlCtxtReadDoc</a>	(<a href="libxml-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt, <br />				 const <a href="libxml-tree.html#xmlChar">xmlChar</a> * cur, <br />				 const char * URL, <br />				 const char * encoding, <br />				 int options)<br />
+</pre><pre class="programlisting">Typedef <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> <a name="htmlNodePtr" id="htmlNodePtr">htmlNodePtr</a>
 
+</pre><pre class="programlisting">Typedef <a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> <a name="htmlParserCtxtPtr" id="htmlParserCtxtPtr">htmlParserCtxtPtr</a>
 
-typedef     <a href="libxml-HTMLparser.html#htmlParserCtxt">htmlParserCtxt</a>;
-typedef     <a href="libxml-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a>;
-typedef     <a href="libxml-HTMLparser.html#htmlParserNodeInfo">htmlParserNodeInfo</a>;
-typedef     <a href="libxml-HTMLparser.html#htmlSAXHandler">htmlSAXHandler</a>;
-typedef     <a href="libxml-HTMLparser.html#htmlSAXHandlerPtr">htmlSAXHandlerPtr</a>;
-typedef     <a href="libxml-HTMLparser.html#htmlParserInput">htmlParserInput</a>;
-typedef     <a href="libxml-HTMLparser.html#htmlParserInputPtr">htmlParserInputPtr</a>;
-typedef     <a href="libxml-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>;
-typedef     <a href="libxml-HTMLparser.html#htmlNodePtr">htmlNodePtr</a>;
-struct      <a href="libxml-HTMLparser.html#htmlElemDesc">htmlElemDesc</a>;
-typedef     <a href="libxml-HTMLparser.html#htmlElemDescPtr">htmlElemDescPtr</a>;
-struct      <a href="libxml-HTMLparser.html#htmlEntityDesc">htmlEntityDesc</a>;
-typedef     <a href="libxml-HTMLparser.html#htmlEntityDescPtr">htmlEntityDescPtr</a>;
-const <a href="libxml-HTMLparser.html#htmlElemDesc">htmlElemDesc</a>* <a href="libxml-HTMLparser.html#htmlTagLookup">htmlTagLookup</a>           (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *tag);
-const <a href="libxml-HTMLparser.html#htmlEntityDesc">htmlEntityDesc</a>* <a href="libxml-HTMLparser.html#htmlEntityLookup">htmlEntityLookup</a>      (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name);
-const <a href="libxml-HTMLparser.html#htmlEntityDesc">htmlEntityDesc</a>* <a href="libxml-HTMLparser.html#htmlEntityValueLookup">htmlEntityValueLookup</a> (unsigned int value);
-int         <a href="libxml-HTMLparser.html#htmlIsAutoClosed">htmlIsAutoClosed</a>                (<a href="libxml-HTMLparser.html#htmlDocPtr">htmlDocPtr</a> doc,
-                                             <a href="libxml-HTMLparser.html#htmlNodePtr">htmlNodePtr</a> elem);
-int         <a href="libxml-HTMLparser.html#htmlAutoCloseTag">htmlAutoCloseTag</a>                (<a href="libxml-HTMLparser.html#htmlDocPtr">htmlDocPtr</a> doc,
-                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
-                                             <a href="libxml-HTMLparser.html#htmlNodePtr">htmlNodePtr</a> elem);
-const <a href="libxml-HTMLparser.html#htmlEntityDesc">htmlEntityDesc</a>* <a href="libxml-HTMLparser.html#htmlParseEntityRef">htmlParseEntityRef</a>    (<a href="libxml-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt,
-                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> **str);
-int         <a href="libxml-HTMLparser.html#htmlParseCharRef">htmlParseCharRef</a>                (<a href="libxml-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt);
-void        <a href="libxml-HTMLparser.html#htmlParseElement">htmlParseElement</a>                (<a href="libxml-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt);
-<a href="libxml-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> <a href="libxml-HTMLparser.html#htmlCreateMemoryParserCtxt">htmlCreateMemoryParserCtxt</a>
-                                            (const char *buffer,
-                                             int size);
-int         <a href="libxml-HTMLparser.html#htmlParseDocument">htmlParseDocument</a>               (<a href="libxml-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt);
-<a href="libxml-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>  <a href="libxml-HTMLparser.html#htmlSAXParseDoc">htmlSAXParseDoc</a>                 (<a href="libxml-tree.html#xmlChar">xmlChar</a> *cur,
-                                             const char *encoding,
-                                             <a href="libxml-HTMLparser.html#htmlSAXHandlerPtr">htmlSAXHandlerPtr</a> sax,
-                                             void *userData);
-<a href="libxml-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>  <a href="libxml-HTMLparser.html#htmlParseDoc">htmlParseDoc</a>                    (<a href="libxml-tree.html#xmlChar">xmlChar</a> *cur,
-                                             const char *encoding);
-<a href="libxml-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>  <a href="libxml-HTMLparser.html#htmlSAXParseFile">htmlSAXParseFile</a>                (const char *filename,
-                                             const char *encoding,
-                                             <a href="libxml-HTMLparser.html#htmlSAXHandlerPtr">htmlSAXHandlerPtr</a> sax,
-                                             void *userData);
-<a href="libxml-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>  <a href="libxml-HTMLparser.html#htmlParseFile">htmlParseFile</a>                   (const char *filename,
-                                             const char *encoding);
-int         <a href="libxml-HTMLparser.html#UTF8ToHtml">UTF8ToHtml</a>                      (unsigned char *out,
-                                             int *outlen,
-                                             unsigned char *in,
-                                             int *inlen);
-int         <a href="libxml-HTMLparser.html#htmlEncodeEntities">htmlEncodeEntities</a>              (unsigned char *out,
-                                             int *outlen,
-                                             unsigned char *in,
-                                             int *inlen,
-                                             int quoteChar);
-int         <a href="libxml-HTMLparser.html#htmlIsScriptAttribute">htmlIsScriptAttribute</a>           (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name);
-int         <a href="libxml-HTMLparser.html#htmlHandleOmittedElem">htmlHandleOmittedElem</a>           (int val);
-<a href="libxml-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> <a href="libxml-HTMLparser.html#htmlCreatePushParserCtxt">htmlCreatePushParserCtxt</a>  (<a href="libxml-HTMLparser.html#htmlSAXHandlerPtr">htmlSAXHandlerPtr</a> sax,
-                                             void *user_data,
-                                             const char *chunk,
-                                             int size,
-                                             const char *filename,
-                                             <a href="libxml-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc);
-int         <a href="libxml-HTMLparser.html#htmlParseChunk">htmlParseChunk</a>                  (<a href="libxml-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt,
-                                             const char *chunk,
-                                             int size,
-                                             int terminate);
-void        <a href="libxml-HTMLparser.html#htmlFreeParserCtxt">htmlFreeParserCtxt</a>              (<a href="libxml-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt);
-enum        <a href="libxml-HTMLparser.html#htmlParserOption">htmlParserOption</a>;
-void        <a href="libxml-HTMLparser.html#htmlCtxtReset">htmlCtxtReset</a>                   (<a href="libxml-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt);
-int         <a href="libxml-HTMLparser.html#htmlCtxtUseOptions">htmlCtxtUseOptions</a>              (<a href="libxml-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt,
-                                             int options);
-<a href="libxml-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>  <a href="libxml-HTMLparser.html#htmlReadDoc">htmlReadDoc</a>                     (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *cur,
-                                             const char *URL,
-                                             const char *encoding,
-                                             int options);
-<a href="libxml-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>  <a href="libxml-HTMLparser.html#htmlReadFile">htmlReadFile</a>                    (const char *URL,
-                                             const char *encoding,
-                                             int options);
-<a href="libxml-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>  <a href="libxml-HTMLparser.html#htmlReadMemory">htmlReadMemory</a>                  (const char *buffer,
-                                             int size,
-                                             const char *URL,
-                                             const char *encoding,
-                                             int options);
-<a href="libxml-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>  <a href="libxml-HTMLparser.html#htmlReadFd">htmlReadFd</a>                      (int fd,
-                                             const char *URL,
-                                             const char *encoding,
-                                             int options);
-<a href="libxml-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>  <a href="libxml-HTMLparser.html#htmlReadIO">htmlReadIO</a>                      (<a href="libxml-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a> ioread,
-                                             <a href="libxml-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a> ioclose,
-                                             void *ioctx,
-                                             const char *URL,
-                                             const char *encoding,
-                                             int options);
-<a href="libxml-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>  <a href="libxml-HTMLparser.html#htmlCtxtReadDoc">htmlCtxtReadDoc</a>                 (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
-                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *cur,
-                                             const char *URL,
-                                             const char *encoding,
-                                             int options);
-<a href="libxml-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>  <a href="libxml-HTMLparser.html#htmlCtxtReadFile">htmlCtxtReadFile</a>                (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
-                                             const char *filename,
-                                             const char *encoding,
-                                             int options);
-<a href="libxml-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>  <a href="libxml-HTMLparser.html#htmlCtxtReadMemory">htmlCtxtReadMemory</a>              (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
-                                             const char *buffer,
-                                             int size,
-                                             const char *URL,
-                                             const char *encoding,
-                                             int options);
-<a href="libxml-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>  <a href="libxml-HTMLparser.html#htmlCtxtReadFd">htmlCtxtReadFd</a>                  (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
-                                             int fd,
-                                             const char *URL,
-                                             const char *encoding,
-                                             int options);
-<a href="libxml-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>  <a href="libxml-HTMLparser.html#htmlCtxtReadIO">htmlCtxtReadIO</a>                  (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
-                                             <a href="libxml-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a> ioread,
-                                             <a href="libxml-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a> ioclose,
-                                             void *ioctx,
-                                             const char *URL,
-                                             const char *encoding,
-                                             int options);
-</pre></div><div class="refsect1"><h2>Description</h2><p>
+</pre><pre class="programlisting"><a href="libxml-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	<a href="#htmlParseFile">htmlParseFile</a>	(const char * filename, <br />				 const char * encoding)<br />
+</pre><pre class="programlisting"><a href="libxml-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	<a href="#htmlReadIO">htmlReadIO</a>	(<a href="libxml-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a> ioread, <br />				 <a href="libxml-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a> ioclose, <br />				 void * ioctx, <br />				 const char * URL, <br />				 const char * encoding, <br />				 int options)<br />
+</pre><pre class="programlisting">int	<a href="#htmlAutoCloseTag">htmlAutoCloseTag</a>	(<a href="libxml-HTMLparser.html#htmlDocPtr">htmlDocPtr</a> doc, <br />				 const <a href="libxml-tree.html#xmlChar">xmlChar</a> * name, <br />				 <a href="libxml-HTMLparser.html#htmlNodePtr">htmlNodePtr</a> elem)<br />
+</pre><pre class="programlisting">int	<a href="#htmlParseChunk">htmlParseChunk</a>	(<a href="libxml-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt, <br />				 const char * chunk, <br />				 int size, <br />				 int terminate)<br />
+</pre><pre class="programlisting">const <a href="libxml-HTMLparser.html#htmlElemDesc">htmlElemDesc</a> *	<a href="#htmlTagLookup">htmlTagLookup</a>	(const <a href="libxml-tree.html#xmlChar">xmlChar</a> * tag)<br />
+</pre><pre class="programlisting"><a href="libxml-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a>	<a href="#htmlCreateMemoryParserCtxt">htmlCreateMemoryParserCtxt</a>	(const char * buffer, <br />				 int size)<br />
+</pre><pre class="programlisting">void	<a href="#htmlCtxtReset">htmlCtxtReset</a>	(<a href="libxml-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt)<br />
+</pre><pre class="programlisting">Typedef <a href="libxml-tree.html#xmlSAXHandler">xmlSAXHandler</a> <a name="htmlSAXHandler" id="htmlSAXHandler">htmlSAXHandler</a>
 
-</p></div><div class="refsect1"><h2>Details</h2><div class="refsect2"><h3><a name="htmlParserCtxt"></a>htmlParserCtxt</h3><pre class="programlisting">typedef xmlParserCtxt htmlParserCtxt;
-</pre><p>
+</pre><pre class="programlisting">int	<a href="#htmlElementAllowedHere">htmlElementAllowedHere</a>	(const <a href="libxml-HTMLparser.html#htmlElemDesc">htmlElemDesc</a> * parent, <br />				 const <a href="libxml-tree.html#xmlChar">xmlChar</a> * elt)<br />
+</pre><pre class="programlisting"><a href="libxml-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	<a href="#htmlCtxtReadIO">htmlCtxtReadIO</a>	(<a href="libxml-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt, <br />				 <a href="libxml-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a> ioread, <br />				 <a href="libxml-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a> ioclose, <br />				 void * ioctx, <br />				 const char * URL, <br />				 const char * encoding, <br />				 int options)<br />
+</pre><pre class="programlisting">Typedef <a href="libxml-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> <a name="htmlSAXHandlerPtr" id="htmlSAXHandlerPtr">htmlSAXHandlerPtr</a>
 
-</p></div><hr><div class="refsect2"><h3><a name="htmlParserCtxtPtr"></a>htmlParserCtxtPtr</h3><pre class="programlisting">typedef xmlParserCtxtPtr htmlParserCtxtPtr;
-</pre><p>
+</pre><pre class="programlisting">Enum <a name="htmlStatus" id="htmlStatus">htmlStatus</a> {
+    <a name="HTML_NA" id="HTML_NA">HTML_NA</a> = 0 : something we don't check at all
+    <a name="HTML_INVALID" id="HTML_INVALID">HTML_INVALID</a> = 1
+    <a name="HTML_DEPRECATED" id="HTML_DEPRECATED">HTML_DEPRECATED</a> = 2
+    <a name="HTML_VALID" id="HTML_VALID">HTML_VALID</a> = 4
+    <a name="HTML_REQUIRED" id="HTML_REQUIRED">HTML_REQUIRED</a> = 12 : VALID bit set so ( &amp; <a href="libxml-HTMLparser.html#HTML_VALID">HTML_VALID</a> ) is TRUE
+}
 
-</p></div><hr><div class="refsect2"><h3><a name="htmlParserNodeInfo"></a>htmlParserNodeInfo</h3><pre class="programlisting">typedef xmlParserNodeInfo htmlParserNodeInfo;
-</pre><p>
+</pre><pre class="programlisting"><a href="libxml-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a>	<a href="#htmlCreatePushParserCtxt">htmlCreatePushParserCtxt</a>	(<a href="libxml-HTMLparser.html#htmlSAXHandlerPtr">htmlSAXHandlerPtr</a> sax, <br />				 void * user_data, <br />				 const char * chunk, <br />				 int size, <br />				 const char * filename, <br />				 <a href="libxml-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc)<br />
+</pre><pre class="programlisting"><a href="libxml-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	<a href="#htmlReadMemory">htmlReadMemory</a>	(const char * buffer, <br />				 int size, <br />				 const char * URL, <br />				 const char * encoding, <br />				 int options)<br />
+</pre><pre class="programlisting">int	<a href="#htmlIsAutoClosed">htmlIsAutoClosed</a>	(<a href="libxml-HTMLparser.html#htmlDocPtr">htmlDocPtr</a> doc, <br />				 <a href="libxml-HTMLparser.html#htmlNodePtr">htmlNodePtr</a> elem)<br />
+</pre><pre class="programlisting">Typedef <a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> <a name="htmlDocPtr" id="htmlDocPtr">htmlDocPtr</a>
 
-</p></div><hr><div class="refsect2"><h3><a name="htmlSAXHandler"></a>htmlSAXHandler</h3><pre class="programlisting">typedef xmlSAXHandler htmlSAXHandler;
-</pre><p>
+</pre><pre class="programlisting"><a href="libxml-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	<a href="#htmlReadDoc">htmlReadDoc</a>	(const <a href="libxml-tree.html#xmlChar">xmlChar</a> * cur, <br />				 const char * URL, <br />				 const char * encoding, <br />				 int options)<br />
+</pre><pre class="programlisting">Enum <a name="htmlParserOption" id="htmlParserOption">htmlParserOption</a> {
+    <a name="HTML_PARSE_NOERROR" id="HTML_PARSE_NOERROR">HTML_PARSE_NOERROR</a> = 32 : suppress error reports
+    <a name="HTML_PARSE_NOWARNING" id="HTML_PARSE_NOWARNING">HTML_PARSE_NOWARNING</a> = 64 : suppress warning reports
+    <a name="HTML_PARSE_PEDANTIC" id="HTML_PARSE_PEDANTIC">HTML_PARSE_PEDANTIC</a> = 128 : pedantic error reporting
+    <a name="HTML_PARSE_NOBLANKS" id="HTML_PARSE_NOBLANKS">HTML_PARSE_NOBLANKS</a> = 256 : remove blank nodes
+    <a name="HTML_PARSE_NONET" id="HTML_PARSE_NONET">HTML_PARSE_NONET</a> = 2048 : Forbid network access
+}
 
-</p></div><hr><div class="refsect2"><h3><a name="htmlSAXHandlerPtr"></a>htmlSAXHandlerPtr</h3><pre class="programlisting">typedef xmlSAXHandlerPtr htmlSAXHandlerPtr;
-</pre><p>
+</pre><pre class="programlisting">Typedef <a href="libxml-HTMLparser.html#htmlEntityDesc">htmlEntityDesc</a> * <a name="htmlEntityDescPtr" id="htmlEntityDescPtr">htmlEntityDescPtr</a>
 
-</p></div><hr><div class="refsect2"><h3><a name="htmlParserInput"></a>htmlParserInput</h3><pre class="programlisting">typedef xmlParserInput htmlParserInput;
-</pre><p>
+</pre><pre class="programlisting">int	<a href="#htmlEncodeEntities">htmlEncodeEntities</a>	(unsigned char * out, <br />				 int * outlen, <br />				 const unsigned char * in, <br />				 int * inlen, <br />				 int quoteChar)<br />
+</pre><pre class="programlisting">Typedef <a href="libxml-tree.html#xmlParserCtxt">xmlParserCtxt</a> <a name="htmlParserCtxt" id="htmlParserCtxt">htmlParserCtxt</a>
 
-</p></div><hr><div class="refsect2"><h3><a name="htmlParserInputPtr"></a>htmlParserInputPtr</h3><pre class="programlisting">typedef xmlParserInputPtr htmlParserInputPtr;
-</pre><p>
+</pre><pre class="programlisting"><a href="libxml-HTMLparser.html#htmlStatus">htmlStatus</a>	<a href="#htmlNodeStatus">htmlNodeStatus</a>	(const <a href="libxml-HTMLparser.html#htmlNodePtr">htmlNodePtr</a> node, <br />				 int legacy)<br />
+</pre><pre class="programlisting"><a href="libxml-HTMLparser.html#htmlStatus">htmlStatus</a>	<a href="#htmlAttrAllowed">htmlAttrAllowed</a>	(const <a href="libxml-HTMLparser.html#htmlElemDesc">htmlElemDesc</a> * elt, <br />				 const <a href="libxml-tree.html#xmlChar">xmlChar</a> * attr, <br />				 int legacy)<br />
+</pre><pre class="programlisting">#define <a href="#htmlDefaultSubelement">htmlDefaultSubelement</a>
 
-</p></div><hr><div class="refsect2"><h3><a name="htmlDocPtr"></a>htmlDocPtr</h3><pre class="programlisting">typedef xmlDocPtr htmlDocPtr;
-</pre><p>
+</pre><pre class="programlisting">int	<a href="#htmlParseCharRef">htmlParseCharRef</a>	(<a href="libxml-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt)<br />
+</pre><pre class="programlisting"><a href="libxml-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	<a href="#htmlSAXParseFile">htmlSAXParseFile</a>	(const char * filename, <br />				 const char * encoding, <br />				 <a href="libxml-HTMLparser.html#htmlSAXHandlerPtr">htmlSAXHandlerPtr</a> sax, <br />				 void * userData)<br />
+</pre><pre class="programlisting">const <a href="libxml-HTMLparser.html#htmlEntityDesc">htmlEntityDesc</a> *	<a href="#htmlParseEntityRef">htmlParseEntityRef</a>	(<a href="libxml-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt, <br />				 const <a href="libxml-tree.html#xmlChar">xmlChar</a> ** str)<br />
+</pre><pre class="programlisting">Typedef <a href="libxml-tree.html#xmlParserInput">xmlParserInput</a> <a name="htmlParserInput" id="htmlParserInput">htmlParserInput</a>
 
-</p></div><hr><div class="refsect2"><h3><a name="htmlNodePtr"></a>htmlNodePtr</h3><pre class="programlisting">typedef xmlNodePtr htmlNodePtr;
-</pre><p>
+</pre><pre class="programlisting"><a href="libxml-HTMLparser.html#htmlStatus">htmlStatus</a>	<a href="#htmlElementStatusHere">htmlElementStatusHere</a>	(const <a href="libxml-HTMLparser.html#htmlElemDesc">htmlElemDesc</a> * parent, <br />				 const <a href="libxml-HTMLparser.html#htmlElemDesc">htmlElemDesc</a> * elt)<br />
+</pre><pre class="programlisting">const <a href="libxml-HTMLparser.html#htmlEntityDesc">htmlEntityDesc</a> *	<a href="#htmlEntityValueLookup">htmlEntityValueLookup</a>	(unsigned int value)<br />
+</pre><pre class="programlisting">void	<a href="#htmlParseElement">htmlParseElement</a>	(<a href="libxml-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt)<br />
+</pre><pre class="programlisting">int	<a href="#UTF8ToHtml">UTF8ToHtml</a>	(unsigned char * out, <br />				 int * outlen, <br />				 const unsigned char * in, <br />				 int * inlen)<br />
+</pre><pre class="programlisting">#define <a href="#htmlRequiredAttrs">htmlRequiredAttrs</a>
 
-</p></div><hr><div class="refsect2"><h3><a name="htmlElemDesc"></a>struct htmlElemDesc</h3><pre class="programlisting">struct htmlElemDesc {
+</pre><pre class="programlisting">const <a href="libxml-HTMLparser.html#htmlEntityDesc">htmlEntityDesc</a> *	<a href="#htmlEntityLookup">htmlEntityLookup</a>	(const <a href="libxml-tree.html#xmlChar">xmlChar</a> * name)<br />
+</pre><pre class="programlisting">void	<a href="#htmlFreeParserCtxt">htmlFreeParserCtxt</a>	(<a href="libxml-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt)<br />
+</pre><pre class="programlisting"><a href="libxml-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	<a href="#htmlCtxtReadMemory">htmlCtxtReadMemory</a>	(<a href="libxml-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt, <br />				 const char * buffer, <br />				 int size, <br />				 const char * URL, <br />				 const char * encoding, <br />				 int options)<br />
+</pre><pre class="programlisting"><a href="libxml-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	<a href="#htmlCtxtReadFd">htmlCtxtReadFd</a>	(<a href="libxml-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt, <br />				 int fd, <br />				 const char * URL, <br />				 const char * encoding, <br />				 int options)<br />
+</pre><pre class="programlisting">Structure <a name="htmlEntityDesc" id="htmlEntityDesc">htmlEntityDesc</a><br />struct _htmlEntityDesc {
+    unsigned int	value	: the UNICODE value for the character
+    const char *	name	: The entity name
+    const char *	desc	: the description
+}</pre><br /><pre class="programlisting">#define <a href="#htmlElementAllowedHereDesc">htmlElementAllowedHereDesc</a>
 
-    const char *name;	/* The tag name */
-    char startTag;      /* Whether the start tag can be implied */
-    char endTag;        /* Whether the end tag can be implied */
-    char saveEndTag;    /* Whether the end tag should be saved */
-    char empty;         /* Is this an empty element ? */
-    char depr;          /* Is this a deprecated element ? */
-    char dtd;           /* 1: only in Loose DTD, 2: only Frameset one */
-    char isinline;      /* is this a block 0 or inline 1 element */
-    const char *desc;   /* the description */
+</pre><pre class="programlisting"><a href="libxml-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	<a href="#htmlReadFile">htmlReadFile</a>	(const char * filename, <br />				 const char * encoding, <br />				 int options)<br />
+</pre><pre class="programlisting"><a href="libxml-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	<a href="#htmlCtxtReadFile">htmlCtxtReadFile</a>	(<a href="libxml-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt, <br />				 const char * filename, <br />				 const char * encoding, <br />				 int options)<br />
+</pre><pre class="programlisting">Typedef <a href="libxml-HTMLparser.html#htmlElemDesc">htmlElemDesc</a> * <a name="htmlElemDescPtr" id="htmlElemDescPtr">htmlElemDescPtr</a>
 
-/* NRK Jan.2003
- * New fields encapsulating HTML structure
- *
- * Bugs:
- *	This is a very limited representation.  It fails to tell us when
- *	an element *requires* subelements (we only have whether they're
- *	allowed or not), and it doesn't tell us where CDATA and PCDATA
- *	are allowed.  Some element relationships are not fully represented:
- *	these are flagged with the word MODIFIER
- */
-    const char** subelts;		/* allowed sub-elements of this element */
-    const char* defaultsubelt;	/* subelement for suggested auto-repair
-					   if necessary or NULL */
-    const char** attrs_opt;		/* Optional Attributes */
-    const char** attrs_depr;		/* Additional deprecated attributes */
-    const char** attrs_req;		/* Required attributes */
-};
-</pre><p>
+</pre><pre class="programlisting">Structure <a name="htmlElemDesc" id="htmlElemDesc">htmlElemDesc</a><br />struct _htmlElemDesc {
+    const char *	name	: The tag name
+    char	startTag	: Whether the start tag can be implied
+    char	endTag	: Whether the end tag can be implied
+    char	saveEndTag	: Whether the end tag should be saved
+    char	empty	: Is this an empty element ?
+    char	depr	: Is this a deprecated element ?
+    char	dtd	: 1: only in Loose DTD, 2: only Frameset one
+    char	isinline	: is this a block 0 or inline 1 element
+    const char *	desc	: the description NRK Jan.2003 * New fields encapsu
+    const char **	subelts	: allowed sub-elements of this element
+    const char *	defaultsubelt	: subelement for suggested auto-repair if necessary
+    const char **	attrs_opt	: Optional Attributes
+    const char **	attrs_depr	: Additional deprecated attributes
+    const char **	attrs_req	: Required attributes
+}</pre><br /><pre class="programlisting"><a href="libxml-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	<a href="#htmlSAXParseDoc">htmlSAXParseDoc</a>	(<a href="libxml-tree.html#xmlChar">xmlChar</a> * cur, <br />				 const char * encoding, <br />				 <a href="libxml-HTMLparser.html#htmlSAXHandlerPtr">htmlSAXHandlerPtr</a> sax, <br />				 void * userData)<br />
+</pre><pre class="programlisting">int	<a href="#htmlCtxtUseOptions">htmlCtxtUseOptions</a>	(<a href="libxml-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt, <br />				 int options)<br />
+</pre><pre class="programlisting">Typedef <a href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> <a name="htmlParserInputPtr" id="htmlParserInputPtr">htmlParserInputPtr</a>
 
-</p></div><hr><div class="refsect2"><h3><a name="htmlElemDescPtr"></a>htmlElemDescPtr</h3><pre class="programlisting">typedef htmlElemDesc *htmlElemDescPtr;
-</pre><p>
-
-</p></div><hr><div class="refsect2"><h3><a name="htmlEntityDesc"></a>struct htmlEntityDesc</h3><pre class="programlisting">struct htmlEntityDesc {
-
-    unsigned int value;	/* the UNICODE value for the character */
-    const char *name;	/* The entity name */
-    const char *desc;   /* the description */
-};
-</pre><p>
-
-</p></div><hr><div class="refsect2"><h3><a name="htmlEntityDescPtr"></a>htmlEntityDescPtr</h3><pre class="programlisting">typedef htmlEntityDesc *htmlEntityDescPtr;
-</pre><p>
-
-</p></div><hr><div class="refsect2"><h3><a name="htmlTagLookup"></a>htmlTagLookup ()</h3><pre class="programlisting">const <a href="libxml-HTMLparser.html#htmlElemDesc">htmlElemDesc</a>* htmlTagLookup           (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *tag);</pre><p>
-Lookup the HTML tag in the ElementTable</p><p>
-
-</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>tag</tt></i>:</span></td><td>  The tag name in lowercase
-</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the related htmlElemDescPtr or NULL if not found.
-</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="htmlEntityLookup"></a>htmlEntityLookup ()</h3><pre class="programlisting">const <a href="libxml-HTMLparser.html#htmlEntityDesc">htmlEntityDesc</a>* htmlEntityLookup      (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name);</pre><p>
-Lookup the given entity in EntitiesTable
-</p><p>
-TODO: the linear scan is really ugly, an hash table is really needed.</p><p>
-
-</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td> the entity name
-</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the associated htmlEntityDescPtr if found, NULL otherwise.
-</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="htmlEntityValueLookup"></a>htmlEntityValueLookup ()</h3><pre class="programlisting">const <a href="libxml-HTMLparser.html#htmlEntityDesc">htmlEntityDesc</a>* htmlEntityValueLookup (unsigned int value);</pre><p>
-Lookup the given entity in EntitiesTable
-</p><p>
-TODO: the linear scan is really ugly, an hash table is really needed.</p><p>
-
-</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td> the entity's unicode value
-</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the associated htmlEntityDescPtr if found, NULL otherwise.
-</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="htmlIsAutoClosed"></a>htmlIsAutoClosed ()</h3><pre class="programlisting">int         htmlIsAutoClosed                (<a href="libxml-HTMLparser.html#htmlDocPtr">htmlDocPtr</a> doc,
-                                             <a href="libxml-HTMLparser.html#htmlNodePtr">htmlNodePtr</a> elem);</pre><p>
-The HTML DTD allows a tag to implicitly close other tags.
-The list is kept in htmlStartClose array. This function checks
-if a tag is autoclosed by one of it's child</p><p>
-
-</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>  the HTML document
-</td></tr><tr><td><span class="term"><i><tt>elem</tt></i>:</span></td><td>  the HTML element
-</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if autoclosed, 0 otherwise
-</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="htmlAutoCloseTag"></a>htmlAutoCloseTag ()</h3><pre class="programlisting">int         htmlAutoCloseTag                (<a href="libxml-HTMLparser.html#htmlDocPtr">htmlDocPtr</a> doc,
-                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name,
-                                             <a href="libxml-HTMLparser.html#htmlNodePtr">htmlNodePtr</a> elem);</pre><p>
-The HTML DTD allows a tag to implicitly close other tags.
-The list is kept in htmlStartClose array. This function checks
-if the element or one of it's children would autoclose the
-given tag.</p><p>
-
-</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>  the HTML document
-</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>  The tag name
-</td></tr><tr><td><span class="term"><i><tt>elem</tt></i>:</span></td><td>  the HTML element
-</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 if autoclose, 0 otherwise
-</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="htmlParseEntityRef"></a>htmlParseEntityRef ()</h3><pre class="programlisting">const <a href="libxml-HTMLparser.html#htmlEntityDesc">htmlEntityDesc</a>* htmlParseEntityRef    (<a href="libxml-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt,
-                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> **str);</pre><p>
-parse an HTML ENTITY references
-</p><p>
-[68] EntityRef ::= '&amp;' Name ';'</p><p>
-
-</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  an HTML parser context
-</td></tr><tr><td><span class="term"><i><tt>str</tt></i>:</span></td><td>  location to store the entity name
-</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the associated htmlEntityDescPtr if found, or NULL otherwise,
-        if non-NULL *str will have to be freed by the caller.
-</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="htmlParseCharRef"></a>htmlParseCharRef ()</h3><pre class="programlisting">int         htmlParseCharRef                (<a href="libxml-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt);</pre><p>
-parse Reference declarations
-</p><p>
-[66] CharRef ::= '&amp;#' [0-9]+ ';' |
-                 '&amp;<GTKDOCLINK HREF="x">x</GTKDOCLINK>' [0-9a-fA-F]+ ';'</p><p>
-
-</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  an HTML parser context
-</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the value parsed (as an int)
-</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="htmlParseElement"></a>htmlParseElement ()</h3><pre class="programlisting">void        htmlParseElement                (<a href="libxml-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt);</pre><p>
-parse an HTML element, this is highly recursive
-</p><p>
-[39] element ::= EmptyElemTag | STag content ETag
-</p><p>
-[41] Attribute ::= Name Eq AttValue</p><p>
-
-</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  an HTML parser context
-</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="htmlCreateMemoryParserCtxt"></a>htmlCreateMemoryParserCtxt ()</h3><pre class="programlisting"><a href="libxml-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> htmlCreateMemoryParserCtxt
-                                            (const char *buffer,
-                                             int size);</pre><p>
-Create a parser context for an HTML in-memory document.</p><p>
-
-</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>buffer</tt></i>:</span></td><td>  a pointer to a char array
-</td></tr><tr><td><span class="term"><i><tt>size</tt></i>:</span></td><td>  the size of the array
-</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the new parser context or NULL
-</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="htmlParseDocument"></a>htmlParseDocument ()</h3><pre class="programlisting">int         htmlParseDocument               (<a href="libxml-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt);</pre><p>
-parse an HTML document (and build a tree if using the standard SAX
-interface).</p><p>
-
-</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  an HTML parser context
-</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>0, -1 in case of error. the parser context is augmented
-               as a result of the parsing.
-</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="htmlSAXParseDoc"></a>htmlSAXParseDoc ()</h3><pre class="programlisting"><a href="libxml-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>  htmlSAXParseDoc                 (<a href="libxml-tree.html#xmlChar">xmlChar</a> *cur,
-                                             const char *encoding,
-                                             <a href="libxml-HTMLparser.html#htmlSAXHandlerPtr">htmlSAXHandlerPtr</a> sax,
-                                             void *userData);</pre><p>
-Parse an HTML in-memory document. If sax is not NULL, use the SAX callbacks
-to handle parse events. If sax is NULL, fallback to the default DOM
-behavior and return a tree.</p><p>
-
-</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>  a pointer to an array of xmlChar
-</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>  a free form C string describing the HTML document encoding, or NULL
-</td></tr><tr><td><span class="term"><i><tt>sax</tt></i>:</span></td><td>  the SAX handler block
-</td></tr><tr><td><span class="term"><i><tt>userData</tt></i>:</span></td><td> if using SAX, this pointer will be provided on callbacks. 
-</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the resulting document tree unless SAX is NULL or the document is
-    not well formed.
-</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="htmlParseDoc"></a>htmlParseDoc ()</h3><pre class="programlisting"><a href="libxml-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>  htmlParseDoc                    (<a href="libxml-tree.html#xmlChar">xmlChar</a> *cur,
-                                             const char *encoding);</pre><p>
-parse an HTML in-memory document and build a tree.</p><p>
-
-</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>  a pointer to an array of xmlChar
-</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>  a free form C string describing the HTML document encoding, or NULL
-</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the resulting document tree
-</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="htmlSAXParseFile"></a>htmlSAXParseFile ()</h3><pre class="programlisting"><a href="libxml-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>  htmlSAXParseFile                (const char *filename,
-                                             const char *encoding,
-                                             <a href="libxml-HTMLparser.html#htmlSAXHandlerPtr">htmlSAXHandlerPtr</a> sax,
-                                             void *userData);</pre><p>
-parse an HTML file and build a tree. Automatic support for ZLIB/Compress
-compressed document is provided by default if found at compile-time.
-It use the given SAX function block to handle the parsing callback.
-If sax is NULL, fallback to the default DOM tree building routines.</p><p>
-
-</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>  the filename
-</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>  a free form C string describing the HTML document encoding, or NULL
-</td></tr><tr><td><span class="term"><i><tt>sax</tt></i>:</span></td><td>  the SAX handler block
-</td></tr><tr><td><span class="term"><i><tt>userData</tt></i>:</span></td><td> if using SAX, this pointer will be provided on callbacks. 
-</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the resulting document tree unless SAX is NULL or the document is
-    not well formed.
-</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="htmlParseFile"></a>htmlParseFile ()</h3><pre class="programlisting"><a href="libxml-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>  htmlParseFile                   (const char *filename,
-                                             const char *encoding);</pre><p>
-parse an HTML file and build a tree. Automatic support for ZLIB/Compress
-compressed document is provided by default if found at compile-time.</p><p>
-
-</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>  the filename
-</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>  a free form C string describing the HTML document encoding, or NULL
-</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the resulting document tree
-</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="UTF8ToHtml"></a>UTF8ToHtml ()</h3><pre class="programlisting">int         UTF8ToHtml                      (unsigned char *out,
-                                             int *outlen,
-                                             unsigned char *in,
-                                             int *inlen);</pre><p>
-Take a block of UTF-8 chars in and try to convert it to an ASCII
-plus HTML entities block of chars out.</p><p>
-
-</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>out</tt></i>:</span></td><td>  a pointer to an array of bytes to store the result
-</td></tr><tr><td><span class="term"><i><tt>outlen</tt></i>:</span></td><td>  the length of <i><tt>out</tt></i>
-</td></tr><tr><td><span class="term"><i><tt>in</tt></i>:</span></td><td>  a pointer to an array of UTF-8 chars
-</td></tr><tr><td><span class="term"><i><tt>inlen</tt></i>:</span></td><td>  the length of <i><tt>in</tt></i>
-</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>0 if success, -2 if the transcoding fails, or -1 otherwise
-The value of <i><tt>inlen</tt></i> after return is the number of octets consumed
-    as the return value is positive, else unpredictable.
-The value of <i><tt>outlen</tt></i> after return is the number of octets consumed.
-</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="htmlEncodeEntities"></a>htmlEncodeEntities ()</h3><pre class="programlisting">int         htmlEncodeEntities              (unsigned char *out,
-                                             int *outlen,
-                                             unsigned char *in,
-                                             int *inlen,
-                                             int quoteChar);</pre><p>
-Take a block of UTF-8 chars in and try to convert it to an ASCII
-plus HTML entities block of chars out.</p><p>
-
-</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>out</tt></i>:</span></td><td>  a pointer to an array of bytes to store the result
-</td></tr><tr><td><span class="term"><i><tt>outlen</tt></i>:</span></td><td>  the length of <i><tt>out</tt></i>
-</td></tr><tr><td><span class="term"><i><tt>in</tt></i>:</span></td><td>  a pointer to an array of UTF-8 chars
-</td></tr><tr><td><span class="term"><i><tt>inlen</tt></i>:</span></td><td>  the length of <i><tt>in</tt></i>
-</td></tr><tr><td><span class="term"><i><tt>quoteChar</tt></i>:</span></td><td> the quote character to escape (' or ") or zero.
-</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>0 if success, -2 if the transcoding fails, or -1 otherwise
-The value of <i><tt>inlen</tt></i> after return is the number of octets consumed
-    as the return value is positive, else unpredictable.
-The value of <i><tt>outlen</tt></i> after return is the number of octets consumed.
-</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="htmlIsScriptAttribute"></a>htmlIsScriptAttribute ()</h3><pre class="programlisting">int         htmlIsScriptAttribute           (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *name);</pre><p>
-Check if an attribute is of content type Script</p><p>
-
-</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>  an attribute name
-</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>1 is the attribute is a script 0 otherwise
-</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="htmlHandleOmittedElem"></a>htmlHandleOmittedElem ()</h3><pre class="programlisting">int         htmlHandleOmittedElem           (int val);</pre><p>
-Set and return the previous value for handling HTML omitted tags.</p><p>
-
-</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>  int 0 or 1 
-</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the last value for 0 for no handling, 1 for auto insertion.
-</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="htmlCreatePushParserCtxt"></a>htmlCreatePushParserCtxt ()</h3><pre class="programlisting"><a href="libxml-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> htmlCreatePushParserCtxt  (<a href="libxml-HTMLparser.html#htmlSAXHandlerPtr">htmlSAXHandlerPtr</a> sax,
-                                             void *user_data,
-                                             const char *chunk,
-                                             int size,
-                                             const char *filename,
-                                             <a href="libxml-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc);</pre><p>
-Create a parser context for using the HTML parser in push mode
-The value of <i><tt>filename</tt></i> is used for fetching external entities
-and error/warning reports.</p><p>
-
-</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>sax</tt></i>:</span></td><td>  a SAX handler
-</td></tr><tr><td><span class="term"><i><tt>user_data</tt></i>:</span></td><td>  The user data returned on SAX callbacks
-</td></tr><tr><td><span class="term"><i><tt>chunk</tt></i>:</span></td><td>  a pointer to an array of chars
-</td></tr><tr><td><span class="term"><i><tt>size</tt></i>:</span></td><td>  number of chars in the array
-</td></tr><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>  an optional file name or URI
-</td></tr><tr><td><span class="term"><i><tt>enc</tt></i>:</span></td><td>  an optional encoding
-</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the new parser context or NULL
-</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="htmlParseChunk"></a>htmlParseChunk ()</h3><pre class="programlisting">int         htmlParseChunk                  (<a href="libxml-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt,
-                                             const char *chunk,
-                                             int size,
-                                             int terminate);</pre><p>
-Parse a Chunk of memory</p><p>
-
-</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  an HTML parser context
-</td></tr><tr><td><span class="term"><i><tt>chunk</tt></i>:</span></td><td>  an char array
-</td></tr><tr><td><span class="term"><i><tt>size</tt></i>:</span></td><td>  the size in byte of the chunk
-</td></tr><tr><td><span class="term"><i><tt>terminate</tt></i>:</span></td><td>  last chunk indicator
-</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>zero if no error, the xmlParserErrors otherwise.
-</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="htmlFreeParserCtxt"></a>htmlFreeParserCtxt ()</h3><pre class="programlisting">void        htmlFreeParserCtxt              (<a href="libxml-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt);</pre><p>
-Free all the memory used by a parser context. However the parsed
-document in ctxt-&gt;myDoc is not freed.</p><p>
-
-</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  an HTML parser context
-</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="htmlParserOption"></a>enum htmlParserOption</h3><pre class="programlisting">typedef enum {
-    HTML_PARSE_NOERROR	= 1&lt;&lt;5,	/* suppress error reports */
-    HTML_PARSE_NOWARNING= 1&lt;&lt;6,	/* suppress warning reports */
-    HTML_PARSE_PEDANTIC	= 1&lt;&lt;7,	/* pedantic error reporting */
-    HTML_PARSE_NOBLANKS	= 1&lt;&lt;8,	/* remove blank nodes */
-    HTML_PARSE_NONET	= 1&lt;&lt;11 /* Forbid network access */
-} htmlParserOption;
-</pre><p>
-
-</p></div><hr><div class="refsect2"><h3><a name="htmlCtxtReset"></a>htmlCtxtReset ()</h3><pre class="programlisting">void        htmlCtxtReset                   (<a href="libxml-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt);</pre><p>
-Reset a parser context</p><p>
-
-</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td> an HTML parser context
-</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="htmlCtxtUseOptions"></a>htmlCtxtUseOptions ()</h3><pre class="programlisting">int         htmlCtxtUseOptions              (<a href="libxml-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt,
-                                             int options);</pre><p>
-Applies the options to the parser context</p><p>
-
-</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td> an HTML parser context
-</td></tr><tr><td><span class="term"><i><tt>options</tt></i>:</span></td><td>  a combination of htmlParserOption(s)
-</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>0 in case of success, the set of unknown or unimplemented options
-        in case of error.
-</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="htmlReadDoc"></a>htmlReadDoc ()</h3><pre class="programlisting"><a href="libxml-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>  htmlReadDoc                     (const <a href="libxml-tree.html#xmlChar">xmlChar</a> *cur,
-                                             const char *URL,
-                                             const char *encoding,
-                                             int options);</pre><p>
-parse an XML in-memory document and build a tree.</p><p>
-
-</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>  a pointer to a zero terminated string
-</td></tr><tr><td><span class="term"><i><tt>URL</tt></i>:</span></td><td>  the base URL to use for the document
-</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>  the document encoding, or NULL
-</td></tr><tr><td><span class="term"><i><tt>options</tt></i>:</span></td><td>  a combination of htmlParserOption(s)
-</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the resulting document tree
-</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="htmlReadFile"></a>htmlReadFile ()</h3><pre class="programlisting"><a href="libxml-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>  htmlReadFile                    (const char *URL,
-                                             const char *encoding,
-                                             int options);</pre><p>
-parse an XML file from the filesystem or the network.</p><p>
-
-</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>URL</tt></i>:</span></td><td>
-</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>  the document encoding, or NULL
-</td></tr><tr><td><span class="term"><i><tt>options</tt></i>:</span></td><td>  a combination of htmlParserOption(s)
-</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the resulting document tree
-</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="htmlReadMemory"></a>htmlReadMemory ()</h3><pre class="programlisting"><a href="libxml-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>  htmlReadMemory                  (const char *buffer,
-                                             int size,
-                                             const char *URL,
-                                             const char *encoding,
-                                             int options);</pre><p>
-parse an XML in-memory document and build a tree.</p><p>
-
-</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>buffer</tt></i>:</span></td><td>  a pointer to a char array
-</td></tr><tr><td><span class="term"><i><tt>size</tt></i>:</span></td><td>  the size of the array
-</td></tr><tr><td><span class="term"><i><tt>URL</tt></i>:</span></td><td>  the base URL to use for the document
-</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>  the document encoding, or NULL
-</td></tr><tr><td><span class="term"><i><tt>options</tt></i>:</span></td><td>  a combination of htmlParserOption(s)
-</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the resulting document tree
-</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="htmlReadFd"></a>htmlReadFd ()</h3><pre class="programlisting"><a href="libxml-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>  htmlReadFd                      (int fd,
-                                             const char *URL,
-                                             const char *encoding,
-                                             int options);</pre><p>
-parse an XML from a file descriptor and build a tree.</p><p>
-
-</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>fd</tt></i>:</span></td><td>  an open file descriptor
-</td></tr><tr><td><span class="term"><i><tt>URL</tt></i>:</span></td><td>  the base URL to use for the document
-</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>  the document encoding, or NULL
-</td></tr><tr><td><span class="term"><i><tt>options</tt></i>:</span></td><td>  a combination of htmlParserOption(s)
-</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the resulting document tree
-</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="htmlReadIO"></a>htmlReadIO ()</h3><pre class="programlisting"><a href="libxml-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>  htmlReadIO                      (<a href="libxml-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a> ioread,
-                                             <a href="libxml-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a> ioclose,
-                                             void *ioctx,
-                                             const char *URL,
-                                             const char *encoding,
-                                             int options);</pre><p>
-parse an HTML document from I/O functions and source and build a tree.</p><p>
-
-</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ioread</tt></i>:</span></td><td>  an I/O read function
-</td></tr><tr><td><span class="term"><i><tt>ioclose</tt></i>:</span></td><td>  an I/O close function
-</td></tr><tr><td><span class="term"><i><tt>ioctx</tt></i>:</span></td><td>  an I/O handler
-</td></tr><tr><td><span class="term"><i><tt>URL</tt></i>:</span></td><td>  the base URL to use for the document
-</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>  the document encoding, or NULL
-</td></tr><tr><td><span class="term"><i><tt>options</tt></i>:</span></td><td>  a combination of htmlParserOption(s)
-</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the resulting document tree
-</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="htmlCtxtReadDoc"></a>htmlCtxtReadDoc ()</h3><pre class="programlisting"><a href="libxml-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>  htmlCtxtReadDoc                 (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
-                                             const <a href="libxml-tree.html#xmlChar">xmlChar</a> *cur,
-                                             const char *URL,
-                                             const char *encoding,
-                                             int options);</pre><p>
-parse an XML in-memory document and build a tree.
-This reuses the existing <i><tt>ctxt</tt></i> parser context</p><p>
-
-</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  an HTML parser context
-</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>  a pointer to a zero terminated string
-</td></tr><tr><td><span class="term"><i><tt>URL</tt></i>:</span></td><td>  the base URL to use for the document
-</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>  the document encoding, or NULL
-</td></tr><tr><td><span class="term"><i><tt>options</tt></i>:</span></td><td>  a combination of htmlParserOption(s)
-</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the resulting document tree
-</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="htmlCtxtReadFile"></a>htmlCtxtReadFile ()</h3><pre class="programlisting"><a href="libxml-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>  htmlCtxtReadFile                (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
-                                             const char *filename,
-                                             const char *encoding,
-                                             int options);</pre><p>
-parse an XML file from the filesystem or the network.
-This reuses the existing <i><tt>ctxt</tt></i> parser context</p><p>
-
-</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  an HTML parser context
-</td></tr><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>  a file or URL
-</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>  the document encoding, or NULL
-</td></tr><tr><td><span class="term"><i><tt>options</tt></i>:</span></td><td>  a combination of htmlParserOption(s)
-</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the resulting document tree
-</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="htmlCtxtReadMemory"></a>htmlCtxtReadMemory ()</h3><pre class="programlisting"><a href="libxml-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>  htmlCtxtReadMemory              (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
-                                             const char *buffer,
-                                             int size,
-                                             const char *URL,
-                                             const char *encoding,
-                                             int options);</pre><p>
-parse an XML in-memory document and build a tree.
-This reuses the existing <i><tt>ctxt</tt></i> parser context</p><p>
-
-</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  an HTML parser context
-</td></tr><tr><td><span class="term"><i><tt>buffer</tt></i>:</span></td><td>  a pointer to a char array
-</td></tr><tr><td><span class="term"><i><tt>size</tt></i>:</span></td><td>  the size of the array
-</td></tr><tr><td><span class="term"><i><tt>URL</tt></i>:</span></td><td>  the base URL to use for the document
-</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>  the document encoding, or NULL
-</td></tr><tr><td><span class="term"><i><tt>options</tt></i>:</span></td><td>  a combination of htmlParserOption(s)
-</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the resulting document tree
-</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="htmlCtxtReadFd"></a>htmlCtxtReadFd ()</h3><pre class="programlisting"><a href="libxml-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>  htmlCtxtReadFd                  (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
-                                             int fd,
-                                             const char *URL,
-                                             const char *encoding,
-                                             int options);</pre><p>
-parse an XML from a file descriptor and build a tree.
-This reuses the existing <i><tt>ctxt</tt></i> parser context</p><p>
-
-</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  an HTML parser context
-</td></tr><tr><td><span class="term"><i><tt>fd</tt></i>:</span></td><td>  an open file descriptor
-</td></tr><tr><td><span class="term"><i><tt>URL</tt></i>:</span></td><td>  the base URL to use for the document
-</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>  the document encoding, or NULL
-</td></tr><tr><td><span class="term"><i><tt>options</tt></i>:</span></td><td>  a combination of htmlParserOption(s)
-</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the resulting document tree
-</td></tr></tbody></table></div></div><hr><div class="refsect2"><h3><a name="htmlCtxtReadIO"></a>htmlCtxtReadIO ()</h3><pre class="programlisting"><a href="libxml-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>  htmlCtxtReadIO                  (<a href="libxml-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt,
-                                             <a href="libxml-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a> ioread,
-                                             <a href="libxml-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a> ioclose,
-                                             void *ioctx,
-                                             const char *URL,
-                                             const char *encoding,
-                                             int options);</pre><p>
-parse an HTML document from I/O functions and source and build a tree.
-This reuses the existing <i><tt>ctxt</tt></i> parser context</p><p>
-
-</p><div class="variablelist"><table border="0"><col align="left"><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>  an HTML parser context
-</td></tr><tr><td><span class="term"><i><tt>ioread</tt></i>:</span></td><td>  an I/O read function
-</td></tr><tr><td><span class="term"><i><tt>ioclose</tt></i>:</span></td><td>  an I/O close function
-</td></tr><tr><td><span class="term"><i><tt>ioctx</tt></i>:</span></td><td>  an I/O handler
-</td></tr><tr><td><span class="term"><i><tt>URL</tt></i>:</span></td><td>  the base URL to use for the document
-</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>  the document encoding, or NULL
-</td></tr><tr><td><span class="term"><i><tt>options</tt></i>:</span></td><td>  a combination of htmlParserOption(s)
-</td></tr><tr><td><span class="term"><span class="emphasis"><i>Returns</i></span> :</span></td><td>the resulting document tree
-</td></tr></tbody></table></div></div></div></div><table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="0"><tr valign="middle"><td align="left"><a accesskey="p" href="libxml-entities.html"><b>&lt;&lt; entities</b></a></td><td align="right"><a accesskey="n" href="libxml-valid.html"><b>valid &gt;&gt;</b></a></td></tr></table></body></html>
+</pre><pre class="programlisting"><a href="libxml-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	<a href="#htmlReadFd">htmlReadFd</a>	(int fd, <br />				 const char * URL, <br />				 const char * encoding, <br />				 int options)<br />
+</pre><pre class="programlisting"><a href="libxml-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	<a href="#htmlParseDoc">htmlParseDoc</a>	(<a href="libxml-tree.html#xmlChar">xmlChar</a> * cur, <br />				 const char * encoding)<br />
+</pre><pre class="programlisting">int	<a href="#htmlParseDocument">htmlParseDocument</a>	(<a href="libxml-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt)<br />
+</pre><h2>Description</h2>
+<h3><a name="htmlIsScriptAttribute" id="htmlIsScriptAttribute"></a>Function: htmlIsScriptAttribute</h3><pre class="programlisting">int	htmlIsScriptAttribute	(const <a href="libxml-tree.html#xmlChar">xmlChar</a> * name)<br />
+</pre><p>Check if an <a href="libxml-SAX.html#attribute">attribute</a> is of content type Script</p>
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>an <a href="libxml-SAX.html#attribute">attribute</a> name</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 is the <a href="libxml-SAX.html#attribute">attribute</a> is a script 0 otherwise</td></tr></tbody></table></div><h3><a name="htmlHandleOmittedElem" id="htmlHandleOmittedElem"></a>Function: htmlHandleOmittedElem</h3><pre class="programlisting">int	htmlHandleOmittedElem	(int val)<br />
+</pre><p>Set and return the previous value for handling HTML omitted tags.</p>
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>int 0 or 1</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the last value for 0 for no handling, 1 for auto insertion.</td></tr></tbody></table></div><h3><a name="htmlCtxtReadDoc" id="htmlCtxtReadDoc"></a>Function: htmlCtxtReadDoc</h3><pre class="programlisting"><a href="libxml-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	htmlCtxtReadDoc	(<a href="libxml-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt, <br />				 const <a href="libxml-tree.html#xmlChar">xmlChar</a> * cur, <br />				 const char * URL, <br />				 const char * encoding, <br />				 int options)<br />
+</pre><p>parse an XML in-memory document and build a tree. This reuses the existing @ctxt parser context</p>
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an HTML parser context</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>a pointer to a zero terminated string</td></tr><tr><td><span class="term"><i><tt>URL</tt></i>:</span></td><td>the base URL to use for the document</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>the document encoding, or NULL</td></tr><tr><td><span class="term"><i><tt>options</tt></i>:</span></td><td>a combination of htmlParserOption(s)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the resulting document tree</td></tr></tbody></table></div><h3><a name="htmlParseFile" id="htmlParseFile"></a>Function: htmlParseFile</h3><pre class="programlisting"><a href="libxml-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	htmlParseFile	(const char * filename, <br />				 const char * encoding)<br />
+</pre><p>parse an HTML file and build a tree. Automatic support for ZLIB/Compress compressed document is provided by default if found at compile-time.</p>
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>the filename</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>a free form C string describing the HTML document encoding, or NULL</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the resulting document tree</td></tr></tbody></table></div><h3><a name="htmlReadIO" id="htmlReadIO"></a>Function: htmlReadIO</h3><pre class="programlisting"><a href="libxml-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	htmlReadIO	(<a href="libxml-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a> ioread, <br />				 <a href="libxml-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a> ioclose, <br />				 void * ioctx, <br />				 const char * URL, <br />				 const char * encoding, <br />				 int options)<br />
+</pre><p>parse an HTML document from I/O functions and source and build a tree.</p>
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ioread</tt></i>:</span></td><td>an I/O read function</td></tr><tr><td><span class="term"><i><tt>ioclose</tt></i>:</span></td><td>an I/O close function</td></tr><tr><td><span class="term"><i><tt>ioctx</tt></i>:</span></td><td>an I/O handler</td></tr><tr><td><span class="term"><i><tt>URL</tt></i>:</span></td><td>the base URL to use for the document</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>the document encoding, or NULL</td></tr><tr><td><span class="term"><i><tt>options</tt></i>:</span></td><td>a combination of htmlParserOption(s)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the resulting document tree</td></tr></tbody></table></div><h3><a name="htmlAutoCloseTag" id="htmlAutoCloseTag"></a>Function: htmlAutoCloseTag</h3><pre class="programlisting">int	htmlAutoCloseTag	(<a href="libxml-HTMLparser.html#htmlDocPtr">htmlDocPtr</a> doc, <br />				 const <a href="libxml-tree.html#xmlChar">xmlChar</a> * name, <br />				 <a href="libxml-HTMLparser.html#htmlNodePtr">htmlNodePtr</a> elem)<br />
+</pre><p>The HTML DTD allows a tag to implicitly close other tags. The list is kept in htmlStartClose array. This function checks if the element or one of it's children would autoclose the given tag.</p>
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the HTML document</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>The tag name</td></tr><tr><td><span class="term"><i><tt>elem</tt></i>:</span></td><td>the HTML element</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if autoclose, 0 otherwise</td></tr></tbody></table></div><h3><a name="htmlParseChunk" id="htmlParseChunk"></a>Function: htmlParseChunk</h3><pre class="programlisting">int	htmlParseChunk	(<a href="libxml-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt, <br />				 const char * chunk, <br />				 int size, <br />				 int terminate)<br />
+</pre><p>Parse a Chunk of memory</p>
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an HTML parser context</td></tr><tr><td><span class="term"><i><tt>chunk</tt></i>:</span></td><td>an char array</td></tr><tr><td><span class="term"><i><tt>size</tt></i>:</span></td><td>the size in byte of the chunk</td></tr><tr><td><span class="term"><i><tt>terminate</tt></i>:</span></td><td>last chunk indicator</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>zero if no error, the <a href="libxml-xmlerror.html#xmlParserErrors">xmlParserErrors</a> otherwise.</td></tr></tbody></table></div><h3><a name="htmlTagLookup" id="htmlTagLookup"></a>Function: htmlTagLookup</h3><pre class="programlisting">const <a href="libxml-HTMLparser.html#htmlElemDesc">htmlElemDesc</a> *	htmlTagLookup	(const <a href="libxml-tree.html#xmlChar">xmlChar</a> * tag)<br />
+</pre><p>Lookup the HTML tag in the ElementTable</p>
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>tag</tt></i>:</span></td><td>The tag name in lowercase</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the related <a href="libxml-HTMLparser.html#htmlElemDescPtr">htmlElemDescPtr</a> or NULL if not found.</td></tr></tbody></table></div><h3><a name="htmlCreateMemoryParserCtxt" id="htmlCreateMemoryParserCtxt"></a>Function: htmlCreateMemoryParserCtxt</h3><pre class="programlisting"><a href="libxml-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a>	htmlCreateMemoryParserCtxt	(const char * buffer, <br />				 int size)<br />
+</pre><p>Create a parser context for an HTML in-memory document.</p>
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>buffer</tt></i>:</span></td><td>a pointer to a char array</td></tr><tr><td><span class="term"><i><tt>size</tt></i>:</span></td><td>the size of the array</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new parser context or NULL</td></tr></tbody></table></div><h3><a name="htmlCtxtReset" id="htmlCtxtReset"></a>Function: htmlCtxtReset</h3><pre class="programlisting">void	htmlCtxtReset	(<a href="libxml-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt)<br />
+</pre><p>Reset a parser context</p>
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an HTML parser context</td></tr></tbody></table></div><h3><a name="htmlElementAllowedHere" id="htmlElementAllowedHere"></a>Function: htmlElementAllowedHere</h3><pre class="programlisting">int	htmlElementAllowedHere	(const <a href="libxml-HTMLparser.html#htmlElemDesc">htmlElemDesc</a> * parent, <br />				 const <a href="libxml-tree.html#xmlChar">xmlChar</a> * elt)<br />
+</pre><p>Checks whether an HTML element may be a direct child of a parent element. Note - doesn't check for deprecated elements</p>
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>parent</tt></i>:</span></td><td>HTML parent element</td></tr><tr><td><span class="term"><i><tt>elt</tt></i>:</span></td><td>HTML element</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if allowed; 0 otherwise.</td></tr></tbody></table></div><h3><a name="htmlCtxtReadIO" id="htmlCtxtReadIO"></a>Function: htmlCtxtReadIO</h3><pre class="programlisting"><a href="libxml-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	htmlCtxtReadIO	(<a href="libxml-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt, <br />				 <a href="libxml-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a> ioread, <br />				 <a href="libxml-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a> ioclose, <br />				 void * ioctx, <br />				 const char * URL, <br />				 const char * encoding, <br />				 int options)<br />
+</pre><p>parse an HTML document from I/O functions and source and build a tree. This reuses the existing @ctxt parser context</p>
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an HTML parser context</td></tr><tr><td><span class="term"><i><tt>ioread</tt></i>:</span></td><td>an I/O read function</td></tr><tr><td><span class="term"><i><tt>ioclose</tt></i>:</span></td><td>an I/O close function</td></tr><tr><td><span class="term"><i><tt>ioctx</tt></i>:</span></td><td>an I/O handler</td></tr><tr><td><span class="term"><i><tt>URL</tt></i>:</span></td><td>the base URL to use for the document</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>the document encoding, or NULL</td></tr><tr><td><span class="term"><i><tt>options</tt></i>:</span></td><td>a combination of htmlParserOption(s)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the resulting document tree</td></tr></tbody></table></div><h3><a name="htmlCreatePushParserCtxt" id="htmlCreatePushParserCtxt"></a>Function: htmlCreatePushParserCtxt</h3><pre class="programlisting"><a href="libxml-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a>	htmlCreatePushParserCtxt	(<a href="libxml-HTMLparser.html#htmlSAXHandlerPtr">htmlSAXHandlerPtr</a> sax, <br />				 void * user_data, <br />				 const char * chunk, <br />				 int size, <br />				 const char * filename, <br />				 <a href="libxml-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc)<br />
+</pre><p>Create a parser context for using the HTML parser in push mode The value of @filename is used for fetching external entities and error/warning reports.</p>
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>sax</tt></i>:</span></td><td>a SAX handler</td></tr><tr><td><span class="term"><i><tt>user_data</tt></i>:</span></td><td>The user data returned on SAX callbacks</td></tr><tr><td><span class="term"><i><tt>chunk</tt></i>:</span></td><td>a pointer to an array of chars</td></tr><tr><td><span class="term"><i><tt>size</tt></i>:</span></td><td>number of chars in the array</td></tr><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>an optional file name or URI</td></tr><tr><td><span class="term"><i><tt>enc</tt></i>:</span></td><td>an optional encoding</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new parser context or NULL</td></tr></tbody></table></div><h3><a name="htmlReadMemory" id="htmlReadMemory"></a>Function: htmlReadMemory</h3><pre class="programlisting"><a href="libxml-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	htmlReadMemory	(const char * buffer, <br />				 int size, <br />				 const char * URL, <br />				 const char * encoding, <br />				 int options)<br />
+</pre><p>parse an XML in-memory document and build a tree.</p>
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>buffer</tt></i>:</span></td><td>a pointer to a char array</td></tr><tr><td><span class="term"><i><tt>size</tt></i>:</span></td><td>the size of the array</td></tr><tr><td><span class="term"><i><tt>URL</tt></i>:</span></td><td>the base URL to use for the document</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>the document encoding, or NULL</td></tr><tr><td><span class="term"><i><tt>options</tt></i>:</span></td><td>a combination of htmlParserOption(s)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the resulting document tree</td></tr></tbody></table></div><h3><a name="htmlIsAutoClosed" id="htmlIsAutoClosed"></a>Function: htmlIsAutoClosed</h3><pre class="programlisting">int	htmlIsAutoClosed	(<a href="libxml-HTMLparser.html#htmlDocPtr">htmlDocPtr</a> doc, <br />				 <a href="libxml-HTMLparser.html#htmlNodePtr">htmlNodePtr</a> elem)<br />
+</pre><p>The HTML DTD allows a tag to implicitly close other tags. The list is kept in htmlStartClose array. This function checks if a tag is autoclosed by one of it's child</p>
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the HTML document</td></tr><tr><td><span class="term"><i><tt>elem</tt></i>:</span></td><td>the HTML element</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if autoclosed, 0 otherwise</td></tr></tbody></table></div><h3><a name="htmlReadDoc" id="htmlReadDoc"></a>Function: htmlReadDoc</h3><pre class="programlisting"><a href="libxml-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	htmlReadDoc	(const <a href="libxml-tree.html#xmlChar">xmlChar</a> * cur, <br />				 const char * URL, <br />				 const char * encoding, <br />				 int options)<br />
+</pre><p>parse an XML in-memory document and build a tree.</p>
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>a pointer to a zero terminated string</td></tr><tr><td><span class="term"><i><tt>URL</tt></i>:</span></td><td>the base URL to use for the document</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>the document encoding, or NULL</td></tr><tr><td><span class="term"><i><tt>options</tt></i>:</span></td><td>a combination of htmlParserOption(s)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the resulting document tree</td></tr></tbody></table></div><h3><a name="htmlEncodeEntities" id="htmlEncodeEntities"></a>Function: htmlEncodeEntities</h3><pre class="programlisting">int	htmlEncodeEntities	(unsigned char * out, <br />				 int * outlen, <br />				 const unsigned char * in, <br />				 int * inlen, <br />				 int quoteChar)<br />
+</pre><p>Take a block of UTF-8 chars in and try to convert it to an ASCII plus HTML entities block of chars out.</p>
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>out</tt></i>:</span></td><td>a pointer to an array of bytes to store the result</td></tr><tr><td><span class="term"><i><tt>outlen</tt></i>:</span></td><td>the length of @out</td></tr><tr><td><span class="term"><i><tt>in</tt></i>:</span></td><td>a pointer to an array of UTF-8 chars</td></tr><tr><td><span class="term"><i><tt>inlen</tt></i>:</span></td><td>the length of @in</td></tr><tr><td><span class="term"><i><tt>quoteChar</tt></i>:</span></td><td>the quote character to escape (' or &quot;) or zero.</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if success, -2 if the transcoding fails, or -1 otherwise The value of @inlen after return is the number of octets consumed as the return value is positive, else unpredictable. The value of @outlen after return is the number of octets consumed.</td></tr></tbody></table></div><h3><a name="htmlNodeStatus" id="htmlNodeStatus"></a>Function: htmlNodeStatus</h3><pre class="programlisting"><a href="libxml-HTMLparser.html#htmlStatus">htmlStatus</a>	htmlNodeStatus	(const <a href="libxml-HTMLparser.html#htmlNodePtr">htmlNodePtr</a> node, <br />				 int legacy)<br />
+</pre><p>Checks whether the tree node is valid. Experimental (the author only uses the HTML enhancements in a SAX parser)</p>
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>an <a href="libxml-HTMLparser.html#htmlNodePtr">htmlNodePtr</a> in a tree</td></tr><tr><td><span class="term"><i><tt>legacy</tt></i>:</span></td><td>whether to allow deprecated elements (YES is faster here for Element nodes)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>for Element nodes, a return from <a href="libxml-HTMLparser.html#htmlElementAllowedHere">htmlElementAllowedHere</a> (if legacy allowed) or <a href="libxml-HTMLparser.html#htmlElementStatusHere">htmlElementStatusHere</a> (otherwise). for Attribute nodes, a return from <a href="libxml-HTMLparser.html#htmlAttrAllowed">htmlAttrAllowed</a> for other nodes, <a href="libxml-HTMLparser.html#HTML_NA">HTML_NA</a> (no checks performed)</td></tr></tbody></table></div><h3><a name="htmlAttrAllowed" id="htmlAttrAllowed"></a>Function: htmlAttrAllowed</h3><pre class="programlisting"><a href="libxml-HTMLparser.html#htmlStatus">htmlStatus</a>	htmlAttrAllowed	(const <a href="libxml-HTMLparser.html#htmlElemDesc">htmlElemDesc</a> * elt, <br />				 const <a href="libxml-tree.html#xmlChar">xmlChar</a> * attr, <br />				 int legacy)<br />
+</pre><p>Checks whether an <a href="libxml-SAX.html#attribute">attribute</a> is valid for an element Has full knowledge of Required and Deprecated attributes</p>
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>elt</tt></i>:</span></td><td>HTML element</td></tr><tr><td><span class="term"><i><tt>attr</tt></i>:</span></td><td>HTML <a href="libxml-SAX.html#attribute">attribute</a></td></tr><tr><td><span class="term"><i><tt>legacy</tt></i>:</span></td><td>whether to allow deprecated attributes</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>one of HTML_REQUIRED, HTML_VALID, HTML_DEPRECATED, <a href="libxml-HTMLparser.html#HTML_INVALID">HTML_INVALID</a></td></tr></tbody></table></div><h3><a name="htmlDefaultSubelement" id="htmlDefaultSubelement"></a>Macro: htmlDefaultSubelement</h3><pre>#define htmlDefaultSubelement</pre><p>Returns the default subelement for this element</p>
+<h3><a name="htmlParseCharRef" id="htmlParseCharRef"></a>Function: htmlParseCharRef</h3><pre class="programlisting">int	htmlParseCharRef	(<a href="libxml-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt)<br />
+</pre><p>parse Reference declarations [66] CharRef ::= '&amp;#' [0-9]+ ';' | '&amp;#x' [0-9a-fA-F]+ ';'</p>
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an HTML parser context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the value parsed (as an int)</td></tr></tbody></table></div><h3><a name="htmlSAXParseFile" id="htmlSAXParseFile"></a>Function: htmlSAXParseFile</h3><pre class="programlisting"><a href="libxml-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	htmlSAXParseFile	(const char * filename, <br />				 const char * encoding, <br />				 <a href="libxml-HTMLparser.html#htmlSAXHandlerPtr">htmlSAXHandlerPtr</a> sax, <br />				 void * userData)<br />
+</pre><p>parse an HTML file and build a tree. Automatic support for ZLIB/Compress compressed document is provided by default if found at compile-time. It use the given SAX function block to handle the parsing callback. If sax is NULL, fallback to the default DOM tree building routines.</p>
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>the filename</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>a free form C string describing the HTML document encoding, or NULL</td></tr><tr><td><span class="term"><i><tt>sax</tt></i>:</span></td><td>the SAX handler block</td></tr><tr><td><span class="term"><i><tt>userData</tt></i>:</span></td><td>if using SAX, this pointer will be provided on callbacks.</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the resulting document tree unless SAX is NULL or the document is not well formed.</td></tr></tbody></table></div><h3><a name="htmlParseEntityRef" id="htmlParseEntityRef"></a>Function: htmlParseEntityRef</h3><pre class="programlisting">const <a href="libxml-HTMLparser.html#htmlEntityDesc">htmlEntityDesc</a> *	htmlParseEntityRef	(<a href="libxml-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt, <br />				 const <a href="libxml-tree.html#xmlChar">xmlChar</a> ** str)<br />
+</pre><p>parse an HTML ENTITY references [68] EntityRef ::= '&amp;' Name ';'</p>
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an HTML parser context</td></tr><tr><td><span class="term"><i><tt>str</tt></i>:</span></td><td>location to store the entity name</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the associated <a href="libxml-HTMLparser.html#htmlEntityDescPtr">htmlEntityDescPtr</a> if found, or NULL otherwise, if non-NULL *str will have to be freed by the caller.</td></tr></tbody></table></div><h3><a name="htmlElementStatusHere" id="htmlElementStatusHere"></a>Function: htmlElementStatusHere</h3><pre class="programlisting"><a href="libxml-HTMLparser.html#htmlStatus">htmlStatus</a>	htmlElementStatusHere	(const <a href="libxml-HTMLparser.html#htmlElemDesc">htmlElemDesc</a> * parent, <br />				 const <a href="libxml-HTMLparser.html#htmlElemDesc">htmlElemDesc</a> * elt)<br />
+</pre><p>Checks whether an HTML element may be a direct child of a parent element. and if so whether it is valid or deprecated.</p>
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>parent</tt></i>:</span></td><td>HTML parent element</td></tr><tr><td><span class="term"><i><tt>elt</tt></i>:</span></td><td>HTML element</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>one of HTML_VALID, HTML_DEPRECATED, <a href="libxml-HTMLparser.html#HTML_INVALID">HTML_INVALID</a></td></tr></tbody></table></div><h3><a name="htmlEntityValueLookup" id="htmlEntityValueLookup"></a>Function: htmlEntityValueLookup</h3><pre class="programlisting">const <a href="libxml-HTMLparser.html#htmlEntityDesc">htmlEntityDesc</a> *	htmlEntityValueLookup	(unsigned int value)<br />
+</pre><p>Lookup the given entity in EntitiesTable TODO: the linear scan is really ugly, an hash table is really needed.</p>
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td>the entity's unicode value</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the associated <a href="libxml-HTMLparser.html#htmlEntityDescPtr">htmlEntityDescPtr</a> if found, NULL otherwise.</td></tr></tbody></table></div><h3><a name="htmlParseElement" id="htmlParseElement"></a>Function: htmlParseElement</h3><pre class="programlisting">void	htmlParseElement	(<a href="libxml-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt)<br />
+</pre><p>parse an HTML element, this is highly recursive [39] element ::= EmptyElemTag | STag content ETag [41] Attribute ::= Name Eq AttValue</p>
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an HTML parser context</td></tr></tbody></table></div><h3><a name="UTF8ToHtml" id="UTF8ToHtml"></a>Function: UTF8ToHtml</h3><pre class="programlisting">int	UTF8ToHtml	(unsigned char * out, <br />				 int * outlen, <br />				 const unsigned char * in, <br />				 int * inlen)<br />
+</pre><p>Take a block of UTF-8 chars in and try to convert it to an ASCII plus HTML entities block of chars out.</p>
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>out</tt></i>:</span></td><td>a pointer to an array of bytes to store the result</td></tr><tr><td><span class="term"><i><tt>outlen</tt></i>:</span></td><td>the length of @out</td></tr><tr><td><span class="term"><i><tt>in</tt></i>:</span></td><td>a pointer to an array of UTF-8 chars</td></tr><tr><td><span class="term"><i><tt>inlen</tt></i>:</span></td><td>the length of @in</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if success, -2 if the transcoding fails, or -1 otherwise The value of @inlen after return is the number of octets consumed as the return value is positive, else unpredictable. The value of @outlen after return is the number of octets consumed.</td></tr></tbody></table></div><h3><a name="htmlRequiredAttrs" id="htmlRequiredAttrs"></a>Macro: htmlRequiredAttrs</h3><pre>#define htmlRequiredAttrs</pre><p>Returns the attributes required for the specified element.</p>
+<h3><a name="htmlEntityLookup" id="htmlEntityLookup"></a>Function: htmlEntityLookup</h3><pre class="programlisting">const <a href="libxml-HTMLparser.html#htmlEntityDesc">htmlEntityDesc</a> *	htmlEntityLookup	(const <a href="libxml-tree.html#xmlChar">xmlChar</a> * name)<br />
+</pre><p>Lookup the given entity in EntitiesTable TODO: the linear scan is really ugly, an hash table is really needed.</p>
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the entity name</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the associated <a href="libxml-HTMLparser.html#htmlEntityDescPtr">htmlEntityDescPtr</a> if found, NULL otherwise.</td></tr></tbody></table></div><h3><a name="htmlFreeParserCtxt" id="htmlFreeParserCtxt"></a>Function: htmlFreeParserCtxt</h3><pre class="programlisting">void	htmlFreeParserCtxt	(<a href="libxml-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt)<br />
+</pre><p>Free all the memory used by a parser context. However the parsed document in ctxt-&gt;myDoc is not freed.</p>
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an HTML parser context</td></tr></tbody></table></div><h3><a name="htmlCtxtReadMemory" id="htmlCtxtReadMemory"></a>Function: htmlCtxtReadMemory</h3><pre class="programlisting"><a href="libxml-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	htmlCtxtReadMemory	(<a href="libxml-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt, <br />				 const char * buffer, <br />				 int size, <br />				 const char * URL, <br />				 const char * encoding, <br />				 int options)<br />
+</pre><p>parse an XML in-memory document and build a tree. This reuses the existing @ctxt parser context</p>
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an HTML parser context</td></tr><tr><td><span class="term"><i><tt>buffer</tt></i>:</span></td><td>a pointer to a char array</td></tr><tr><td><span class="term"><i><tt>size</tt></i>:</span></td><td>the size of the array</td></tr><tr><td><span class="term"><i><tt>URL</tt></i>:</span></td><td>the base URL to use for the document</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>the document encoding, or NULL</td></tr><tr><td><span class="term"><i><tt>options</tt></i>:</span></td><td>a combination of htmlParserOption(s)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the resulting document tree</td></tr></tbody></table></div><h3><a name="htmlCtxtReadFd" id="htmlCtxtReadFd"></a>Function: htmlCtxtReadFd</h3><pre class="programlisting"><a href="libxml-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	htmlCtxtReadFd	(<a href="libxml-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt, <br />				 int fd, <br />				 const char * URL, <br />				 const char * encoding, <br />				 int options)<br />
+</pre><p>parse an XML from a file descriptor and build a tree. This reuses the existing @ctxt parser context</p>
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an HTML parser context</td></tr><tr><td><span class="term"><i><tt>fd</tt></i>:</span></td><td>an open file descriptor</td></tr><tr><td><span class="term"><i><tt>URL</tt></i>:</span></td><td>the base URL to use for the document</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>the document encoding, or NULL</td></tr><tr><td><span class="term"><i><tt>options</tt></i>:</span></td><td>a combination of htmlParserOption(s)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the resulting document tree</td></tr></tbody></table></div>
+      
+      
+      
+    <h3><a name="htmlElementAllowedHereDesc" id="htmlElementAllowedHereDesc"></a>Macro: htmlElementAllowedHereDesc</h3><pre>#define htmlElementAllowedHereDesc</pre><p>Checks whether an HTML element description may be a direct child of the specified element. Returns 1 if allowed; 0 otherwise.</p>
+<h3><a name="htmlReadFile" id="htmlReadFile"></a>Function: htmlReadFile</h3><pre class="programlisting"><a href="libxml-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	htmlReadFile	(const char * filename, <br />				 const char * encoding, <br />				 int options)<br />
+</pre><p>parse an XML file from the filesystem or the network.</p>
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>a file or URL</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>the document encoding, or NULL</td></tr><tr><td><span class="term"><i><tt>options</tt></i>:</span></td><td>a combination of htmlParserOption(s)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the resulting document tree</td></tr></tbody></table></div><h3><a name="htmlCtxtReadFile" id="htmlCtxtReadFile"></a>Function: htmlCtxtReadFile</h3><pre class="programlisting"><a href="libxml-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	htmlCtxtReadFile	(<a href="libxml-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt, <br />				 const char * filename, <br />				 const char * encoding, <br />				 int options)<br />
+</pre><p>parse an XML file from the filesystem or the network. This reuses the existing @ctxt parser context</p>
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an HTML parser context</td></tr><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>a file or URL</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>the document encoding, or NULL</td></tr><tr><td><span class="term"><i><tt>options</tt></i>:</span></td><td>a combination of htmlParserOption(s)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the resulting document tree</td></tr></tbody></table></div>
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+      
+    <h3><a name="htmlSAXParseDoc" id="htmlSAXParseDoc"></a>Function: htmlSAXParseDoc</h3><pre class="programlisting"><a href="libxml-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	htmlSAXParseDoc	(<a href="libxml-tree.html#xmlChar">xmlChar</a> * cur, <br />				 const char * encoding, <br />				 <a href="libxml-HTMLparser.html#htmlSAXHandlerPtr">htmlSAXHandlerPtr</a> sax, <br />				 void * userData)<br />
+</pre><p>Parse an HTML in-memory document. If sax is not NULL, use the SAX callbacks to handle parse events. If sax is NULL, fallback to the default DOM behavior and return a tree.</p>
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>a pointer to an array of <a href="libxml-tree.html#xmlChar">xmlChar</a></td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>a free form C string describing the HTML document encoding, or NULL</td></tr><tr><td><span class="term"><i><tt>sax</tt></i>:</span></td><td>the SAX handler block</td></tr><tr><td><span class="term"><i><tt>userData</tt></i>:</span></td><td>if using SAX, this pointer will be provided on callbacks.</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the resulting document tree unless SAX is NULL or the document is not well formed.</td></tr></tbody></table></div><h3><a name="htmlCtxtUseOptions" id="htmlCtxtUseOptions"></a>Function: htmlCtxtUseOptions</h3><pre class="programlisting">int	htmlCtxtUseOptions	(<a href="libxml-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt, <br />				 int options)<br />
+</pre><p>Applies the options to the parser context</p>
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an HTML parser context</td></tr><tr><td><span class="term"><i><tt>options</tt></i>:</span></td><td>a combination of htmlParserOption(s)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success, the set of unknown or unimplemented options in case of error.</td></tr></tbody></table></div><h3><a name="htmlReadFd" id="htmlReadFd"></a>Function: htmlReadFd</h3><pre class="programlisting"><a href="libxml-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	htmlReadFd	(int fd, <br />				 const char * URL, <br />				 const char * encoding, <br />				 int options)<br />
+</pre><p>parse an XML from a file descriptor and build a tree.</p>
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>fd</tt></i>:</span></td><td>an open file descriptor</td></tr><tr><td><span class="term"><i><tt>URL</tt></i>:</span></td><td>the base URL to use for the document</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>the document encoding, or NULL</td></tr><tr><td><span class="term"><i><tt>options</tt></i>:</span></td><td>a combination of htmlParserOption(s)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the resulting document tree</td></tr></tbody></table></div><h3><a name="htmlParseDoc" id="htmlParseDoc"></a>Function: htmlParseDoc</h3><pre class="programlisting"><a href="libxml-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	htmlParseDoc	(<a href="libxml-tree.html#xmlChar">xmlChar</a> * cur, <br />				 const char * encoding)<br />
+</pre><p>parse an HTML in-memory document and build a tree.</p>
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>a pointer to an array of <a href="libxml-tree.html#xmlChar">xmlChar</a></td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>a free form C string describing the HTML document encoding, or NULL</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the resulting document tree</td></tr></tbody></table></div><h3><a name="htmlParseDocument" id="htmlParseDocument"></a>Function: htmlParseDocument</h3><pre class="programlisting">int	htmlParseDocument	(<a href="libxml-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt)<br />
+</pre><p>parse an HTML document (and build a tree if using the standard SAX interface).</p>
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an HTML parser context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0, -1 in case of error. the parser context is augmented as a result of the parsing.</td></tr></tbody></table></div><p><a href="bugs.html">Daniel Veillard</a></p></td></tr></table></td></tr></table></td></tr></table></td></tr></table></td></tr></table></body></html>