Update documentation for 2.14.0
diff --git a/doc/devhelp/general.html b/doc/devhelp/general.html
index 8b7ae7b..1212cdd 100644
--- a/doc/devhelp/general.html
+++ b/doc/devhelp/general.html
@@ -16,6 +16,6 @@
 <th width="100%" align="center">libxml2 Reference Manual</th>
 </tr></table>
 <h2><span class="refentrytitle">libxml2 API Modules</span></h2>
-<p><a href="libxml2-HTMLparser.html">HTMLparser</a> - interface for an HTML 4.0 non-verifying parser<br><a href="libxml2-HTMLtree.html">HTMLtree</a> - specific APIs to process HTML tree, especially serialization<br><a href="libxml2-SAX.html">SAX</a> - Old SAX version 1 handler, deprecated<br><a href="libxml2-SAX2.html">SAX2</a> - SAX2 parser interface used to build the DOM tree<br><a href="libxml2-c14n.html">c14n</a> - Provide Canonical XML and Exclusive XML Canonicalization<br><a href="libxml2-catalog.html">catalog</a> - interfaces to the Catalog handling system<br><a href="libxml2-chvalid.html">chvalid</a> - Unicode character range checking<br><a href="libxml2-debugXML.html">debugXML</a> - Tree debugging APIs<br><a href="libxml2-dict.html">dict</a> - string dictionary<br><a href="libxml2-encoding.html">encoding</a> - interface for the encoding conversion functions<br><a href="libxml2-entities.html">entities</a> - interface for the XML entities handling<br><a href="libxml2-globals.html">globals</a> - interface for all global variables of the library<br><a href="libxml2-hash.html">hash</a> - Chained hash tables<br><a href="libxml2-list.html">list</a> - lists interfaces<br><a href="libxml2-nanoftp.html">nanoftp</a> - minimal FTP implementation<br><a href="libxml2-nanohttp.html">nanohttp</a> - minimal HTTP implementation<br><a href="libxml2-parser.html">parser</a> - the core parser module<br><a href="libxml2-parserInternals.html">parserInternals</a> - internals routines and limits exported by the parser.<br><a href="libxml2-pattern.html">pattern</a> - pattern expression handling<br><a href="libxml2-relaxng.html">relaxng</a> - implementation of the Relax-NG validation<br><a href="libxml2-schemasInternals.html">schemasInternals</a> - internal interfaces for XML Schemas<br><a href="libxml2-schematron.html">schematron</a> - XML Schematron implementation<br><a href="libxml2-threads.html">threads</a> - interfaces for thread handling<br><a href="libxml2-tree.html">tree</a> - interfaces for tree manipulation<br><a href="libxml2-uri.html">uri</a> - library of generic URI related routines<br><a href="libxml2-valid.html">valid</a> - The DTD validation<br><a href="libxml2-xinclude.html">xinclude</a> - implementation of XInclude<br><a href="libxml2-xlink.html">xlink</a> - unfinished XLink detection module<br><a href="libxml2-xmlIO.html">xmlIO</a> - interface for the I/O interfaces used by the parser<br><a href="libxml2-xmlautomata.html">xmlautomata</a> - API to build regexp automata<br><a href="libxml2-xmlerror.html">xmlerror</a> - error handling<br><a href="libxml2-xmlexports.html">xmlexports</a> - macros for marking symbols as exportable/importable.<br><a href="libxml2-xmlmemory.html">xmlmemory</a> - interface for the memory allocator<br><a href="libxml2-xmlmodule.html">xmlmodule</a> - dynamic module loading<br><a href="libxml2-xmlreader.html">xmlreader</a> - the XMLReader implementation<br><a href="libxml2-xmlregexp.html">xmlregexp</a> - regular expressions handling<br><a href="libxml2-xmlsave.html">xmlsave</a> - the XML document serializer<br><a href="libxml2-xmlschemas.html">xmlschemas</a> - incomplete XML Schemas structure implementation<br><a href="libxml2-xmlschemastypes.html">xmlschemastypes</a> - implementation of XML Schema Datatypes<br><a href="libxml2-xmlstring.html">xmlstring</a> - set of routines to process strings<br><a href="libxml2-xmlunicode.html">xmlunicode</a> - Unicode character APIs<br><a href="libxml2-xmlversion.html">xmlversion</a> - compile-time version information<br><a href="libxml2-xmlwriter.html">xmlwriter</a> - text writing API for XML<br><a href="libxml2-xpath.html">xpath</a> - XML Path Language implementation<br><a href="libxml2-xpathInternals.html">xpathInternals</a> - internal interfaces for XML Path Language implementation<br><a href="libxml2-xpointer.html">xpointer</a> - API to handle XML Pointers<br></p>
+<p><a href="libxml2-HTMLparser.html">HTMLparser</a> - interface for an HTML 4.0 non-verifying parser<br><a href="libxml2-HTMLtree.html">HTMLtree</a> - specific APIs to process HTML tree, especially serialization<br><a href="libxml2-SAX2.html">SAX2</a> - SAX2 parser interface used to build the DOM tree<br><a href="libxml2-c14n.html">c14n</a> - Provide Canonical XML and Exclusive XML Canonicalization<br><a href="libxml2-catalog.html">catalog</a> - interfaces to the Catalog handling system<br><a href="libxml2-chvalid.html">chvalid</a> - Unicode character range checking<br><a href="libxml2-debugXML.html">debugXML</a> - Tree debugging APIs<br><a href="libxml2-dict.html">dict</a> - string dictionary<br><a href="libxml2-encoding.html">encoding</a> - interface for the encoding conversion functions<br><a href="libxml2-entities.html">entities</a> - interface for the XML entities handling<br><a href="libxml2-globals.html">globals</a> - interface for all global variables of the library<br><a href="libxml2-hash.html">hash</a> - Chained hash tables<br><a href="libxml2-list.html">list</a> - lists interfaces<br><a href="libxml2-nanohttp.html">nanohttp</a> - minimal HTTP implementation<br><a href="libxml2-parser.html">parser</a> - the core parser module<br><a href="libxml2-parserInternals.html">parserInternals</a> - internals routines and limits exported by the parser.<br><a href="libxml2-pattern.html">pattern</a> - pattern expression handling<br><a href="libxml2-relaxng.html">relaxng</a> - implementation of the Relax-NG validation<br><a href="libxml2-schemasInternals.html">schemasInternals</a> - internal interfaces for XML Schemas<br><a href="libxml2-schematron.html">schematron</a> - XML Schematron implementation<br><a href="libxml2-threads.html">threads</a> - interfaces for thread handling<br><a href="libxml2-tree.html">tree</a> - interfaces for tree manipulation<br><a href="libxml2-uri.html">uri</a> - library of generic URI related routines<br><a href="libxml2-valid.html">valid</a> - The DTD validation<br><a href="libxml2-xinclude.html">xinclude</a> - implementation of XInclude<br><a href="libxml2-xlink.html">xlink</a> - unfinished XLink detection module<br><a href="libxml2-xmlIO.html">xmlIO</a> - interface for the I/O interfaces used by the parser<br><a href="libxml2-xmlautomata.html">xmlautomata</a> - API to build regexp automata<br><a href="libxml2-xmlerror.html">xmlerror</a> - error handling<br><a href="libxml2-xmlexports.html">xmlexports</a> - macros for marking symbols as exportable/importable.<br><a href="libxml2-xmlmemory.html">xmlmemory</a> - interface for the memory allocator<br><a href="libxml2-xmlmodule.html">xmlmodule</a> - dynamic module loading<br><a href="libxml2-xmlreader.html">xmlreader</a> - the XMLReader implementation<br><a href="libxml2-xmlregexp.html">xmlregexp</a> - regular expressions handling<br><a href="libxml2-xmlsave.html">xmlsave</a> - the XML document serializer<br><a href="libxml2-xmlschemas.html">xmlschemas</a> - incomplete XML Schemas structure implementation<br><a href="libxml2-xmlschemastypes.html">xmlschemastypes</a> - implementation of XML Schema Datatypes<br><a href="libxml2-xmlstring.html">xmlstring</a> - set of routines to process strings<br><a href="libxml2-xmlversion.html">xmlversion</a> - compile-time version information<br><a href="libxml2-xmlwriter.html">xmlwriter</a> - text writing API for XML<br><a href="libxml2-xpath.html">xpath</a> - XML Path Language implementation<br><a href="libxml2-xpathInternals.html">xpathInternals</a> - internal interfaces for XML Path Language implementation<br><a href="libxml2-xpointer.html">xpointer</a> - API to handle XML Pointers<br></p>
 </body>
 </html>
diff --git a/doc/devhelp/libxml2-HTMLparser.html b/doc/devhelp/libxml2-HTMLparser.html
index 22942a8..6e6d1c5 100644
--- a/doc/devhelp/libxml2-HTMLparser.html
+++ b/doc/devhelp/libxml2-HTMLparser.html
@@ -21,7 +21,8 @@
 <p>Author(s): Daniel Veillard </p>
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
-<pre class="synopsis">#define <a href="#htmlDefaultSubelement">htmlDefaultSubelement</a>(elt);
+<pre class="synopsis">#define <a href="#UTF8ToHtml">UTF8ToHtml</a>;
+#define <a href="#htmlDefaultSubelement">htmlDefaultSubelement</a>(elt);
 #define <a href="#htmlElementAllowedHereDesc">htmlElementAllowedHereDesc</a>(parent, elt);
 #define <a href="#htmlRequiredAttrs">htmlRequiredAttrs</a>(elt);
 typedef <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> <a href="#htmlDocPtr">htmlDocPtr</a>;
@@ -39,7 +40,6 @@
 typedef <a href="libxml2-tree.html#xmlSAXHandler">xmlSAXHandler</a> <a href="#htmlSAXHandler">htmlSAXHandler</a>;
 typedef <a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> <a href="#htmlSAXHandlerPtr">htmlSAXHandlerPtr</a>;
 typedef enum <a href="#htmlStatus">htmlStatus</a>;
-int	<a href="#UTF8ToHtml">UTF8ToHtml</a>			(unsigned char * out, <br>					 int * outlen, <br>					 const unsigned char * in, <br>					 int * inlen);
 <a href="libxml2-HTMLparser.html#htmlStatus">htmlStatus</a>	<a href="#htmlAttrAllowed">htmlAttrAllowed</a>		(const <a href="libxml2-HTMLparser.html#htmlElemDesc">htmlElemDesc</a> * elt, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * attr, <br>					 int legacy);
 int	<a href="#htmlAutoCloseTag">htmlAutoCloseTag</a>		(<a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a> doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 <a href="libxml2-HTMLparser.html#htmlNodePtr">htmlNodePtr</a> elem);
 <a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a>	<a href="#htmlCreateFileParserCtxt">htmlCreateFileParserCtxt</a>	(const char * filename, <br>							 const char * encoding);
@@ -52,6 +52,7 @@
 <a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	<a href="#htmlCtxtReadIO">htmlCtxtReadIO</a>		(<a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt, <br>					 <a href="libxml2-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a> ioread, <br>					 <a href="libxml2-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a> ioclose, <br>					 void * ioctx, <br>					 const char * URL, <br>					 const char * encoding, <br>					 int options);
 <a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	<a href="#htmlCtxtReadMemory">htmlCtxtReadMemory</a>	(<a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt, <br>					 const char * buffer, <br>					 int size, <br>					 const char * URL, <br>					 const char * encoding, <br>					 int options);
 void	<a href="#htmlCtxtReset">htmlCtxtReset</a>			(<a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt);
+int	<a href="#htmlCtxtSetOptions">htmlCtxtSetOptions</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 int options);
 int	<a href="#htmlCtxtUseOptions">htmlCtxtUseOptions</a>		(<a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt, <br>					 int options);
 int	<a href="#htmlElementAllowedHere">htmlElementAllowedHere</a>		(const <a href="libxml2-HTMLparser.html#htmlElemDesc">htmlElemDesc</a> * parent, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * elt);
 <a href="libxml2-HTMLparser.html#htmlStatus">htmlStatus</a>	<a href="#htmlElementStatusHere">htmlElementStatusHere</a>	(const <a href="libxml2-HTMLparser.html#htmlElemDesc">htmlElemDesc</a> * parent, <br>					 const <a href="libxml2-HTMLparser.html#htmlElemDesc">htmlElemDesc</a> * elt);
@@ -81,6 +82,7 @@
 <a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	<a href="#htmlSAXParseDoc">htmlSAXParseDoc</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur, <br>					 const char * encoding, <br>					 <a href="libxml2-HTMLparser.html#htmlSAXHandlerPtr">htmlSAXHandlerPtr</a> sax, <br>					 void * userData);
 <a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	<a href="#htmlSAXParseFile">htmlSAXParseFile</a>	(const char * filename, <br>					 const char * encoding, <br>					 <a href="libxml2-HTMLparser.html#htmlSAXHandlerPtr">htmlSAXHandlerPtr</a> sax, <br>					 void * userData);
 const <a href="libxml2-HTMLparser.html#htmlElemDesc">htmlElemDesc</a> *	<a href="#htmlTagLookup">htmlTagLookup</a>	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * tag);
+int	<a href="#htmlUTF8ToHtml">htmlUTF8ToHtml</a>			(unsigned char * out, <br>					 int * outlen, <br>					 const unsigned char * in, <br>					 int * inlen);
 </pre>
 </div>
 <div class="refsect1" lang="en"><h2>Description</h2></div>
@@ -89,6 +91,14 @@
 <div class="refsect2" lang="en">
 <div class="refsect2" lang="en">
 <h3>
+<a name="UTF8ToHtml">Macro </a>UTF8ToHtml</h3>
+<pre class="programlisting">#define <a href="#UTF8ToHtml">UTF8ToHtml</a>;
+</pre>
+<p></p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
 <a name="htmlDefaultSubelement">Macro </a>htmlDefaultSubelement</h3>
 <pre class="programlisting">#define <a href="#htmlDefaultSubelement">htmlDefaultSubelement</a>(elt);
 </pre>
@@ -150,20 +160,21 @@
 <h3>
 <a name="htmlElemDesc">Structure </a>htmlElemDesc</h3>
 <pre class="programlisting">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 encapsulating HTML structur
-    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
+    const char *	name
+    char	startTag
+    char	endTag
+    char	saveEndTag
+    char	empty
+    char	depr
+    char	dtd
+    char	isinline
+    const char *	desc
+    const char **	subelts
+    const char *	defaultsubelt
+    const char **	attrs_opt
+    const char **	attrs_depr
+    const char **	attrs_req
+    int	dataMode
 } htmlElemDesc;
 </pre>
 <p></p>
@@ -181,9 +192,9 @@
 <h3>
 <a name="htmlEntityDesc">Structure </a>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
+    unsigned int	value
+    const char *	name
+    const char *	desc
 } htmlEntityDesc;
 </pre>
 <p></p>
@@ -249,16 +260,19 @@
 <h3>
 <a name="htmlParserOption">Enum </a>htmlParserOption</h3>
 <pre class="programlisting">enum <a href="#htmlParserOption">htmlParserOption</a> {
-    <a name="HTML_PARSE_RECOVER">HTML_PARSE_RECOVER</a> = 1 /* Relaxed parsing */
+    <a name="HTML_PARSE_RECOVER">HTML_PARSE_RECOVER</a> = 1 /* No effect */
+    <a name="HTML_PARSE_HTML5">HTML_PARSE_HTML5</a> = 2 /* HTML5 support */
     <a name="HTML_PARSE_NODEFDTD">HTML_PARSE_NODEFDTD</a> = 4 /* do not default a doctype if not found */
     <a name="HTML_PARSE_NOERROR">HTML_PARSE_NOERROR</a> = 32 /* suppress error reports */
     <a name="HTML_PARSE_NOWARNING">HTML_PARSE_NOWARNING</a> = 64 /* suppress warning reports */
-    <a name="HTML_PARSE_PEDANTIC">HTML_PARSE_PEDANTIC</a> = 128 /* pedantic error reporting */
+    <a name="HTML_PARSE_PEDANTIC">HTML_PARSE_PEDANTIC</a> = 128 /* No effect */
     <a name="HTML_PARSE_NOBLANKS">HTML_PARSE_NOBLANKS</a> = 256 /* remove blank nodes */
-    <a name="HTML_PARSE_NONET">HTML_PARSE_NONET</a> = 2048 /* Forbid network access */
+    <a name="HTML_PARSE_NONET">HTML_PARSE_NONET</a> = 2048 /* No effect */
     <a name="HTML_PARSE_NOIMPLIED">HTML_PARSE_NOIMPLIED</a> = 8192 /* Do not add implied html/body... elements */
     <a name="HTML_PARSE_COMPACT">HTML_PARSE_COMPACT</a> = 65536 /* compact small text nodes */
-    <a name="HTML_PARSE_IGNORE_ENC">HTML_PARSE_IGNORE_ENC</a> = 2097152 /*  ignore internal document encoding hint */
+    <a name="HTML_PARSE_HUGE">HTML_PARSE_HUGE</a> = 524288 /* relax any hardcoded limit from the parser */
+    <a name="HTML_PARSE_IGNORE_ENC">HTML_PARSE_IGNORE_ENC</a> = 2097152 /* ignore internal document encoding hint */
+    <a name="HTML_PARSE_BIG_LINES">HTML_PARSE_BIG_LINES</a> = 4194304 /*  Store big lines numbers in text PSVI field */
 };
 </pre>
 <p></p>
@@ -304,43 +318,10 @@
 <hr>
 <div class="refsect2" lang="en">
 <h3>
-<a name="UTF8ToHtml"></a>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>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
 <a name="htmlAttrAllowed"></a>htmlAttrAllowed ()</h3>
 <pre class="programlisting"><a href="libxml2-HTMLparser.html#htmlStatus">htmlStatus</a>	htmlAttrAllowed		(const <a href="libxml2-HTMLparser.html#htmlElemDesc">htmlElemDesc</a> * elt, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * attr, <br>					 int legacy)<br>
 </pre>
-<p>Checks whether an <a href="libxml2-SAX.html#attribute">attribute</a> is valid for an element Has full knowledge of Required and Deprecated attributes</p>
+<p>DEPRECATED: Don't use.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -350,8 +331,7 @@
 </tr>
 <tr>
 <td><span class="term"><i><tt>attr</tt></i>:</span></td>
-<td>HTML <a href="libxml2-SAX.html#attribute">attribute</a>
-</td>
+<td>HTML attribute</td>
 </tr>
 <tr>
 <td><span class="term"><i><tt>legacy</tt></i>:</span></td>
@@ -359,8 +339,7 @@
 </tr>
 <tr>
 <td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td>one of HTML_REQUIRED, HTML_VALID, HTML_DEPRECATED, <a href="libxml2-HTMLparser.html#HTML_INVALID">HTML_INVALID</a>
-</td>
+<td><a href="libxml2-HTMLparser.html#HTML_VALID">HTML_VALID</a></td>
 </tr>
 </tbody>
 </table></div>
@@ -371,7 +350,7 @@
 <a name="htmlAutoCloseTag"></a>htmlAutoCloseTag ()</h3>
 <pre class="programlisting">int	htmlAutoCloseTag		(<a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a> doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 <a href="libxml2-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>
+<p>DEPRECATED: Internal function, don't use. 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>
@@ -590,7 +569,7 @@
 <a name="htmlCtxtReadFile"></a>htmlCtxtReadFile ()</h3>
 <pre class="programlisting"><a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	htmlCtxtReadFile	(<a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt, <br>					 const char * filename, <br>					 const char * encoding, <br>					 int options)<br>
 </pre>
-<p>Parse an HTML file from the filesystem, the network or a user-defined resource loader. See xmlNewInputURL and <a href="libxml2-HTMLparser.html#htmlCtxtUseOptions">htmlCtxtUseOptions</a> for details.</p>
+<p>Parse an HTML file from the filesystem, the network or a user-defined resource loader. See <a href="libxml2-HTMLparser.html#htmlCtxtUseOptions">htmlCtxtUseOptions</a> for details.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -623,7 +602,7 @@
 <a name="htmlCtxtReadIO"></a>htmlCtxtReadIO ()</h3>
 <pre class="programlisting"><a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	htmlCtxtReadIO		(<a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt, <br>					 <a href="libxml2-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a> ioread, <br>					 <a href="libxml2-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. See xmlNewInputIO and <a href="libxml2-HTMLparser.html#htmlCtxtUseOptions">htmlCtxtUseOptions</a> for details.</p>
+<p>Parse an HTML document from I/O functions and source and build a tree. See <a href="libxml2-HTMLparser.html#htmlCtxtUseOptions">htmlCtxtUseOptions</a> for details.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -721,10 +700,35 @@
 <hr>
 <div class="refsect2" lang="en">
 <h3>
+<a name="htmlCtxtSetOptions"></a>htmlCtxtSetOptions ()</h3>
+<pre class="programlisting">int	htmlCtxtSetOptions		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 int options)<br>
+</pre>
+<p>Applies the options to the parser context. Unset options are cleared. Available since 2.14.0. With older versions, you can use <a href="libxml2-HTMLparser.html#htmlCtxtUseOptions">htmlCtxtUseOptions</a>. <a href="libxml2-HTMLparser.html#HTML_PARSE_RECOVER">HTML_PARSE_RECOVER</a> No effect as of 2.14.0. <a href="libxml2-HTMLparser.html#HTML_PARSE_HTML5">HTML_PARSE_HTML5</a> Make the tokenizer emit a SAX callback for each token. This results in unbalanced invocations of startElement and endElement. For now, this is only usable with custom SAX callbacks. <a href="libxml2-HTMLparser.html#HTML_PARSE_NODEFDTD">HTML_PARSE_NODEFDTD</a> Do not default to a doctype if none was found. <a href="libxml2-HTMLparser.html#HTML_PARSE_NOERROR">HTML_PARSE_NOERROR</a> Disable error and warning reports to the error handlers. Errors are still accessible with <a href="libxml2-xmlerror.html#xmlCtxtGetLastError">xmlCtxtGetLastError</a>. <a href="libxml2-HTMLparser.html#HTML_PARSE_NOWARNING">HTML_PARSE_NOWARNING</a> Disable warning reports. <a href="libxml2-HTMLparser.html#HTML_PARSE_PEDANTIC">HTML_PARSE_PEDANTIC</a> No effect. <a href="libxml2-HTMLparser.html#HTML_PARSE_NOBLANKS">HTML_PARSE_NOBLANKS</a> Remove some text nodes containing only whitespace from the result document. Which nodes are removed depends on a conservative heuristic. The reindenting feature of the serialization code relies on this option to be set when parsing. Use of this option is DISCOURAGED. <a href="libxml2-HTMLparser.html#HTML_PARSE_NONET">HTML_PARSE_NONET</a> No effect. <a href="libxml2-HTMLparser.html#HTML_PARSE_NOIMPLIED">HTML_PARSE_NOIMPLIED</a> Do not add implied html, head or body elements. <a href="libxml2-HTMLparser.html#HTML_PARSE_COMPACT">HTML_PARSE_COMPACT</a> Store small strings directly in the node struct to save memory. <a href="libxml2-HTMLparser.html#HTML_PARSE_HUGE">HTML_PARSE_HUGE</a> Relax some internal limits. Available since 2.14.0. Use <a href="libxml2-parser.html#XML_PARSE_HUGE">XML_PARSE_HUGE</a> works with older versions. Maximum size of text nodes, tags, comments, CDATA sections normal: 10M huge: 1B Maximum size of names, system literals, pubid literals normal: 50K huge: 10M Maximum nesting depth of elements normal: 256 huge: 2048 <a href="libxml2-HTMLparser.html#HTML_PARSE_IGNORE_ENC">HTML_PARSE_IGNORE_ENC</a> Ignore the encoding in the HTML declaration. This option is mostly unneeded these days. The only effect is to enforce UTF-8 decoding of ASCII-like data. <a href="libxml2-HTMLparser.html#HTML_PARSE_BIG_LINES">HTML_PARSE_BIG_LINES</a> Enable reporting of line numbers larger than 65535. Available since 2.14.0.</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 bitmask of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a> values</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>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
 <a name="htmlCtxtUseOptions"></a>htmlCtxtUseOptions ()</h3>
 <pre class="programlisting">int	htmlCtxtUseOptions		(<a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt, <br>					 int options)<br>
 </pre>
-<p>Applies the options to the parser context</p>
+<p>DEPRECATED: Use <a href="libxml2-HTMLparser.html#htmlCtxtSetOptions">htmlCtxtSetOptions</a>. Applies the options to the parser context. The following options are never cleared and can only be enabled: <a href="libxml2-HTMLparser.html#HTML_PARSE_NODEFDTD">HTML_PARSE_NODEFDTD</a> <a href="libxml2-HTMLparser.html#HTML_PARSE_NOERROR">HTML_PARSE_NOERROR</a> <a href="libxml2-HTMLparser.html#HTML_PARSE_NOWARNING">HTML_PARSE_NOWARNING</a> <a href="libxml2-HTMLparser.html#HTML_PARSE_NOIMPLIED">HTML_PARSE_NOIMPLIED</a> <a href="libxml2-HTMLparser.html#HTML_PARSE_COMPACT">HTML_PARSE_COMPACT</a> <a href="libxml2-HTMLparser.html#HTML_PARSE_HUGE">HTML_PARSE_HUGE</a> <a href="libxml2-HTMLparser.html#HTML_PARSE_IGNORE_ENC">HTML_PARSE_IGNORE_ENC</a> <a href="libxml2-HTMLparser.html#HTML_PARSE_BIG_LINES">HTML_PARSE_BIG_LINES</a></p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -749,7 +753,7 @@
 <a name="htmlElementAllowedHere"></a>htmlElementAllowedHere ()</h3>
 <pre class="programlisting">int	htmlElementAllowedHere		(const <a href="libxml2-HTMLparser.html#htmlElemDesc">htmlElemDesc</a> * parent, <br>					 const <a href="libxml2-xmlstring.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>
+<p>DEPRECATED: Don't use.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -763,7 +767,7 @@
 </tr>
 <tr>
 <td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td>1 if allowed; 0 otherwise.</td>
+<td>1</td>
 </tr>
 </tbody>
 </table></div>
@@ -774,7 +778,7 @@
 <a name="htmlElementStatusHere"></a>htmlElementStatusHere ()</h3>
 <pre class="programlisting"><a href="libxml2-HTMLparser.html#htmlStatus">htmlStatus</a>	htmlElementStatusHere	(const <a href="libxml2-HTMLparser.html#htmlElemDesc">htmlElemDesc</a> * parent, <br>					 const <a href="libxml2-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>
+<p>DEPRECATED: Don't use.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -788,8 +792,7 @@
 </tr>
 <tr>
 <td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td>one of HTML_VALID, HTML_DEPRECATED, <a href="libxml2-HTMLparser.html#HTML_INVALID">HTML_INVALID</a>
-</td>
+<td><a href="libxml2-HTMLparser.html#HTML_VALID">HTML_VALID</a></td>
 </tr>
 </tbody>
 </table></div>
@@ -923,7 +926,7 @@
 <a name="htmlIsAutoClosed"></a>htmlIsAutoClosed ()</h3>
 <pre class="programlisting">int	htmlIsAutoClosed		(<a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a> doc, <br>					 <a href="libxml2-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>
+<p>DEPRECATED: Internal function, don't use. 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>
@@ -948,17 +951,17 @@
 <a name="htmlIsScriptAttribute"></a>htmlIsScriptAttribute ()</h3>
 <pre class="programlisting">int	htmlIsScriptAttribute		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
 </pre>
-<p>Check if an <a href="libxml2-SAX.html#attribute">attribute</a> is of content type Script</p>
+<p>Check if an attribute 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="libxml2-SAX.html#attribute">attribute</a> name</td>
+<td>an attribute name</td>
 </tr>
 <tr>
 <td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td>1 is the <a href="libxml2-SAX.html#attribute">attribute</a> is a script 0 otherwise</td>
+<td>1 is the attribute is a script 0 otherwise</td>
 </tr>
 </tbody>
 </table></div>
@@ -969,7 +972,7 @@
 <a name="htmlNewParserCtxt"></a>htmlNewParserCtxt ()</h3>
 <pre class="programlisting"><a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a>	htmlNewParserCtxt	(void)<br>
 </pre>
-<p>Allocate and initialize a new HTML parser context. This can be used to parse HTML documents into DOM trees with functions like <a href="libxml2-parser.html#xmlCtxtReadFile">xmlCtxtReadFile</a> or <a href="libxml2-parser.html#xmlCtxtReadMemory">xmlCtxtReadMemory</a>. See <a href="libxml2-HTMLparser.html#htmlCtxtUseOptions">htmlCtxtUseOptions</a> for parser options. See <a href="libxml2-parser.html#xmlCtxtSetErrorHandler">xmlCtxtSetErrorHandler</a> for advanced error handling. See xmlNewInputURL, xmlNewInputMemory, xmlNewInputIO and similar functions for advanced input control. See <a href="libxml2-HTMLparser.html#htmlNewSAXParserCtxt">htmlNewSAXParserCtxt</a> for custom SAX parsers.</p>
+<p>Allocate and initialize a new HTML parser context. This can be used to parse HTML documents into DOM trees with functions like <a href="libxml2-parser.html#xmlCtxtReadFile">xmlCtxtReadFile</a> or <a href="libxml2-parser.html#xmlCtxtReadMemory">xmlCtxtReadMemory</a>. See <a href="libxml2-HTMLparser.html#htmlCtxtUseOptions">htmlCtxtUseOptions</a> for parser options. See <a href="libxml2-parser.html#xmlCtxtSetErrorHandler">xmlCtxtSetErrorHandler</a> for advanced error handling. See <a href="libxml2-HTMLparser.html#htmlNewSAXParserCtxt">htmlNewSAXParserCtxt</a> for custom SAX parsers.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody><tr>
@@ -1009,7 +1012,7 @@
 <a name="htmlNodeStatus"></a>htmlNodeStatus ()</h3>
 <pre class="programlisting"><a href="libxml2-HTMLparser.html#htmlStatus">htmlStatus</a>	htmlNodeStatus		(<a href="libxml2-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>
+<p>DEPRECATED: Don't use.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -1023,7 +1026,7 @@
 </tr>
 <tr>
 <td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td>for Element nodes, a return from <a href="libxml2-HTMLparser.html#htmlElementAllowedHere">htmlElementAllowedHere</a> (if legacy allowed) or <a href="libxml2-HTMLparser.html#htmlElementStatusHere">htmlElementStatusHere</a> (otherwise). for Attribute nodes, a return from <a href="libxml2-HTMLparser.html#htmlAttrAllowed">htmlAttrAllowed</a> for other nodes, <a href="libxml2-HTMLparser.html#HTML_NA">HTML_NA</a> (no checks performed)</td>
+<td><a href="libxml2-HTMLparser.html#HTML_VALID">HTML_VALID</a></td>
 </tr>
 </tbody>
 </table></div>
@@ -1034,7 +1037,7 @@
 <a name="htmlParseCharRef"></a>htmlParseCharRef ()</h3>
 <pre class="programlisting">int	htmlParseCharRef		(<a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt)<br>
 </pre>
-<p>DEPRECATED: Internal function, don't use. parse Reference declarations [66] CharRef ::= '&amp;#' [0-9]+ ';' | '&amp;#x' [0-9a-fA-F]+ ';'</p>
+<p>DEPRECATED: Internal function, don't use.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -1044,7 +1047,7 @@
 </tr>
 <tr>
 <td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td>the value parsed (as an int)</td>
+<td>0</td>
 </tr>
 </tbody>
 </table></div>
@@ -1150,7 +1153,7 @@
 <a name="htmlParseEntityRef"></a>htmlParseEntityRef ()</h3>
 <pre class="programlisting">const <a href="libxml2-HTMLparser.html#htmlEntityDesc">htmlEntityDesc</a> *	htmlParseEntityRef	(<a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** str)<br>
 </pre>
-<p>DEPRECATED: Internal function, don't use. parse an HTML ENTITY references [68] EntityRef ::= '&amp;' Name ';'</p>
+<p>DEPRECATED: Internal function, don't use.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -1164,7 +1167,7 @@
 </tr>
 <tr>
 <td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td>the associated <a href="libxml2-HTMLparser.html#htmlEntityDescPtr">htmlEntityDescPtr</a> if found, or NULL otherwise, if non-NULL *str will have to be freed by the caller.</td>
+<td>NULL.</td>
 </tr>
 </tbody>
 </table></div>
@@ -1175,7 +1178,7 @@
 <a name="htmlParseFile"></a>htmlParseFile ()</h3>
 <pre class="programlisting"><a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	htmlParseFile		(const char * filename, <br>					 const char * encoding)<br>
 </pre>
-<p>Parse an HTML file and build a tree. See xmlNewInputURL for details.</p>
+<p>Parse an HTML file and build a tree.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -1456,6 +1459,39 @@
 </table></div>
 </div>
 <hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="htmlUTF8ToHtml"></a>htmlUTF8ToHtml ()</h3>
+<pre class="programlisting">int	htmlUTF8ToHtml			(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>
+</div>
+<hr>
 </div>
 </div>
 </body>
diff --git a/doc/devhelp/libxml2-HTMLtree.html b/doc/devhelp/libxml2-HTMLtree.html
index 7e60ab6..8066266 100644
--- a/doc/devhelp/libxml2-HTMLtree.html
+++ b/doc/devhelp/libxml2-HTMLtree.html
@@ -13,7 +13,7 @@
 <td><a accesskey="p" href="libxml2-HTMLparser.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
 <td><a accesskey="u" href="general.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
 <td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
-<td><a accesskey="n" href="libxml2-SAX.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
+<td><a accesskey="n" href="libxml2-SAX2.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
 <th width="100%" align="center">libxml2 Reference Manual</th>
 </tr></table>
 <h2><span class="refentrytitle">HTMLtree</span></h2>
@@ -56,7 +56,7 @@
 <a name="HTML_COMMENT_NODE">Macro </a>HTML_COMMENT_NODE</h3>
 <pre class="programlisting">#define <a href="#HTML_COMMENT_NODE">HTML_COMMENT_NODE</a>;
 </pre>
-<p>Macro. A <a href="libxml2-SAX.html#comment">comment</a> in a HTML document is really implemented the same way as a <a href="libxml2-SAX.html#comment">comment</a> in an XML document.</p>
+<p>Macro. A comment in a HTML document is really implemented the same way as a comment in an XML document.</p>
 </div>
 <hr>
 <div class="refsect2" lang="en">
@@ -64,7 +64,7 @@
 <a name="HTML_ENTITY_REF_NODE">Macro </a>HTML_ENTITY_REF_NODE</h3>
 <pre class="programlisting">#define <a href="#HTML_ENTITY_REF_NODE">HTML_ENTITY_REF_NODE</a>;
 </pre>
-<p>Macro. An entity <a href="libxml2-SAX.html#reference">reference</a> in a HTML document is really implemented the same way as an entity <a href="libxml2-SAX.html#reference">reference</a> in an XML document.</p>
+<p>Macro. An entity reference in a HTML document is really implemented the same way as an entity reference in an XML document.</p>
 </div>
 <hr>
 <div class="refsect2" lang="en">
@@ -250,17 +250,17 @@
 <a name="htmlIsBooleanAttr"></a>htmlIsBooleanAttr ()</h3>
 <pre class="programlisting">int	htmlIsBooleanAttr		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
 </pre>
-<p>Determine if a given <a href="libxml2-SAX.html#attribute">attribute</a> is a boolean <a href="libxml2-SAX.html#attribute">attribute</a>.</p>
+<p>DEPRECATED: Internal function, don't use. Determine if a given attribute is a boolean attribute.</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 name of the <a href="libxml2-SAX.html#attribute">attribute</a> to check</td>
+<td>the name of the attribute to check</td>
 </tr>
 <tr>
 <td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td>false if the <a href="libxml2-SAX.html#attribute">attribute</a> is not boolean, true otherwise.</td>
+<td>false if the attribute is not boolean, true otherwise.</td>
 </tr>
 </tbody>
 </table></div>
diff --git a/doc/devhelp/libxml2-SAX2.html b/doc/devhelp/libxml2-SAX2.html
index 410229c..b4ac60b 100644
--- a/doc/devhelp/libxml2-SAX2.html
+++ b/doc/devhelp/libxml2-SAX2.html
@@ -10,7 +10,7 @@
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
 <table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td><a accesskey="p" href="libxml2-SAX.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
+<td><a accesskey="p" href="libxml2-HTMLtree.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
 <td><a accesskey="u" href="general.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
 <td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
 <td><a accesskey="n" href="libxml2-c14n.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
@@ -85,7 +85,7 @@
 <a name="xmlSAX2AttributeDecl"></a>xmlSAX2AttributeDecl ()</h3>
 <pre class="programlisting">void	xmlSAX2AttributeDecl		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * elem, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * fullname, <br>					 int type, <br>					 int def, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * defaultValue, <br>					 <a href="libxml2-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a> tree)<br>
 </pre>
-<p>An <a href="libxml2-SAX.html#attribute">attribute</a> definition has been parsed</p>
+<p>An attribute definition has been parsed</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -99,11 +99,11 @@
 </tr>
 <tr>
 <td><span class="term"><i><tt>fullname</tt></i>:</span></td>
-<td>the <a href="libxml2-SAX.html#attribute">attribute</a> name</td>
+<td>the attribute name</td>
 </tr>
 <tr>
 <td><span class="term"><i><tt>type</tt></i>:</span></td>
-<td>the <a href="libxml2-SAX.html#attribute">attribute</a> type</td>
+<td>the attribute type</td>
 </tr>
 <tr>
 <td><span class="term"><i><tt>def</tt></i>:</span></td>
@@ -111,7 +111,7 @@
 </tr>
 <tr>
 <td><span class="term"><i><tt>defaultValue</tt></i>:</span></td>
-<td>the <a href="libxml2-SAX.html#attribute">attribute</a> default value</td>
+<td>the attribute default value</td>
 </tr>
 <tr>
 <td><span class="term"><i><tt>tree</tt></i>:</span></td>
@@ -242,7 +242,7 @@
 <a name="xmlSAX2EndElement"></a>xmlSAX2EndElement ()</h3>
 <pre class="programlisting">void	xmlSAX2EndElement		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
 </pre>
-<p>called when the end of an element has been detected.</p>
+<p>DEPRECATED: Don't call this function directly. called when the end of an element has been detected. Used for HTML and SAX1.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -721,7 +721,7 @@
 <a name="xmlSAX2ResolveEntity"></a>xmlSAX2ResolveEntity ()</h3>
 <pre class="programlisting"><a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>	xmlSAX2ResolveEntity	(void * ctx, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * publicId, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * systemId)<br>
 </pre>
-<p>The entity loader, to control the loading of external entities, the application can either: - override this xmlSAX2ResolveEntity() callback in the SAX block - or better use the xmlSetExternalEntityLoader() function to set up it's own entity resolution routine</p>
+<p>This is only used to load DTDs. The preferred way to install custom resolvers is <a href="libxml2-parser.html#xmlCtxtSetResourceLoader">xmlCtxtSetResourceLoader</a>.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -739,7 +739,7 @@
 </tr>
 <tr>
 <td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td>the <a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> if inlined or NULL for DOM behaviour.</td>
+<td>a parser input.</td>
 </tr>
 </tbody>
 </table></div>
@@ -750,7 +750,7 @@
 <a name="xmlSAX2SetDocumentLocator"></a>xmlSAX2SetDocumentLocator ()</h3>
 <pre class="programlisting">void	xmlSAX2SetDocumentLocator	(void * ctx, <br>					 <a href="libxml2-tree.html#xmlSAXLocatorPtr">xmlSAXLocatorPtr</a> loc)<br>
 </pre>
-<p>Receive the document locator at startup, actually <a href="libxml2-parser.html#xmlDefaultSAXLocator">xmlDefaultSAXLocator</a> Everything is available on the context, so this is useless in our case.</p>
+<p>Receive the document locator at startup, actually xmlDefaultSAXLocator Everything is available on the context, so this is useless in our case.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -786,7 +786,7 @@
 <a name="xmlSAX2StartElement"></a>xmlSAX2StartElement ()</h3>
 <pre class="programlisting">void	xmlSAX2StartElement		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * fullname, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** atts)<br>
 </pre>
-<p>called when an opening tag has been processed.</p>
+<p>DEPRECATED: Don't call this function directly. Called when an opening tag has been processed. Used for HTML and SAX1.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -849,7 +849,7 @@
 </tr>
 <tr>
 <td><span class="term"><i><tt>attributes</tt></i>:</span></td>
-<td>pointer to the array of (localname/prefix/URI/value/end) <a href="libxml2-SAX.html#attribute">attribute</a> values.</td>
+<td>pointer to the array of (localname/prefix/URI/value/end) attribute values.</td>
 </tr>
 </tbody>
 </table></div>
@@ -893,17 +893,17 @@
 <a name="xmlSAXDefaultVersion"></a>xmlSAXDefaultVersion ()</h3>
 <pre class="programlisting">int	xmlSAXDefaultVersion		(int version)<br>
 </pre>
-<p>DEPRECATED: Use parser option <a href="libxml2-parser.html#XML_PARSE_SAX1">XML_PARSE_SAX1</a>. Set the default version of SAX used globally by the library. By default, during initialization the default is set to 2. Note that it is generally a better coding style to use xmlSAXVersion() to set up the version explicitly for a given parsing context.</p>
+<p>DEPRECATED: Use parser option <a href="libxml2-parser.html#XML_PARSE_SAX1">XML_PARSE_SAX1</a>. Has no effect.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
 <tr>
 <td><span class="term"><i><tt>version</tt></i>:</span></td>
-<td>the version, 1 or 2</td>
+<td>the version, must be 2</td>
 </tr>
 <tr>
 <td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td>the previous value in case of success and -1 in case of error.</td>
+<td>2 in case of success and -1 in case of error.</td>
 </tr>
 </tbody>
 </table></div>
diff --git a/doc/devhelp/libxml2-catalog.html b/doc/devhelp/libxml2-catalog.html
index 39d65dc..f00b095 100644
--- a/doc/devhelp/libxml2-catalog.html
+++ b/doc/devhelp/libxml2-catalog.html
@@ -242,7 +242,7 @@
 <a name="xmlACatalogResolvePublic"></a>xmlACatalogResolvePublic ()</h3>
 <pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlACatalogResolvePublic	(<a href="libxml2-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a> catal, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pubID)<br>
 </pre>
-<p>Try to lookup the catalog local <a href="libxml2-SAX.html#reference">reference</a> associated to a public ID in that catalog</p>
+<p>Try to lookup the catalog local reference associated to a public ID in that catalog</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -424,7 +424,7 @@
 <a name="xmlCatalogGetDefaults"></a>xmlCatalogGetDefaults ()</h3>
 <pre class="programlisting"><a href="libxml2-catalog.html#xmlCatalogAllow">xmlCatalogAllow</a>	xmlCatalogGetDefaults	(void)<br>
 </pre>
-<p>Used to get the user preference w.r.t. to what catalogs should be accepted</p>
+<p>DEPRECATED: Use <a href="libxml2-parser.html#XML_PARSE_NO_SYS_CATALOG">XML_PARSE_NO_SYS_CATALOG</a> and <a href="libxml2-parser.html#XML_PARSE_CATALOG_PI">XML_PARSE_CATALOG_PI</a>. Used to get the user preference w.r.t. to what catalogs should be accepted</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody><tr>
@@ -439,7 +439,7 @@
 <a name="xmlCatalogGetPublic"></a>xmlCatalogGetPublic ()</h3>
 <pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlCatalogGetPublic	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pubID)<br>
 </pre>
-<p>Try to lookup the catalog <a href="libxml2-SAX.html#reference">reference</a> associated to a public ID DEPRECATED, use xmlCatalogResolvePublic()</p>
+<p>Try to lookup the catalog reference associated to a public ID DEPRECATED, use xmlCatalogResolvePublic()</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -460,7 +460,7 @@
 <a name="xmlCatalogGetSystem"></a>xmlCatalogGetSystem ()</h3>
 <pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlCatalogGetSystem	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * sysID)<br>
 </pre>
-<p>Try to lookup the catalog <a href="libxml2-SAX.html#reference">reference</a> associated to a system ID DEPRECATED, use xmlCatalogResolveSystem()</p>
+<p>Try to lookup the catalog reference associated to a system ID DEPRECATED, use xmlCatalogResolveSystem()</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -602,7 +602,7 @@
 <a name="xmlCatalogResolvePublic"></a>xmlCatalogResolvePublic ()</h3>
 <pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlCatalogResolvePublic	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pubID)<br>
 </pre>
-<p>Try to lookup the catalog <a href="libxml2-SAX.html#reference">reference</a> associated to a public ID</p>
+<p>Try to lookup the catalog reference associated to a public ID</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -686,7 +686,7 @@
 <a name="xmlCatalogSetDefaultPrefer"></a>xmlCatalogSetDefaultPrefer ()</h3>
 <pre class="programlisting"><a href="libxml2-catalog.html#xmlCatalogPrefer">xmlCatalogPrefer</a>	xmlCatalogSetDefaultPrefer	(<a href="libxml2-catalog.html#xmlCatalogPrefer">xmlCatalogPrefer</a> prefer)<br>
 </pre>
-<p>Allows to set the preference between public and system for deletion in XML Catalog resolution. C.f. section 4.1.1 of the spec Values accepted are <a href="libxml2-catalog.html#XML_CATA_PREFER_PUBLIC">XML_CATA_PREFER_PUBLIC</a> or <a href="libxml2-catalog.html#XML_CATA_PREFER_SYSTEM">XML_CATA_PREFER_SYSTEM</a></p>
+<p>DEPRECATED: This setting is global and not thread-safe. Allows to set the preference between public and system for deletion in XML Catalog resolution. C.f. section 4.1.1 of the spec Values accepted are <a href="libxml2-catalog.html#XML_CATA_PREFER_PUBLIC">XML_CATA_PREFER_PUBLIC</a> or <a href="libxml2-catalog.html#XML_CATA_PREFER_SYSTEM">XML_CATA_PREFER_SYSTEM</a></p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -707,7 +707,7 @@
 <a name="xmlCatalogSetDefaults"></a>xmlCatalogSetDefaults ()</h3>
 <pre class="programlisting">void	xmlCatalogSetDefaults		(<a href="libxml2-catalog.html#xmlCatalogAllow">xmlCatalogAllow</a> allow)<br>
 </pre>
-<p>Used to set the user preference w.r.t. to what catalogs should be accepted</p>
+<p>DEPRECATED: Use <a href="libxml2-parser.html#XML_PARSE_NO_SYS_CATALOG">XML_PARSE_NO_SYS_CATALOG</a> and <a href="libxml2-parser.html#XML_PARSE_CATALOG_PI">XML_PARSE_CATALOG_PI</a>. Used to set the user preference w.r.t. to what catalogs should be accepted</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody><tr>
@@ -758,7 +758,7 @@
 <a name="xmlInitializeCatalog"></a>xmlInitializeCatalog ()</h3>
 <pre class="programlisting">void	xmlInitializeCatalog		(void)<br>
 </pre>
-<p>Do the catalog initialization. this function is not thread safe, catalog initialization should preferably be done once at startup</p>
+<p>Load the default system catalog.</p>
 </div>
 <hr>
 <div class="refsect2" lang="en">
diff --git a/doc/devhelp/libxml2-chvalid.html b/doc/devhelp/libxml2-chvalid.html
index 121c9ff..8eba838 100644
--- a/doc/devhelp/libxml2-chvalid.html
+++ b/doc/devhelp/libxml2-chvalid.html
@@ -292,7 +292,7 @@
 <pre class="programlisting">struct _xmlChRangeGroup {
     int	nbShortRange
     int	nbLongRange
-    const <a href="libxml2-chvalid.html#xmlChSRange">xmlChSRange</a> *	shortRange	: points to an array of ranges
+    const <a href="libxml2-chvalid.html#xmlChSRange">xmlChSRange</a> *	shortRange
     const <a href="libxml2-chvalid.html#xmlChLRange">xmlChLRange</a> *	longRange
 } xmlChRangeGroup;
 </pre>
diff --git a/doc/devhelp/libxml2-debugXML.html b/doc/devhelp/libxml2-debugXML.html
index ec134dc..3433670 100644
--- a/doc/devhelp/libxml2-debugXML.html
+++ b/doc/devhelp/libxml2-debugXML.html
@@ -22,10 +22,7 @@
 <p>Author(s): Daniel Veillard </p>
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
-<pre class="synopsis">typedef struct _xmlShellCtxt <a href="#xmlShellCtxt">xmlShellCtxt</a>;
-typedef <a href="libxml2-debugXML.html#xmlShellCtxt">xmlShellCtxt</a> * <a href="#xmlShellCtxtPtr">xmlShellCtxtPtr</a>;
-const char *	<a href="#xmlBoolToText">xmlBoolToText</a>		(int boolval);
-int	<a href="#xmlDebugCheckDocument">xmlDebugCheckDocument</a>		(FILE * output, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc);
+<pre class="synopsis">int	<a href="#xmlDebugCheckDocument">xmlDebugCheckDocument</a>		(FILE * output, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc);
 void	<a href="#xmlDebugDumpAttr">xmlDebugDumpAttr</a>		(FILE * output, <br>					 <a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr, <br>					 int depth);
 void	<a href="#xmlDebugDumpAttrList">xmlDebugDumpAttrList</a>		(FILE * output, <br>					 <a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr, <br>					 int depth);
 void	<a href="#xmlDebugDumpDTD">xmlDebugDumpDTD</a>			(FILE * output, <br>					 <a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd);
@@ -36,24 +33,6 @@
 void	<a href="#xmlDebugDumpNodeList">xmlDebugDumpNodeList</a>		(FILE * output, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 int depth);
 void	<a href="#xmlDebugDumpOneNode">xmlDebugDumpOneNode</a>		(FILE * output, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 int depth);
 void	<a href="#xmlDebugDumpString">xmlDebugDumpString</a>		(FILE * output, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str);
-int	<a href="#xmlLsCountNode">xmlLsCountNode</a>			(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node);
-void	<a href="#xmlLsOneNode">xmlLsOneNode</a>			(FILE * output, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node);
-void	<a href="#xmlShell">xmlShell</a>			(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 const char * filename, <br>					 <a href="libxml2-debugXML.html#xmlShellReadlineFunc">xmlShellReadlineFunc</a> input, <br>					 FILE * output);
-int	<a href="#xmlShellBase">xmlShellBase</a>			(<a href="libxml2-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt, <br>					 char * arg, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node2);
-int	<a href="#xmlShellCat">xmlShellCat</a>			(<a href="libxml2-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt, <br>					 char * arg, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node2);
-typedef int <a href="#xmlShellCmd">xmlShellCmd</a>			(<a href="libxml2-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt, <br>					 char * arg, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node2);
-int	<a href="#xmlShellDir">xmlShellDir</a>			(<a href="libxml2-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt, <br>					 char * arg, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node2);
-int	<a href="#xmlShellDu">xmlShellDu</a>			(<a href="libxml2-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt, <br>					 char * arg, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> tree, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node2);
-int	<a href="#xmlShellList">xmlShellList</a>			(<a href="libxml2-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt, <br>					 char * arg, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node2);
-int	<a href="#xmlShellLoad">xmlShellLoad</a>			(<a href="libxml2-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt, <br>					 char * filename, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node2);
-void	<a href="#xmlShellPrintNode">xmlShellPrintNode</a>		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node);
-void	<a href="#xmlShellPrintXPathError">xmlShellPrintXPathError</a>		(int errorType, <br>					 const char * arg);
-void	<a href="#xmlShellPrintXPathResult">xmlShellPrintXPathResult</a>	(<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> list);
-int	<a href="#xmlShellPwd">xmlShellPwd</a>			(<a href="libxml2-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt, <br>					 char * buffer, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node2);
-typedef char * <a href="#xmlShellReadlineFunc">xmlShellReadlineFunc</a>		(char * prompt);
-int	<a href="#xmlShellSave">xmlShellSave</a>			(<a href="libxml2-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt, <br>					 char * filename, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node2);
-int	<a href="#xmlShellValidate">xmlShellValidate</a>		(<a href="libxml2-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt, <br>					 char * dtd, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node2);
-int	<a href="#xmlShellWrite">xmlShellWrite</a>			(<a href="libxml2-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt, <br>					 char * filename, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node2);
 </pre>
 </div>
 <div class="refsect1" lang="en"><h2>Description</h2></div>
@@ -62,105 +41,6 @@
 <div class="refsect2" lang="en">
 <div class="refsect2" lang="en">
 <h3>
-<a name="xmlShellCtxt">Structure </a>xmlShellCtxt</h3>
-<pre class="programlisting">struct _xmlShellCtxt {
-    char *	filename
-    <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	doc
-    <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	node
-    <a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a>	pctxt
-    int	loaded
-    FILE *	output
-    <a href="libxml2-debugXML.html#xmlShellReadlineFunc">xmlShellReadlineFunc</a>	input
-} xmlShellCtxt;
-</pre>
-<p></p>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
-<a name="xmlShellCtxtPtr">Typedef </a>xmlShellCtxtPtr</h3>
-<pre class="programlisting"><a href="libxml2-debugXML.html#xmlShellCtxt">xmlShellCtxt</a> * xmlShellCtxtPtr;
-</pre>
-<p></p>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
-<a name="xmlShellCmd"></a>Function type xmlShellCmd</h3>
-<pre class="programlisting">int	xmlShellCmd			(<a href="libxml2-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt, <br>					 char * arg, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node2)<br>
-</pre>
-<p>This is a generic signature for the XML shell functions.</p>
-<div class="variablelist"><table border="0">
-<col align="left">
-<tbody>
-<tr>
-<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
-<td>a shell context</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>arg</tt></i>:</span></td>
-<td>a string argument</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>node</tt></i>:</span></td>
-<td>a first node</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>node2</tt></i>:</span></td>
-<td>a second node</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td>an int, negative returns indicating errors.</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
-<a name="xmlShellReadlineFunc"></a>Function type xmlShellReadlineFunc</h3>
-<pre class="programlisting">char *	xmlShellReadlineFunc		(char * prompt)<br>
-</pre>
-<p>This is a generic signature for the XML shell input function.</p>
-<div class="variablelist"><table border="0">
-<col align="left">
-<tbody>
-<tr>
-<td><span class="term"><i><tt>prompt</tt></i>:</span></td>
-<td>a string prompt</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td>a string which will be freed by the Shell.</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
-<a name="xmlBoolToText"></a>xmlBoolToText ()</h3>
-<pre class="programlisting">const char *	xmlBoolToText		(int boolval)<br>
-</pre>
-<p>Convenient way to turn bool into text</p>
-<div class="variablelist"><table border="0">
-<col align="left">
-<tbody>
-<tr>
-<td><span class="term"><i><tt>boolval</tt></i>:</span></td>
-<td>a bool to turn into text</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td>a pointer to either "True" or "False"</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
 <a name="xmlDebugCheckDocument"></a>xmlDebugCheckDocument ()</h3>
 <pre class="programlisting">int	xmlDebugCheckDocument		(FILE * output, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br>
 </pre>
@@ -189,7 +69,7 @@
 <a name="xmlDebugDumpAttr"></a>xmlDebugDumpAttr ()</h3>
 <pre class="programlisting">void	xmlDebugDumpAttr		(FILE * output, <br>					 <a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr, <br>					 int depth)<br>
 </pre>
-<p>Dumps debug information for the <a href="libxml2-SAX.html#attribute">attribute</a></p>
+<p>Dumps debug information for the attribute</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -199,8 +79,7 @@
 </tr>
 <tr>
 <td><span class="term"><i><tt>attr</tt></i>:</span></td>
-<td>the <a href="libxml2-SAX.html#attribute">attribute</a>
-</td>
+<td>the attribute</td>
 </tr>
 <tr>
 <td><span class="term"><i><tt>depth</tt></i>:</span></td>
@@ -215,7 +94,7 @@
 <a name="xmlDebugDumpAttrList"></a>xmlDebugDumpAttrList ()</h3>
 <pre class="programlisting">void	xmlDebugDumpAttrList		(FILE * output, <br>					 <a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr, <br>					 int depth)<br>
 </pre>
-<p>Dumps debug information for the <a href="libxml2-SAX.html#attribute">attribute</a> list</p>
+<p>Dumps debug information for the attribute list</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -225,7 +104,7 @@
 </tr>
 <tr>
 <td><span class="term"><i><tt>attr</tt></i>:</span></td>
-<td>the <a href="libxml2-SAX.html#attribute">attribute</a> list</td>
+<td>the attribute list</td>
 </tr>
 <tr>
 <td><span class="term"><i><tt>depth</tt></i>:</span></td>
@@ -415,458 +294,6 @@
 </table></div>
 </div>
 <hr>
-<div class="refsect2" lang="en">
-<h3>
-<a name="xmlLsCountNode"></a>xmlLsCountNode ()</h3>
-<pre class="programlisting">int	xmlLsCountNode			(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br>
-</pre>
-<p>Count the children of @node.</p>
-<div class="variablelist"><table border="0">
-<col align="left">
-<tbody>
-<tr>
-<td><span class="term"><i><tt>node</tt></i>:</span></td>
-<td>the node to count</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td>the number of children of @node.</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
-<a name="xmlLsOneNode"></a>xmlLsOneNode ()</h3>
-<pre class="programlisting">void	xmlLsOneNode			(FILE * output, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br>
-</pre>
-<p>Dump to @output the type and name of @node.</p>
-<div class="variablelist"><table border="0">
-<col align="left">
-<tbody>
-<tr>
-<td><span class="term"><i><tt>output</tt></i>:</span></td>
-<td>the FILE * for the output</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>node</tt></i>:</span></td>
-<td>the node to dump</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
-<a name="xmlShell"></a>xmlShell ()</h3>
-<pre class="programlisting">void	xmlShell			(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 const char * filename, <br>					 <a href="libxml2-debugXML.html#xmlShellReadlineFunc">xmlShellReadlineFunc</a> input, <br>					 FILE * output)<br>
-</pre>
-<p>Implements the XML shell This allow to load, validate, view, modify and save a document using a environment similar to a UNIX commandline.</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 initial document</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>filename</tt></i>:</span></td>
-<td>the output buffer</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>input</tt></i>:</span></td>
-<td>the line reading function</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>output</tt></i>:</span></td>
-<td>the output FILE*, defaults to stdout if NULL</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
-<a name="xmlShellBase"></a>xmlShellBase ()</h3>
-<pre class="programlisting">int	xmlShellBase			(<a href="libxml2-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt, <br>					 char * arg, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node2)<br>
-</pre>
-<p>Implements the XML shell function "base" dumps the current XML base of the node</p>
-<div class="variablelist"><table border="0">
-<col align="left">
-<tbody>
-<tr>
-<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
-<td>the shell context</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>arg</tt></i>:</span></td>
-<td>unused</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>node</tt></i>:</span></td>
-<td>a node</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>node2</tt></i>:</span></td>
-<td>unused</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td>0</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
-<a name="xmlShellCat"></a>xmlShellCat ()</h3>
-<pre class="programlisting">int	xmlShellCat			(<a href="libxml2-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt, <br>					 char * arg, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node2)<br>
-</pre>
-<p>Implements the XML shell function "cat" dumps the serialization node content (XML or HTML).</p>
-<div class="variablelist"><table border="0">
-<col align="left">
-<tbody>
-<tr>
-<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
-<td>the shell context</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>arg</tt></i>:</span></td>
-<td>unused</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>node</tt></i>:</span></td>
-<td>a node</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>node2</tt></i>:</span></td>
-<td>unused</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td>0</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
-<a name="xmlShellDir"></a>xmlShellDir ()</h3>
-<pre class="programlisting">int	xmlShellDir			(<a href="libxml2-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt, <br>					 char * arg, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node2)<br>
-</pre>
-<p>Implements the XML shell function "dir" dumps information about the node (namespace, attributes, content).</p>
-<div class="variablelist"><table border="0">
-<col align="left">
-<tbody>
-<tr>
-<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
-<td>the shell context</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>arg</tt></i>:</span></td>
-<td>unused</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>node</tt></i>:</span></td>
-<td>a node</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>node2</tt></i>:</span></td>
-<td>unused</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td>0</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
-<a name="xmlShellDu"></a>xmlShellDu ()</h3>
-<pre class="programlisting">int	xmlShellDu			(<a href="libxml2-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt, <br>					 char * arg, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> tree, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node2)<br>
-</pre>
-<p>Implements the XML shell function "du" show the structure of the subtree under node @tree If @tree is null, the command works on the current node.</p>
-<div class="variablelist"><table border="0">
-<col align="left">
-<tbody>
-<tr>
-<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
-<td>the shell context</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>arg</tt></i>:</span></td>
-<td>unused</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>tree</tt></i>:</span></td>
-<td>a node defining a subtree</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>node2</tt></i>:</span></td>
-<td>unused</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td>0 or -1 in case of error</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
-<a name="xmlShellList"></a>xmlShellList ()</h3>
-<pre class="programlisting">int	xmlShellList			(<a href="libxml2-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt, <br>					 char * arg, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node2)<br>
-</pre>
-<p>Implements the XML shell function "ls" Does an Unix like listing of the given node (like a directory)</p>
-<div class="variablelist"><table border="0">
-<col align="left">
-<tbody>
-<tr>
-<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
-<td>the shell context</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>arg</tt></i>:</span></td>
-<td>unused</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>node</tt></i>:</span></td>
-<td>a node</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>node2</tt></i>:</span></td>
-<td>unused</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td>0</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
-<a name="xmlShellLoad"></a>xmlShellLoad ()</h3>
-<pre class="programlisting">int	xmlShellLoad			(<a href="libxml2-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt, <br>					 char * filename, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node2)<br>
-</pre>
-<p>Implements the XML shell function "load" loads a new document specified by the filename</p>
-<div class="variablelist"><table border="0">
-<col align="left">
-<tbody>
-<tr>
-<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
-<td>the shell context</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>filename</tt></i>:</span></td>
-<td>the file name</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>node</tt></i>:</span></td>
-<td>unused</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>node2</tt></i>:</span></td>
-<td>unused</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td>0 or -1 if loading failed</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
-<a name="xmlShellPrintNode"></a>xmlShellPrintNode ()</h3>
-<pre class="programlisting">void	xmlShellPrintNode		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br>
-</pre>
-<p>Print node to the output FILE</p>
-<div class="variablelist"><table border="0">
-<col align="left">
-<tbody><tr>
-<td><span class="term"><i><tt>node</tt></i>:</span></td>
-<td>a non-null node to print to the output FILE</td>
-</tr></tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
-<a name="xmlShellPrintXPathError"></a>xmlShellPrintXPathError ()</h3>
-<pre class="programlisting">void	xmlShellPrintXPathError		(int errorType, <br>					 const char * arg)<br>
-</pre>
-<p>Print the xpath error to libxml default error channel</p>
-<div class="variablelist"><table border="0">
-<col align="left">
-<tbody>
-<tr>
-<td><span class="term"><i><tt>errorType</tt></i>:</span></td>
-<td>valid xpath error id</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>arg</tt></i>:</span></td>
-<td>the argument that cause xpath to fail</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
-<a name="xmlShellPrintXPathResult"></a>xmlShellPrintXPathResult ()</h3>
-<pre class="programlisting">void	xmlShellPrintXPathResult	(<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> list)<br>
-</pre>
-<p>Prints result to the output FILE</p>
-<div class="variablelist"><table border="0">
-<col align="left">
-<tbody><tr>
-<td><span class="term"><i><tt>list</tt></i>:</span></td>
-<td>a valid result generated by an xpath evaluation</td>
-</tr></tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
-<a name="xmlShellPwd"></a>xmlShellPwd ()</h3>
-<pre class="programlisting">int	xmlShellPwd			(<a href="libxml2-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt, <br>					 char * buffer, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node2)<br>
-</pre>
-<p>Implements the XML shell function "pwd" Show the full path from the root to the node, if needed building thumblers when similar elements exists at a given ancestor level. The output is compatible with XPath commands.</p>
-<div class="variablelist"><table border="0">
-<col align="left">
-<tbody>
-<tr>
-<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
-<td>the shell context</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>buffer</tt></i>:</span></td>
-<td>the output buffer</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>node</tt></i>:</span></td>
-<td>a node</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>node2</tt></i>:</span></td>
-<td>unused</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td>0 or -1 in case of error</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
-<a name="xmlShellSave"></a>xmlShellSave ()</h3>
-<pre class="programlisting">int	xmlShellSave			(<a href="libxml2-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt, <br>					 char * filename, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node2)<br>
-</pre>
-<p>Implements the XML shell function "save" Write the current document to the filename, or it's original 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>the shell context</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>filename</tt></i>:</span></td>
-<td>the file name (optional)</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>node</tt></i>:</span></td>
-<td>unused</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>node2</tt></i>:</span></td>
-<td>unused</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td>0 or -1 in case of error</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
-<a name="xmlShellValidate"></a>xmlShellValidate ()</h3>
-<pre class="programlisting">int	xmlShellValidate		(<a href="libxml2-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt, <br>					 char * dtd, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node2)<br>
-</pre>
-<p>Implements the XML shell function "validate" Validate the document, if a DTD path is provided, then the validation is done against the given DTD.</p>
-<div class="variablelist"><table border="0">
-<col align="left">
-<tbody>
-<tr>
-<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
-<td>the shell context</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>dtd</tt></i>:</span></td>
-<td>the DTD URI (optional)</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>node</tt></i>:</span></td>
-<td>unused</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>node2</tt></i>:</span></td>
-<td>unused</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td>0 or -1 in case of error</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
-<a name="xmlShellWrite"></a>xmlShellWrite ()</h3>
-<pre class="programlisting">int	xmlShellWrite			(<a href="libxml2-debugXML.html#xmlShellCtxtPtr">xmlShellCtxtPtr</a> ctxt, <br>					 char * filename, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node2)<br>
-</pre>
-<p>Implements the XML shell function "write" Write the current node to the filename, it saves the serialization of the subtree under the @node specified</p>
-<div class="variablelist"><table border="0">
-<col align="left">
-<tbody>
-<tr>
-<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
-<td>the shell context</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>filename</tt></i>:</span></td>
-<td>the file name</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>node</tt></i>:</span></td>
-<td>a node in the tree</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>node2</tt></i>:</span></td>
-<td>unused</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td>0 or -1 in case of error</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
 </div>
 </div>
 </body>
diff --git a/doc/devhelp/libxml2-dict.html b/doc/devhelp/libxml2-dict.html
index d2a56c1..282d86f 100644
--- a/doc/devhelp/libxml2-dict.html
+++ b/doc/devhelp/libxml2-dict.html
@@ -258,7 +258,7 @@
 <a name="xmlDictReference"></a>xmlDictReference ()</h3>
 <pre class="programlisting">int	xmlDictReference		(<a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> dict)<br>
 </pre>
-<p>Increment the <a href="libxml2-SAX.html#reference">reference</a> counter of a dictionary</p>
+<p>Increment the reference counter of a dictionary</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
diff --git a/doc/devhelp/libxml2-encoding.html b/doc/devhelp/libxml2-encoding.html
index f656c16..3b9708d 100644
--- a/doc/devhelp/libxml2-encoding.html
+++ b/doc/devhelp/libxml2-encoding.html
@@ -22,21 +22,27 @@
 <p>Author(s): Daniel Veillard </p>
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
-<pre class="synopsis">typedef enum <a href="#xmlCharEncError">xmlCharEncError</a>;
+<pre class="synopsis">#define <a href="#UTF8Toisolat1">UTF8Toisolat1</a>;
+#define <a href="#isolat1ToUTF8">isolat1ToUTF8</a>;
+typedef enum <a href="#xmlCharEncError">xmlCharEncError</a>;
+typedef enum <a href="#xmlCharEncFlags">xmlCharEncFlags</a>;
 typedef enum <a href="#xmlCharEncoding">xmlCharEncoding</a>;
 typedef struct _xmlCharEncodingHandler <a href="#xmlCharEncodingHandler">xmlCharEncodingHandler</a>;
 typedef <a href="libxml2-encoding.html#xmlCharEncodingHandler">xmlCharEncodingHandler</a> * <a href="#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a>;
-int	<a href="#UTF8Toisolat1">UTF8Toisolat1</a>			(unsigned char * out, <br>					 int * outlen, <br>					 const unsigned char * in, <br>					 int * inlen);
-int	<a href="#isolat1ToUTF8">isolat1ToUTF8</a>			(unsigned char * out, <br>					 int * outlen, <br>					 const unsigned char * in, <br>					 int * inlen);
 int	<a href="#xmlAddEncodingAlias">xmlAddEncodingAlias</a>		(const char * name, <br>					 const char * alias);
 int	<a href="#xmlCharEncCloseFunc">xmlCharEncCloseFunc</a>		(<a href="libxml2-encoding.html#xmlCharEncodingHandler">xmlCharEncodingHandler</a> * handler);
+typedef void <a href="#xmlCharEncConvCtxtDtor">xmlCharEncConvCtxtDtor</a>		(void * vctxt);
+typedef <a href="libxml2-encoding.html#xmlCharEncError">xmlCharEncError</a> <a href="#xmlCharEncConvFunc">xmlCharEncConvFunc</a>	(void * vctxt, <br>					 unsigned char * out, <br>					 int * outlen, <br>					 const unsigned char * in, <br>					 int * inlen, <br>					 int flush);
+typedef <a href="libxml2-xmlerror.html#xmlParserErrors">xmlParserErrors</a> <a href="#xmlCharEncConvImpl">xmlCharEncConvImpl</a>	(void * vctxt, <br>					 const char * name, <br>					 <a href="libxml2-encoding.html#xmlCharEncFlags">xmlCharEncFlags</a> flags, <br>					 <a href="libxml2-encoding.html#xmlCharEncodingHandler">xmlCharEncodingHandler</a> ** out);
 int	<a href="#xmlCharEncFirstLine">xmlCharEncFirstLine</a>		(<a href="libxml2-encoding.html#xmlCharEncodingHandler">xmlCharEncodingHandler</a> * handler, <br>					 <a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> out, <br>					 <a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> in);
 int	<a href="#xmlCharEncInFunc">xmlCharEncInFunc</a>		(<a href="libxml2-encoding.html#xmlCharEncodingHandler">xmlCharEncodingHandler</a> * handler, <br>					 <a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> out, <br>					 <a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> in);
+<a href="libxml2-xmlerror.html#xmlParserErrors">xmlParserErrors</a>	<a href="#xmlCharEncNewCustomHandler">xmlCharEncNewCustomHandler</a>	(const char * name, <br>						 <a href="libxml2-encoding.html#xmlCharEncConvFunc">xmlCharEncConvFunc</a> input, <br>						 <a href="libxml2-encoding.html#xmlCharEncConvFunc">xmlCharEncConvFunc</a> output, <br>						 <a href="libxml2-encoding.html#xmlCharEncConvCtxtDtor">xmlCharEncConvCtxtDtor</a> ctxtDtor, <br>						 void * inputCtxt, <br>						 void * outputCtxt, <br>						 <a href="libxml2-encoding.html#xmlCharEncodingHandler">xmlCharEncodingHandler</a> ** out);
 int	<a href="#xmlCharEncOutFunc">xmlCharEncOutFunc</a>		(<a href="libxml2-encoding.html#xmlCharEncodingHandler">xmlCharEncodingHandler</a> * handler, <br>					 <a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> out, <br>					 <a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> in);
 typedef int <a href="#xmlCharEncodingInputFunc">xmlCharEncodingInputFunc</a>	(unsigned char * out, <br>					 int * outlen, <br>					 const unsigned char * in, <br>					 int * inlen);
 typedef int <a href="#xmlCharEncodingOutputFunc">xmlCharEncodingOutputFunc</a>	(unsigned char * out, <br>					 int * outlen, <br>					 const unsigned char * in, <br>					 int * inlen);
 void	<a href="#xmlCleanupCharEncodingHandlers">xmlCleanupCharEncodingHandlers</a>	(void);
 void	<a href="#xmlCleanupEncodingAliases">xmlCleanupEncodingAliases</a>	(void);
+<a href="libxml2-xmlerror.html#xmlParserErrors">xmlParserErrors</a>	<a href="#xmlCreateCharEncodingHandler">xmlCreateCharEncodingHandler</a>	(const char * name, <br>						 <a href="libxml2-encoding.html#xmlCharEncFlags">xmlCharEncFlags</a> flags, <br>						 <a href="libxml2-encoding.html#xmlCharEncConvImpl">xmlCharEncConvImpl</a> impl, <br>						 void * implCtxt, <br>						 <a href="libxml2-encoding.html#xmlCharEncodingHandler">xmlCharEncodingHandler</a> ** out);
 int	<a href="#xmlDelEncodingAlias">xmlDelEncodingAlias</a>		(const char * alias);
 <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a>	<a href="#xmlDetectCharEncoding">xmlDetectCharEncoding</a>	(const unsigned char * in, <br>					 int len);
 <a href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a>	<a href="#xmlFindCharEncodingHandler">xmlFindCharEncodingHandler</a>	(const char * name);
@@ -44,11 +50,13 @@
 const char *	<a href="#xmlGetCharEncodingName">xmlGetCharEncodingName</a>	(<a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc);
 const char *	<a href="#xmlGetEncodingAlias">xmlGetEncodingAlias</a>	(const char * alias);
 void	<a href="#xmlInitCharEncodingHandlers">xmlInitCharEncodingHandlers</a>	(void);
-int	<a href="#xmlLookupCharEncodingHandler">xmlLookupCharEncodingHandler</a>	(<a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc, <br>					 <a href="libxml2-encoding.html#xmlCharEncodingHandler">xmlCharEncodingHandler</a> ** out);
+int	<a href="#xmlIsolat1ToUTF8">xmlIsolat1ToUTF8</a>		(unsigned char * out, <br>					 int * outlen, <br>					 const unsigned char * in, <br>					 int * inlen);
+<a href="libxml2-xmlerror.html#xmlParserErrors">xmlParserErrors</a>	<a href="#xmlLookupCharEncodingHandler">xmlLookupCharEncodingHandler</a>	(<a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc, <br>						 <a href="libxml2-encoding.html#xmlCharEncodingHandler">xmlCharEncodingHandler</a> ** out);
 <a href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a>	<a href="#xmlNewCharEncodingHandler">xmlNewCharEncodingHandler</a>	(const char * name, <br>							 <a href="libxml2-encoding.html#xmlCharEncodingInputFunc">xmlCharEncodingInputFunc</a> input, <br>							 <a href="libxml2-encoding.html#xmlCharEncodingOutputFunc">xmlCharEncodingOutputFunc</a> output);
-int	<a href="#xmlOpenCharEncodingHandler">xmlOpenCharEncodingHandler</a>	(const char * name, <br>					 int output, <br>					 <a href="libxml2-encoding.html#xmlCharEncodingHandler">xmlCharEncodingHandler</a> ** out);
+<a href="libxml2-xmlerror.html#xmlParserErrors">xmlParserErrors</a>	<a href="#xmlOpenCharEncodingHandler">xmlOpenCharEncodingHandler</a>	(const char * name, <br>						 int output, <br>						 <a href="libxml2-encoding.html#xmlCharEncodingHandler">xmlCharEncodingHandler</a> ** out);
 <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a>	<a href="#xmlParseCharEncoding">xmlParseCharEncoding</a>	(const char * name);
 void	<a href="#xmlRegisterCharEncodingHandler">xmlRegisterCharEncodingHandler</a>	(<a href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> handler);
+int	<a href="#xmlUTF8ToIsolat1">xmlUTF8ToIsolat1</a>		(unsigned char * out, <br>					 int * outlen, <br>					 const unsigned char * in, <br>					 int * inlen);
 </pre>
 </div>
 <div class="refsect1" lang="en"><h2>Description</h2></div>
@@ -57,13 +65,28 @@
 <div class="refsect2" lang="en">
 <div class="refsect2" lang="en">
 <h3>
+<a name="UTF8Toisolat1">Macro </a>UTF8Toisolat1</h3>
+<pre class="programlisting">#define <a href="#UTF8Toisolat1">UTF8Toisolat1</a>;
+</pre>
+<p></p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="isolat1ToUTF8">Macro </a>isolat1ToUTF8</h3>
+<pre class="programlisting">#define <a href="#isolat1ToUTF8">isolat1ToUTF8</a>;
+</pre>
+<p></p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
 <a name="xmlCharEncError">Enum </a>xmlCharEncError</h3>
 <pre class="programlisting">enum <a href="#xmlCharEncError">xmlCharEncError</a> {
-    <a name="XML_ENC_ERR_MEMORY">XML_ENC_ERR_MEMORY</a> = -5
-    <a name="XML_ENC_ERR_INTERNAL">XML_ENC_ERR_INTERNAL</a> = -4
-    <a name="XML_ENC_ERR_PARTIAL">XML_ENC_ERR_PARTIAL</a> = -3
+    <a name="XML_ENC_ERR_MEMORY">XML_ENC_ERR_MEMORY</a> = -4
+    <a name="XML_ENC_ERR_SPACE">XML_ENC_ERR_SPACE</a> = -3
     <a name="XML_ENC_ERR_INPUT">XML_ENC_ERR_INPUT</a> = -2
-    <a name="XML_ENC_ERR_SPACE">XML_ENC_ERR_SPACE</a> = -1
+    <a name="XML_ENC_ERR_INTERNAL">XML_ENC_ERR_INTERNAL</a> = -1
     <a name="XML_ENC_ERR_SUCCESS">XML_ENC_ERR_SUCCESS</a> = 0
 };
 </pre>
@@ -72,6 +95,17 @@
 <hr>
 <div class="refsect2" lang="en">
 <h3>
+<a name="xmlCharEncFlags">Enum </a>xmlCharEncFlags</h3>
+<pre class="programlisting">enum <a href="#xmlCharEncFlags">xmlCharEncFlags</a> {
+    <a name="XML_ENC_INPUT">XML_ENC_INPUT</a> = 1
+    <a name="XML_ENC_OUTPUT">XML_ENC_OUTPUT</a> = 2
+};
+</pre>
+<p></p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
 <a name="xmlCharEncoding">Enum </a>xmlCharEncoding</h3>
 <pre class="programlisting">enum <a href="#xmlCharEncoding">xmlCharEncoding</a> {
     <a name="XML_CHAR_ENCODING_ERROR">XML_CHAR_ENCODING_ERROR</a> = -1 /* No char encoding detected */
@@ -97,7 +131,15 @@
     <a name="XML_CHAR_ENCODING_2022_JP">XML_CHAR_ENCODING_2022_JP</a> = 19 /* ISO-2022-JP */
     <a name="XML_CHAR_ENCODING_SHIFT_JIS">XML_CHAR_ENCODING_SHIFT_JIS</a> = 20 /* Shift_JIS */
     <a name="XML_CHAR_ENCODING_EUC_JP">XML_CHAR_ENCODING_EUC_JP</a> = 21 /* EUC-JP */
-    <a name="XML_CHAR_ENCODING_ASCII">XML_CHAR_ENCODING_ASCII</a> = 22 /*  pure ASCII */
+    <a name="XML_CHAR_ENCODING_ASCII">XML_CHAR_ENCODING_ASCII</a> = 22 /* pure ASCII Available since 2.14.0 */
+    <a name="XML_CHAR_ENCODING_UTF16">XML_CHAR_ENCODING_UTF16</a> = 23 /* UTF-16 native */
+    <a name="XML_CHAR_ENCODING_HTML">XML_CHAR_ENCODING_HTML</a> = 24 /* HTML (output only) */
+    <a name="XML_CHAR_ENCODING_8859_10">XML_CHAR_ENCODING_8859_10</a> = 25 /* ISO-8859-10 */
+    <a name="XML_CHAR_ENCODING_8859_11">XML_CHAR_ENCODING_8859_11</a> = 26 /* ISO-8859-11 */
+    <a name="XML_CHAR_ENCODING_8859_13">XML_CHAR_ENCODING_8859_13</a> = 27 /* ISO-8859-13 */
+    <a name="XML_CHAR_ENCODING_8859_14">XML_CHAR_ENCODING_8859_14</a> = 28 /* ISO-8859-14 */
+    <a name="XML_CHAR_ENCODING_8859_15">XML_CHAR_ENCODING_8859_15</a> = 29 /* ISO-8859-15 */
+    <a name="XML_CHAR_ENCODING_8859_16">XML_CHAR_ENCODING_8859_16</a> = 30 /*  ISO-8859-16 */
 };
 </pre>
 <p></p>
@@ -108,12 +150,10 @@
 <a name="xmlCharEncodingHandler">Structure </a>xmlCharEncodingHandler</h3>
 <pre class="programlisting">struct _xmlCharEncodingHandler {
     char *	name
-    <a href="libxml2-encoding.html#xmlCharEncodingInputFunc">xmlCharEncodingInputFunc</a>	input
-    <a href="libxml2-encoding.html#xmlCharEncodingOutputFunc">xmlCharEncodingOutputFunc</a>	output
-    iconv_t	iconv_in
-    iconv_t	iconv_out
-    struct _uconv_t *	uconv_in
-    struct _uconv_t *	uconv_out
+    void *	inputCtxt
+    void *	outputCtxt
+    <a href="libxml2-encoding.html#xmlCharEncConvCtxtDtor">xmlCharEncConvCtxtDtor</a>	ctxtDtor
+    int	flags
 } xmlCharEncodingHandler;
 </pre>
 <p></p>
@@ -129,10 +169,99 @@
 <hr>
 <div class="refsect2" lang="en">
 <h3>
+<a name="xmlCharEncConvCtxtDtor"></a>Function type xmlCharEncConvCtxtDtor</h3>
+<pre class="programlisting">void	xmlCharEncConvCtxtDtor		(void * vctxt)<br>
+</pre>
+<p>Free a conversion context.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>vctxt</tt></i>:</span></td>
+<td>conversion context</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCharEncConvFunc"></a>Function type xmlCharEncConvFunc</h3>
+<pre class="programlisting"><a href="libxml2-encoding.html#xmlCharEncError">xmlCharEncError</a>	xmlCharEncConvFunc	(void * vctxt, <br>					 unsigned char * out, <br>					 int * outlen, <br>					 const unsigned char * in, <br>					 int * inlen, <br>					 int flush)<br>
+</pre>
+<p>Convert between character encodings. The value of @inlen after return is the number of bytes consumed and @outlen is the number of bytes produced. If the converter can consume partial multi-byte sequences, the @flush flag can be used to detect truncated sequences at EOF. Otherwise, the flag can be ignored.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>vctxt</tt></i>:</span></td>
+<td>conversion context</td>
+</tr>
+<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 input bytes</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>flush</tt></i>:</span></td>
+<td>end of input</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>an XML_ENC_ERR code.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCharEncConvImpl"></a>Function type xmlCharEncConvImpl</h3>
+<pre class="programlisting"><a href="libxml2-xmlerror.html#xmlParserErrors">xmlParserErrors</a>	xmlCharEncConvImpl	(void * vctxt, <br>					 const char * name, <br>					 <a href="libxml2-encoding.html#xmlCharEncFlags">xmlCharEncFlags</a> flags, <br>					 <a href="libxml2-encoding.html#xmlCharEncodingHandler">xmlCharEncodingHandler</a> ** out)<br>
+</pre>
+<p>If this function returns XML_ERR_OK, it must fill the @out pointer with an encoding handler. The handler can be obtained from <a href="libxml2-encoding.html#xmlCharEncNewCustomHandler">xmlCharEncNewCustomHandler</a>. @flags can contain XML_ENC_INPUT, <a href="libxml2-encoding.html#XML_ENC_OUTPUT">XML_ENC_OUTPUT</a> or both.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>vctxt</tt></i>:</span></td>
+<td>user data</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>encoding name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>flags</tt></i>:</span></td>
+<td>bit mask of flags</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>out</tt></i>:</span></td>
+<td>pointer to resulting handler</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>an <a href="libxml2-xmlerror.html#xmlParserErrors">xmlParserErrors</a> code.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
 <a name="xmlCharEncodingInputFunc"></a>Function type xmlCharEncodingInputFunc</h3>
 <pre class="programlisting">int	xmlCharEncodingInputFunc	(unsigned char * out, <br>					 int * outlen, <br>					 const unsigned char * in, <br>					 int * inlen)<br>
 </pre>
-<p>Take a block of chars in the original encoding and try to convert it to an UTF-8 block of chars out.</p>
+<p>Convert characters to UTF-8. On success, the value of @inlen after return is the number of bytes consumed and @outlen is the number of bytes produced.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -154,7 +283,7 @@
 </tr>
 <tr>
 <td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td>the number of bytes written, -1 if lack of space, or -2 if the transcoding failed. The value of @inlen after return is the number of octets consumed if the return value is positive, else unpredictiable. The value of @outlen after return is the number of octets consumed.</td>
+<td>the number of bytes written or an XML_ENC_ERR code.</td>
 </tr>
 </tbody>
 </table></div>
@@ -165,7 +294,7 @@
 <a name="xmlCharEncodingOutputFunc"></a>Function type xmlCharEncodingOutputFunc</h3>
 <pre class="programlisting">int	xmlCharEncodingOutputFunc	(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 another encoding. Note: a first call designed to produce heading info is called with in = NULL. If stateful this should also initialize the encoder state.</p>
+<p>Convert characters from UTF-8. On success, the value of @inlen after return is the number of bytes consumed and @outlen is the number of bytes produced.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -187,73 +316,7 @@
 </tr>
 <tr>
 <td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td>the number of bytes written, -1 if lack of space, or -2 if the transcoding failed. The value of @inlen after return is the number of octets consumed if the return value is positive, else unpredictiable. The value of @outlen after return is the number of octets produced.</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
-<a name="UTF8Toisolat1"></a>UTF8Toisolat1 ()</h3>
-<pre class="programlisting">int	UTF8Toisolat1			(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 ISO Latin 1 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>the number of bytes written or an XML_ENC_ERR code. The value of @inlen after return is the number of octets consumed if the return value is positive, else unpredictable. The value of @outlen after return is the number of octets produced.</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
-<a name="isolat1ToUTF8"></a>isolat1ToUTF8 ()</h3>
-<pre class="programlisting">int	isolat1ToUTF8			(unsigned char * out, <br>					 int * outlen, <br>					 const unsigned char * in, <br>					 int * inlen)<br>
-</pre>
-<p>Take a block of ISO Latin 1 chars in and try to convert it to an UTF-8 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 ISO Latin 1 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>the number of bytes written or an XML_ENC_ERR code. The value of @inlen after return is the number of octets consumed if the return value is positive, else unpredictable. The value of @outlen after return is the number of octets produced.</td>
+<td>the number of bytes written or an XML_ENC_ERR code.</td>
 </tr>
 </tbody>
 </table></div>
@@ -264,7 +327,7 @@
 <a name="xmlAddEncodingAlias"></a>xmlAddEncodingAlias ()</h3>
 <pre class="programlisting">int	xmlAddEncodingAlias		(const char * name, <br>					 const char * alias)<br>
 </pre>
-<p>Registers an alias @alias for an encoding named @name. Existing alias will be overwritten.</p>
+<p>DEPRECATED: This function modifies global state and is not thread-safe. Registers an alias @alias for an encoding named @name. Existing alias will be overwritten.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -289,7 +352,7 @@
 <a name="xmlCharEncCloseFunc"></a>xmlCharEncCloseFunc ()</h3>
 <pre class="programlisting">int	xmlCharEncCloseFunc		(<a href="libxml2-encoding.html#xmlCharEncodingHandler">xmlCharEncodingHandler</a> * handler)<br>
 </pre>
-<p>Generic front-end for encoding handler close function</p>
+<p>Releases an <a href="libxml2-encoding.html#xmlCharEncodingHandler">xmlCharEncodingHandler</a>. Must be called after a handler is no longer in use.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -299,7 +362,7 @@
 </tr>
 <tr>
 <td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td>0 if success, or -1 in case of error</td>
+<td>0.</td>
 </tr>
 </tbody>
 </table></div>
@@ -365,6 +428,51 @@
 <hr>
 <div class="refsect2" lang="en">
 <h3>
+<a name="xmlCharEncNewCustomHandler"></a>xmlCharEncNewCustomHandler ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlerror.html#xmlParserErrors">xmlParserErrors</a>	xmlCharEncNewCustomHandler	(const char * name, <br>						 <a href="libxml2-encoding.html#xmlCharEncConvFunc">xmlCharEncConvFunc</a> input, <br>						 <a href="libxml2-encoding.html#xmlCharEncConvFunc">xmlCharEncConvFunc</a> output, <br>						 <a href="libxml2-encoding.html#xmlCharEncConvCtxtDtor">xmlCharEncConvCtxtDtor</a> ctxtDtor, <br>						 void * inputCtxt, <br>						 void * outputCtxt, <br>						 <a href="libxml2-encoding.html#xmlCharEncodingHandler">xmlCharEncodingHandler</a> ** out)<br>
+</pre>
+<p>Create a custom <a href="libxml2-encoding.html#xmlCharEncodingHandler">xmlCharEncodingHandler</a>.</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 encoding name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>input</tt></i>:</span></td>
+<td>input callback which converts to UTF-8</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>output</tt></i>:</span></td>
+<td>output callback which converts from UTF-8</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ctxtDtor</tt></i>:</span></td>
+<td>context destructor</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>inputCtxt</tt></i>:</span></td>
+<td>context for input callback</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>outputCtxt</tt></i>:</span></td>
+<td>context for output callback</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>out</tt></i>:</span></td>
+<td>pointer to resulting handler</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>an <a href="libxml2-xmlerror.html#xmlParserErrors">xmlParserErrors</a> code.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
 <a name="xmlCharEncOutFunc"></a>xmlCharEncOutFunc ()</h3>
 <pre class="programlisting">int	xmlCharEncOutFunc		(<a href="libxml2-encoding.html#xmlCharEncodingHandler">xmlCharEncodingHandler</a> * handler, <br>					 <a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> out, <br>					 <a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> in)<br>
 </pre>
@@ -405,7 +513,44 @@
 <a name="xmlCleanupEncodingAliases"></a>xmlCleanupEncodingAliases ()</h3>
 <pre class="programlisting">void	xmlCleanupEncodingAliases	(void)<br>
 </pre>
-<p>Unregisters all aliases</p>
+<p>DEPRECATED: This function modifies global state and is not thread-safe. Unregisters all aliases</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCreateCharEncodingHandler"></a>xmlCreateCharEncodingHandler ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlerror.html#xmlParserErrors">xmlParserErrors</a>	xmlCreateCharEncodingHandler	(const char * name, <br>						 <a href="libxml2-encoding.html#xmlCharEncFlags">xmlCharEncFlags</a> flags, <br>						 <a href="libxml2-encoding.html#xmlCharEncConvImpl">xmlCharEncConvImpl</a> impl, <br>						 void * implCtxt, <br>						 <a href="libxml2-encoding.html#xmlCharEncodingHandler">xmlCharEncodingHandler</a> ** out)<br>
+</pre>
+<p>Find or create a handler matching the encoding. The following converters are looked up in order: - Built-in handler (UTF-8, UTF-16, ISO-8859-1, ASCII) - Custom implementation if provided - User-registered global handler (deprecated) - iconv if enabled - ICU if enabled The handler must be closed with <a href="libxml2-encoding.html#xmlCharEncCloseFunc">xmlCharEncCloseFunc</a>. If the encoding is UTF-8, a NULL handler and no error code will be returned. @flags can contain XML_ENC_INPUT, <a href="libxml2-encoding.html#XML_ENC_OUTPUT">XML_ENC_OUTPUT</a> or both. Available since 2.14.0.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>a string describing the char encoding.</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>flags</tt></i>:</span></td>
+<td>bit mask of flags</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>impl</tt></i>:</span></td>
+<td>a conversion implementation (optional)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>implCtxt</tt></i>:</span></td>
+<td>user data for conversion implementation (optional)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>out</tt></i>:</span></td>
+<td>pointer to result</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>XML_ERR_OK, <a href="libxml2-xmlerror.html#XML_ERR_UNSUPPORTED_ENCODING">XML_ERR_UNSUPPORTED_ENCODING</a> or another <a href="libxml2-xmlerror.html#xmlParserErrors">xmlParserErrors</a> error code.</td>
+</tr>
+</tbody>
+</table></div>
 </div>
 <hr>
 <div class="refsect2" lang="en">
@@ -413,7 +558,7 @@
 <a name="xmlDelEncodingAlias"></a>xmlDelEncodingAlias ()</h3>
 <pre class="programlisting">int	xmlDelEncodingAlias		(const char * alias)<br>
 </pre>
-<p>Unregisters an encoding alias @alias</p>
+<p>DEPRECATED: This function modifies global state and is not thread-safe. Unregisters an encoding alias @alias</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -459,7 +604,7 @@
 <a name="xmlFindCharEncodingHandler"></a>xmlFindCharEncodingHandler ()</h3>
 <pre class="programlisting"><a href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a>	xmlFindCharEncodingHandler	(const char * name)<br>
 </pre>
-<p>DEPRECATED: Use <a href="libxml2-encoding.html#xmlOpenCharEncodingHandler">xmlOpenCharEncodingHandler</a> which has better error reporting.</p>
+<p>DEPRECATED: Use <a href="libxml2-encoding.html#xmlOpenCharEncodingHandler">xmlOpenCharEncodingHandler</a> which has better error reporting. If the encoding is UTF-8, this will return a no-op handler that shouldn't be used.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -522,7 +667,7 @@
 <a name="xmlGetEncodingAlias"></a>xmlGetEncodingAlias ()</h3>
 <pre class="programlisting">const char *	xmlGetEncodingAlias	(const char * alias)<br>
 </pre>
-<p>Lookup an encoding name for the given alias.</p>
+<p>DEPRECATED: This function is not thread-safe. Lookup an encoding name for the given alias.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -548,10 +693,43 @@
 <hr>
 <div class="refsect2" lang="en">
 <h3>
-<a name="xmlLookupCharEncodingHandler"></a>xmlLookupCharEncodingHandler ()</h3>
-<pre class="programlisting">int	xmlLookupCharEncodingHandler	(<a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc, <br>					 <a href="libxml2-encoding.html#xmlCharEncodingHandler">xmlCharEncodingHandler</a> ** out)<br>
+<a name="xmlIsolat1ToUTF8"></a>xmlIsolat1ToUTF8 ()</h3>
+<pre class="programlisting">int	xmlIsolat1ToUTF8		(unsigned char * out, <br>					 int * outlen, <br>					 const unsigned char * in, <br>					 int * inlen)<br>
 </pre>
-<p>Find or create a handler matching the encoding. If no default or registered handler could be found, try to create a handler using iconv or ICU if supported. The handler must be closed with <a href="libxml2-encoding.html#xmlCharEncCloseFunc">xmlCharEncCloseFunc</a>. Available since 2.13.0.</p>
+<p>Take a block of ISO Latin 1 chars in and try to convert it to an UTF-8 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 ISO Latin 1 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>the number of bytes written or an XML_ENC_ERR code. The value of @inlen after return is the number of octets consumed if the return value is positive, else unpredictable. The value of @outlen after return is the number of octets produced.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlLookupCharEncodingHandler"></a>xmlLookupCharEncodingHandler ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlerror.html#xmlParserErrors">xmlParserErrors</a>	xmlLookupCharEncodingHandler	(<a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc, <br>						 <a href="libxml2-encoding.html#xmlCharEncodingHandler">xmlCharEncodingHandler</a> ** out)<br>
+</pre>
+<p>Find or create a handler matching the encoding. The following converters are looked up in order: - Built-in handler (UTF-8, UTF-16, ISO-8859-1, ASCII) - User-registered global handler (deprecated) - iconv if enabled - ICU if enabled The handler must be closed with <a href="libxml2-encoding.html#xmlCharEncCloseFunc">xmlCharEncCloseFunc</a>. If the encoding is UTF-8, a NULL handler and no error code will be returned. Available since 2.13.0.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -565,7 +743,7 @@
 </tr>
 <tr>
 <td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td>an <a href="libxml2-xmlerror.html#xmlParserErrors">xmlParserErrors</a> error code.</td>
+<td>XML_ERR_OK, <a href="libxml2-xmlerror.html#XML_ERR_UNSUPPORTED_ENCODING">XML_ERR_UNSUPPORTED_ENCODING</a> or another <a href="libxml2-xmlerror.html#xmlParserErrors">xmlParserErrors</a> error code.</td>
 </tr>
 </tbody>
 </table></div>
@@ -576,7 +754,7 @@
 <a name="xmlNewCharEncodingHandler"></a>xmlNewCharEncodingHandler ()</h3>
 <pre class="programlisting"><a href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a>	xmlNewCharEncodingHandler	(const char * name, <br>							 <a href="libxml2-encoding.html#xmlCharEncodingInputFunc">xmlCharEncodingInputFunc</a> input, <br>							 <a href="libxml2-encoding.html#xmlCharEncodingOutputFunc">xmlCharEncodingOutputFunc</a> output)<br>
 </pre>
-<p>Create and registers an <a href="libxml2-encoding.html#xmlCharEncodingHandler">xmlCharEncodingHandler</a>.</p>
+<p>DEPRECATED: This function modifies global state and is not thread-safe. Create and registers an <a href="libxml2-encoding.html#xmlCharEncodingHandler">xmlCharEncodingHandler</a>.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -603,9 +781,9 @@
 <div class="refsect2" lang="en">
 <h3>
 <a name="xmlOpenCharEncodingHandler"></a>xmlOpenCharEncodingHandler ()</h3>
-<pre class="programlisting">int	xmlOpenCharEncodingHandler	(const char * name, <br>					 int output, <br>					 <a href="libxml2-encoding.html#xmlCharEncodingHandler">xmlCharEncodingHandler</a> ** out)<br>
+<pre class="programlisting"><a href="libxml2-xmlerror.html#xmlParserErrors">xmlParserErrors</a>	xmlOpenCharEncodingHandler	(const char * name, <br>						 int output, <br>						 <a href="libxml2-encoding.html#xmlCharEncodingHandler">xmlCharEncodingHandler</a> ** out)<br>
 </pre>
-<p>Find or create a handler matching the encoding. If no default or registered handler could be found, try to create a handler using iconv or ICU if supported. The handler must be closed with <a href="libxml2-encoding.html#xmlCharEncCloseFunc">xmlCharEncCloseFunc</a>. Available since 2.13.0.</p>
+<p>Find or create a handler matching the encoding. The following converters are looked up in order: - Built-in handler (UTF-8, UTF-16, ISO-8859-1, ASCII) - User-registered global handler (deprecated) - iconv if enabled - ICU if enabled The handler must be closed with <a href="libxml2-encoding.html#xmlCharEncCloseFunc">xmlCharEncCloseFunc</a>. If the encoding is UTF-8, a NULL handler and no error code will be returned. Available since 2.13.0.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -623,7 +801,7 @@
 </tr>
 <tr>
 <td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td>an <a href="libxml2-xmlerror.html#xmlParserErrors">xmlParserErrors</a> error code.</td>
+<td>XML_ERR_OK, <a href="libxml2-xmlerror.html#XML_ERR_UNSUPPORTED_ENCODING">XML_ERR_UNSUPPORTED_ENCODING</a> or another <a href="libxml2-xmlerror.html#xmlParserErrors">xmlParserErrors</a> error code.</td>
 </tr>
 </tbody>
 </table></div>
@@ -655,7 +833,7 @@
 <a name="xmlRegisterCharEncodingHandler"></a>xmlRegisterCharEncodingHandler ()</h3>
 <pre class="programlisting">void	xmlRegisterCharEncodingHandler	(<a href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> handler)<br>
 </pre>
-<p>Register the char encoding handler, surprising, isn't it ?</p>
+<p>DEPRECATED: This function modifies global state and is not thread-safe. Register the char encoding handler.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody><tr>
@@ -665,6 +843,39 @@
 </table></div>
 </div>
 <hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUTF8ToIsolat1"></a>xmlUTF8ToIsolat1 ()</h3>
+<pre class="programlisting">int	xmlUTF8ToIsolat1		(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 ISO Latin 1 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>the number of bytes written or an XML_ENC_ERR code. The value of @inlen after return is the number of octets consumed if the return value is positive, else unpredictable. The value of @outlen after return is the number of octets produced.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
 </div>
 </div>
 </body>
diff --git a/doc/devhelp/libxml2-entities.html b/doc/devhelp/libxml2-entities.html
index 243f354..13fb36b 100644
--- a/doc/devhelp/libxml2-entities.html
+++ b/doc/devhelp/libxml2-entities.html
@@ -28,12 +28,10 @@
 <a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a>	<a href="#xmlAddDocEntity">xmlAddDocEntity</a>		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 int type, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * SystemID, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
 <a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a>	<a href="#xmlAddDtdEntity">xmlAddDtdEntity</a>		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 int type, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * SystemID, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
 int	<a href="#xmlAddEntity">xmlAddEntity</a>			(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 int extSubset, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 int type, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * SystemID, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content, <br>					 <a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a> * out);
-void	<a href="#xmlCleanupPredefinedEntities">xmlCleanupPredefinedEntities</a>	(void);
 <a href="libxml2-entities.html#xmlEntitiesTablePtr">xmlEntitiesTablePtr</a>	<a href="#xmlCopyEntitiesTable">xmlCopyEntitiesTable</a>	(<a href="libxml2-entities.html#xmlEntitiesTablePtr">xmlEntitiesTablePtr</a> table);
 <a href="libxml2-entities.html#xmlEntitiesTablePtr">xmlEntitiesTablePtr</a>	<a href="#xmlCreateEntitiesTable">xmlCreateEntitiesTable</a>	(void);
 void	<a href="#xmlDumpEntitiesTable">xmlDumpEntitiesTable</a>		(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>					 <a href="libxml2-entities.html#xmlEntitiesTablePtr">xmlEntitiesTablePtr</a> table);
 void	<a href="#xmlDumpEntityDecl">xmlDumpEntityDecl</a>		(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>					 <a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a> ent);
-const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlEncodeEntities">xmlEncodeEntities</a>	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * input);
 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlEncodeEntitiesReentrant">xmlEncodeEntitiesReentrant</a>	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * input);
 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlEncodeSpecialChars">xmlEncodeSpecialChars</a>	(const <a href="libxml2-tree.html#xmlDoc">xmlDoc</a> * doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * input);
 void	<a href="#xmlFreeEntitiesTable">xmlFreeEntitiesTable</a>		(<a href="libxml2-entities.html#xmlEntitiesTablePtr">xmlEntitiesTablePtr</a> table);
@@ -42,7 +40,6 @@
 <a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a>	<a href="#xmlGetDtdEntity">xmlGetDtdEntity</a>		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
 <a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a>	<a href="#xmlGetParameterEntity">xmlGetParameterEntity</a>	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
 <a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a>	<a href="#xmlGetPredefinedEntity">xmlGetPredefinedEntity</a>	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
-void	<a href="#xmlInitializePredefinedEntities">xmlInitializePredefinedEntities</a>	(void);
 <a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a>	<a href="#xmlNewEntity">xmlNewEntity</a>		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 int type, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * SystemID, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
 </pre>
 </div>
@@ -216,14 +213,6 @@
 <hr>
 <div class="refsect2" lang="en">
 <h3>
-<a name="xmlCleanupPredefinedEntities"></a>xmlCleanupPredefinedEntities ()</h3>
-<pre class="programlisting">void	xmlCleanupPredefinedEntities	(void)<br>
-</pre>
-<p>Cleanup up the predefined entities table. Deprecated call</p>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
 <a name="xmlCopyEntitiesTable"></a>xmlCopyEntitiesTable ()</h3>
 <pre class="programlisting"><a href="libxml2-entities.html#xmlEntitiesTablePtr">xmlEntitiesTablePtr</a>	xmlCopyEntitiesTable	(<a href="libxml2-entities.html#xmlEntitiesTablePtr">xmlEntitiesTablePtr</a> table)<br>
 </pre>
@@ -302,35 +291,10 @@
 <hr>
 <div class="refsect2" lang="en">
 <h3>
-<a name="xmlEncodeEntities"></a>xmlEncodeEntities ()</h3>
-<pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlEncodeEntities	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * input)<br>
-</pre>
-<p>TODO: remove xmlEncodeEntities, once we are not afraid of breaking binary compatibility People must migrate their code to <a href="libxml2-entities.html#xmlEncodeEntitiesReentrant">xmlEncodeEntitiesReentrant</a> ! This routine will issue a warning when encountered.</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 document containing the string</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>input</tt></i>:</span></td>
-<td>A string to convert to XML.</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td>NULL</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
 <a name="xmlEncodeEntitiesReentrant"></a>xmlEncodeEntitiesReentrant ()</h3>
 <pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlEncodeEntitiesReentrant	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * input)<br>
 </pre>
-<p>Do a global encoding of a string, replacing the predefined entities and non ASCII values with their entities and CharRef counterparts. Contrary to xmlEncodeEntities, this routine is reentrant, and result must be deallocated.</p>
+<p>Do a global encoding of a string, replacing the predefined entities and non ASCII values with their entities and CharRef counterparts. Contrary to xmlEncodeEntities, this routine is reentrant, and result must be deallocated. This escapes '&lt;', '&gt;', '&amp;' and '\r'. If the document has no encoding, non-ASCII codepoints are escaped. There is some special handling for HTML documents.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -355,13 +319,13 @@
 <a name="xmlEncodeSpecialChars"></a>xmlEncodeSpecialChars ()</h3>
 <pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlEncodeSpecialChars	(const <a href="libxml2-tree.html#xmlDoc">xmlDoc</a> * doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * input)<br>
 </pre>
-<p>Do a global encoding of a string, replacing the predefined entities this routine is reentrant, and result must be deallocated.</p>
+<p>Do a global encoding of a string, replacing the predefined entities this routine is reentrant, and result must be deallocated. This escapes '&lt;', '&gt;', '&amp;', '"' and '\r' chars.</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 document containing the string</td>
+<td>unused</td>
 </tr>
 <tr>
 <td><span class="term"><i><tt>input</tt></i>:</span></td>
@@ -503,14 +467,6 @@
 <hr>
 <div class="refsect2" lang="en">
 <h3>
-<a name="xmlInitializePredefinedEntities"></a>xmlInitializePredefinedEntities ()</h3>
-<pre class="programlisting">void	xmlInitializePredefinedEntities	(void)<br>
-</pre>
-<p>Set up the predefined entities. Deprecated call</p>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
 <a name="xmlNewEntity"></a>xmlNewEntity ()</h3>
 <pre class="programlisting"><a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a>	xmlNewEntity		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 int type, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * SystemID, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br>
 </pre>
diff --git a/doc/devhelp/libxml2-globals.html b/doc/devhelp/libxml2-globals.html
index bf8bbd1..59c882e 100644
--- a/doc/devhelp/libxml2-globals.html
+++ b/doc/devhelp/libxml2-globals.html
@@ -22,65 +22,12 @@
 <p>Author(s): </p>
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
-<pre class="synopsis">typedef struct _xmlGlobalState <a href="#xmlGlobalState">xmlGlobalState</a>;
-typedef <a href="libxml2-globals.html#xmlGlobalState">xmlGlobalState</a> * <a href="#xmlGlobalStatePtr">xmlGlobalStatePtr</a>;
-<a href="libxml2-globals.html#xmlGlobalStatePtr">xmlGlobalStatePtr</a>	<a href="#xmlGetGlobalState">xmlGetGlobalState</a>	(void);
-void	<a href="#xmlInitializeGlobalState">xmlInitializeGlobalState</a>	(<a href="libxml2-globals.html#xmlGlobalStatePtr">xmlGlobalStatePtr</a> gs);
-</pre>
+<pre class="synopsis"></pre>
 </div>
 <div class="refsect1" lang="en"><h2>Description</h2></div>
 <div class="refsect1" lang="en">
 <h2>Details</h2>
-<div class="refsect2" lang="en">
-<div class="refsect2" lang="en">
-<h3>
-<a name="xmlGlobalState">Structure </a>xmlGlobalState</h3>
-<pre class="programlisting">struct _xmlGlobalState {
-The content of this structure is not made public by the API.
-} xmlGlobalState;
-</pre>
-<p></p>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
-<a name="xmlGlobalStatePtr">Typedef </a>xmlGlobalStatePtr</h3>
-<pre class="programlisting"><a href="libxml2-globals.html#xmlGlobalState">xmlGlobalState</a> * xmlGlobalStatePtr;
-</pre>
-<p></p>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
-<a name="xmlGetGlobalState"></a>xmlGetGlobalState ()</h3>
-<pre class="programlisting"><a href="libxml2-globals.html#xmlGlobalStatePtr">xmlGlobalStatePtr</a>	xmlGetGlobalState	(void)<br>
-</pre>
-<p>DEPRECATED</p>
-<div class="variablelist"><table border="0">
-<col align="left">
-<tbody><tr>
-<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td>NULL.</td>
-</tr></tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
-<a name="xmlInitializeGlobalState"></a>xmlInitializeGlobalState ()</h3>
-<pre class="programlisting">void	xmlInitializeGlobalState	(<a href="libxml2-globals.html#xmlGlobalStatePtr">xmlGlobalStatePtr</a> gs)<br>
-</pre>
-<p>DEPRECATED: No-op.</p>
-<div class="variablelist"><table border="0">
-<col align="left">
-<tbody><tr>
-<td><span class="term"><i><tt>gs</tt></i>:</span></td>
-<td>a pointer to a newly allocated global state</td>
-</tr></tbody>
-</table></div>
-</div>
-<hr>
-</div>
+<div class="refsect2" lang="en"></div>
 </div>
 </body>
 </html>
diff --git a/doc/devhelp/libxml2-list.html b/doc/devhelp/libxml2-list.html
index 6d18802..95928ca 100644
--- a/doc/devhelp/libxml2-list.html
+++ b/doc/devhelp/libxml2-list.html
@@ -13,7 +13,7 @@
 <td><a accesskey="p" href="libxml2-hash.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
 <td><a accesskey="u" href="general.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
 <td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
-<td><a accesskey="n" href="libxml2-nanoftp.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
+<td><a accesskey="n" href="libxml2-nanohttp.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
 <th width="100%" align="center">libxml2 Reference Manual</th>
 </tr></table>
 <h2><span class="refentrytitle">list</span></h2>
diff --git a/doc/devhelp/libxml2-nanohttp.html b/doc/devhelp/libxml2-nanohttp.html
index aa382ea..9596449 100644
--- a/doc/devhelp/libxml2-nanohttp.html
+++ b/doc/devhelp/libxml2-nanohttp.html
@@ -10,7 +10,7 @@
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
 <table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td><a accesskey="p" href="libxml2-nanoftp.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
+<td><a accesskey="p" href="libxml2-list.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
 <td><a accesskey="u" href="general.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
 <td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
 <td><a accesskey="n" href="libxml2-parser.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
diff --git a/doc/devhelp/libxml2-parser.html b/doc/devhelp/libxml2-parser.html
index 5813629..064855d 100644
--- a/doc/devhelp/libxml2-parser.html
+++ b/doc/devhelp/libxml2-parser.html
@@ -26,6 +26,7 @@
 #define <a href="#XML_SAX2_MAGIC">XML_SAX2_MAGIC</a>;
 typedef struct _xmlAttrHashBucket <a href="#xmlAttrHashBucket">xmlAttrHashBucket</a>;
 typedef enum <a href="#xmlFeature">xmlFeature</a>;
+typedef enum <a href="#xmlParserInputFlags">xmlParserInputFlags</a>;
 typedef enum <a href="#xmlParserInputState">xmlParserInputState</a>;
 typedef enum <a href="#xmlParserMode">xmlParserMode</a>;
 typedef struct _xmlParserNodeInfo <a href="#xmlParserNodeInfo">xmlParserNodeInfo</a>;
@@ -34,6 +35,8 @@
 typedef <a href="libxml2-parser.html#xmlParserNodeInfoSeq">xmlParserNodeInfoSeq</a> * <a href="#xmlParserNodeInfoSeqPtr">xmlParserNodeInfoSeqPtr</a>;
 typedef struct _xmlParserNsData <a href="#xmlParserNsData">xmlParserNsData</a>;
 typedef enum <a href="#xmlParserOption">xmlParserOption</a>;
+typedef enum <a href="#xmlParserStatus">xmlParserStatus</a>;
+typedef enum <a href="#xmlResourceType">xmlResourceType</a>;
 typedef struct _xmlSAXHandlerV1 <a href="#xmlSAXHandlerV1">xmlSAXHandlerV1</a>;
 typedef <a href="libxml2-parser.html#xmlSAXHandlerV1">xmlSAXHandlerV1</a> * <a href="#xmlSAXHandlerV1Ptr">xmlSAXHandlerV1Ptr</a>;
 typedef struct _xmlStartTag <a href="#xmlStartTag">xmlStartTag</a>;
@@ -75,7 +78,22 @@
 <a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a>	<a href="#xmlCreateDocParserCtxt">xmlCreateDocParserCtxt</a>	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str);
 <a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a>	<a href="#xmlCreateIOParserCtxt">xmlCreateIOParserCtxt</a>	(<a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br>						 void * user_data, <br>						 <a href="libxml2-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a> ioread, <br>						 <a href="libxml2-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a> ioclose, <br>						 void * ioctx, <br>						 <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc);
 <a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a>	<a href="#xmlCreatePushParserCtxt">xmlCreatePushParserCtxt</a>	(<a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br>						 void * user_data, <br>						 const char * chunk, <br>						 int size, <br>						 const char * filename);
+void *	<a href="#xmlCtxtGetCatalogs">xmlCtxtGetCatalogs</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
+const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlCtxtGetDeclaredEncoding">xmlCtxtGetDeclaredEncoding</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
+<a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a>	<a href="#xmlCtxtGetDict">xmlCtxtGetDict</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
+<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	<a href="#xmlCtxtGetDocument">xmlCtxtGetDocument</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
+int	<a href="#xmlCtxtGetOptions">xmlCtxtGetOptions</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
+void *	<a href="#xmlCtxtGetPrivate">xmlCtxtGetPrivate</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
+<a href="libxml2-tree.html#xmlSAXHandler">xmlSAXHandler</a> *	<a href="#xmlCtxtGetSaxHandler">xmlCtxtGetSaxHandler</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
+int	<a href="#xmlCtxtGetStandalone">xmlCtxtGetStandalone</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
+<a href="libxml2-parser.html#xmlParserStatus">xmlParserStatus</a>	<a href="#xmlCtxtGetStatus">xmlCtxtGetStatus</a>	(<a href="libxml2-tree.html#xmlParserCtxt">xmlParserCtxt</a> * ctxt);
+<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a>	<a href="#xmlCtxtGetValidCtxt">xmlCtxtGetValidCtxt</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
+const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlCtxtGetVersion">xmlCtxtGetVersion</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
+int	<a href="#xmlCtxtIsHtml">xmlCtxtIsHtml</a>			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
+int	<a href="#xmlCtxtIsStopped">xmlCtxtIsStopped</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
+<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlCtxtParseContent">xmlCtxtParseContent</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> input, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 int hasTextDecl);
 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	<a href="#xmlCtxtParseDocument">xmlCtxtParseDocument</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> input);
+<a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a>	<a href="#xmlCtxtParseDtd">xmlCtxtParseDtd</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> input, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * publicId, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * systemId);
 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	<a href="#xmlCtxtReadDoc">xmlCtxtReadDoc</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br>					 const char * URL, <br>					 const char * encoding, <br>					 int options);
 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	<a href="#xmlCtxtReadFd">xmlCtxtReadFd</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 int fd, <br>					 const char * URL, <br>					 const char * encoding, <br>					 int options);
 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	<a href="#xmlCtxtReadFile">xmlCtxtReadFile</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 const char * filename, <br>					 const char * encoding, <br>					 int options);
@@ -83,25 +101,37 @@
 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	<a href="#xmlCtxtReadMemory">xmlCtxtReadMemory</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 const char * buffer, <br>					 int size, <br>					 const char * URL, <br>					 const char * encoding, <br>					 int options);
 void	<a href="#xmlCtxtReset">xmlCtxtReset</a>			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
 int	<a href="#xmlCtxtResetPush">xmlCtxtResetPush</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 const char * chunk, <br>					 int size, <br>					 const char * filename, <br>					 const char * encoding);
+void	<a href="#xmlCtxtSetCatalogs">xmlCtxtSetCatalogs</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 void * catalogs);
+void	<a href="#xmlCtxtSetCharEncConvImpl">xmlCtxtSetCharEncConvImpl</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 <a href="libxml2-encoding.html#xmlCharEncConvImpl">xmlCharEncConvImpl</a> impl, <br>					 void * vctxt);
+void	<a href="#xmlCtxtSetDict">xmlCtxtSetDict</a>			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 <a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> dict);
 void	<a href="#xmlCtxtSetErrorHandler">xmlCtxtSetErrorHandler</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 <a href="libxml2-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a> handler, <br>					 void * data);
 void	<a href="#xmlCtxtSetMaxAmplification">xmlCtxtSetMaxAmplification</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 unsigned maxAmpl);
 int	<a href="#xmlCtxtSetOptions">xmlCtxtSetOptions</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 int options);
+void	<a href="#xmlCtxtSetPrivate">xmlCtxtSetPrivate</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 void * priv);
+void	<a href="#xmlCtxtSetResourceLoader">xmlCtxtSetResourceLoader</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 <a href="libxml2-parser.html#xmlResourceLoader">xmlResourceLoader</a> loader, <br>					 void * vctxt);
+int	<a href="#xmlCtxtSetSaxHandler">xmlCtxtSetSaxHandler</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 const <a href="libxml2-tree.html#xmlSAXHandler">xmlSAXHandler</a> * sax);
 int	<a href="#xmlCtxtUseOptions">xmlCtxtUseOptions</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 int options);
+int	<a href="#xmlCtxtValidateDocument">xmlCtxtValidateDocument</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc);
+int	<a href="#xmlCtxtValidateDtd">xmlCtxtValidateDtd</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd);
 typedef <a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> <a href="#xmlExternalEntityLoader">xmlExternalEntityLoader</a>	(const char * URL, <br>						 const char * ID, <br>						 <a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> context);
 void	<a href="#xmlFreeParserCtxt">xmlFreeParserCtxt</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
 <a href="libxml2-parser.html#xmlExternalEntityLoader">xmlExternalEntityLoader</a>	<a href="#xmlGetExternalEntityLoader">xmlGetExternalEntityLoader</a>	(void);
-int	<a href="#xmlGetFeature">xmlGetFeature</a>			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 const char * name, <br>					 void * result);
-int	<a href="#xmlGetFeaturesList">xmlGetFeaturesList</a>		(int * len, <br>					 const char ** result);
 int	<a href="#xmlHasFeature">xmlHasFeature</a>			(<a href="libxml2-parser.html#xmlFeature">xmlFeature</a> feature);
 <a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a>	<a href="#xmlIOParseDTD">xmlIOParseDTD</a>		(<a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br>					 <a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> input, <br>					 <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc);
 void	<a href="#xmlInitGlobals">xmlInitGlobals</a>			(void);
 void	<a href="#xmlInitNodeInfoSeq">xmlInitNodeInfoSeq</a>		(<a href="libxml2-parser.html#xmlParserNodeInfoSeqPtr">xmlParserNodeInfoSeqPtr</a> seq);
 void	<a href="#xmlInitParser">xmlInitParser</a>			(void);
 int	<a href="#xmlInitParserCtxt">xmlInitParserCtxt</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
+<a href="libxml2-xmlerror.html#xmlParserErrors">xmlParserErrors</a>	<a href="#xmlInputSetEncodingHandler">xmlInputSetEncodingHandler</a>	(<a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> input, <br>						 <a href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> handler);
 int	<a href="#xmlKeepBlanksDefault">xmlKeepBlanksDefault</a>		(int val);
 int	<a href="#xmlLineNumbersDefault">xmlLineNumbersDefault</a>		(int val);
 <a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>	<a href="#xmlLoadExternalEntity">xmlLoadExternalEntity</a>	(const char * URL, <br>						 const char * ID, <br>						 <a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
 <a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>	<a href="#xmlNewIOInputStream">xmlNewIOInputStream</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>						 <a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> buf, <br>						 <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc);
+<a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>	<a href="#xmlNewInputFromFd">xmlNewInputFromFd</a>	(const char * url, <br>						 int fd, <br>						 <a href="libxml2-parser.html#xmlParserInputFlags">xmlParserInputFlags</a> flags);
+<a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>	<a href="#xmlNewInputFromIO">xmlNewInputFromIO</a>	(const char * url, <br>						 <a href="libxml2-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a> ioRead, <br>						 <a href="libxml2-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a> ioClose, <br>						 void * ioCtxt, <br>						 <a href="libxml2-parser.html#xmlParserInputFlags">xmlParserInputFlags</a> flags);
+<a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>	<a href="#xmlNewInputFromMemory">xmlNewInputFromMemory</a>	(const char * url, <br>						 const void * mem, <br>						 size_t size, <br>						 <a href="libxml2-parser.html#xmlParserInputFlags">xmlParserInputFlags</a> flags);
+<a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>	<a href="#xmlNewInputFromString">xmlNewInputFromString</a>	(const char * url, <br>						 const char * str, <br>						 <a href="libxml2-parser.html#xmlParserInputFlags">xmlParserInputFlags</a> flags);
+<a href="libxml2-xmlerror.html#xmlParserErrors">xmlParserErrors</a>	<a href="#xmlNewInputFromUrl">xmlNewInputFromUrl</a>	(const char * filename, <br>					 <a href="libxml2-parser.html#xmlParserInputFlags">xmlParserInputFlags</a> flags, <br>					 <a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> * out);
 <a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a>	<a href="#xmlNewParserCtxt">xmlNewParserCtxt</a>	(void);
 <a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a>	<a href="#xmlNewSAXParserCtxt">xmlNewSAXParserCtxt</a>	(const <a href="libxml2-tree.html#xmlSAXHandler">xmlSAXHandler</a> * sax, <br>						 void * userData);
 int	<a href="#xmlParseBalancedChunkMemory">xmlParseBalancedChunkMemory</a>	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br>					 void * user_data, <br>					 int depth, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * string, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> * lst);
@@ -115,7 +145,7 @@
 int	<a href="#xmlParseExtParsedEnt">xmlParseExtParsedEnt</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
 int	<a href="#xmlParseExternalEntity">xmlParseExternalEntity</a>		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br>					 void * user_data, <br>					 int depth, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URL, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ID, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> * list);
 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	<a href="#xmlParseFile">xmlParseFile</a>		(const char * filename);
-<a href="libxml2-xmlerror.html#xmlParserErrors">xmlParserErrors</a>	<a href="#xmlParseInNodeContext">xmlParseInNodeContext</a>	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 const char * data, <br>					 int datalen, <br>					 int options, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> * lst);
+<a href="libxml2-xmlerror.html#xmlParserErrors">xmlParserErrors</a>	<a href="#xmlParseInNodeContext">xmlParseInNodeContext</a>	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 const char * data, <br>					 int datalen, <br>					 int options, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> * listOut);
 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	<a href="#xmlParseMemory">xmlParseMemory</a>		(const char * buffer, <br>					 int size);
 void	<a href="#xmlParserAddNodeInfo">xmlParserAddNodeInfo</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 <a href="libxml2-parser.html#xmlParserNodeInfoPtr">xmlParserNodeInfoPtr</a> info);
 const <a href="libxml2-parser.html#xmlParserNodeInfo">xmlParserNodeInfo</a> *	<a href="#xmlParserFindNodeInfo">xmlParserFindNodeInfo</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctx, <br>							 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node);
@@ -132,6 +162,7 @@
 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	<a href="#xmlRecoverDoc">xmlRecoverDoc</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur);
 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	<a href="#xmlRecoverFile">xmlRecoverFile</a>		(const char * filename);
 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	<a href="#xmlRecoverMemory">xmlRecoverMemory</a>	(const char * buffer, <br>					 int size);
+typedef <a href="libxml2-xmlerror.html#xmlParserErrors">xmlParserErrors</a> <a href="#xmlResourceLoader">xmlResourceLoader</a>	(void * ctxt, <br>					 const char * url, <br>					 const char * publicId, <br>					 <a href="libxml2-parser.html#xmlResourceType">xmlResourceType</a> type, <br>					 <a href="libxml2-parser.html#xmlParserInputFlags">xmlParserInputFlags</a> flags, <br>					 <a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> * out);
 <a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a>	<a href="#xmlSAXParseDTD">xmlSAXParseDTD</a>		(<a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * SystemID);
 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	<a href="#xmlSAXParseDoc">xmlSAXParseDoc</a>		(<a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur, <br>					 int recovery);
 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	<a href="#xmlSAXParseEntity">xmlSAXParseEntity</a>	(<a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br>					 const char * filename);
@@ -142,7 +173,6 @@
 int	<a href="#xmlSAXUserParseFile">xmlSAXUserParseFile</a>		(<a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br>					 void * user_data, <br>					 const char * filename);
 int	<a href="#xmlSAXUserParseMemory">xmlSAXUserParseMemory</a>		(<a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br>					 void * user_data, <br>					 const char * buffer, <br>					 int size);
 void	<a href="#xmlSetExternalEntityLoader">xmlSetExternalEntityLoader</a>	(<a href="libxml2-parser.html#xmlExternalEntityLoader">xmlExternalEntityLoader</a> f);
-int	<a href="#xmlSetFeature">xmlSetFeature</a>			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 const char * name, <br>					 void * value);
 void	<a href="#xmlSetupParserForBuffer">xmlSetupParserForBuffer</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * buffer, <br>					 const char * filename);
 void	<a href="#xmlStopParser">xmlStopParser</a>			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
 int	<a href="#xmlSubstituteEntitiesDefault">xmlSubstituteEntitiesDefault</a>	(int val);
@@ -151,7 +181,6 @@
 int	<a href="#xmlThrDefKeepBlanksDefaultValue">xmlThrDefKeepBlanksDefaultValue</a>	(int v);
 int	<a href="#xmlThrDefLineNumbersDefaultValue">xmlThrDefLineNumbersDefaultValue</a>	(int v);
 int	<a href="#xmlThrDefLoadExtDtdDefaultValue">xmlThrDefLoadExtDtdDefaultValue</a>	(int v);
-int	<a href="#xmlThrDefParserDebugEntities">xmlThrDefParserDebugEntities</a>	(int v);
 int	<a href="#xmlThrDefPedanticParserDefaultValue">xmlThrDefPedanticParserDefaultValue</a>	(int v);
 int	<a href="#xmlThrDefSubstituteEntitiesDefaultValue">xmlThrDefSubstituteEntitiesDefaultValue</a>	(int v);
 </pre>
@@ -223,6 +252,7 @@
     <a name="XML_WITH_ZLIB">XML_WITH_ZLIB</a> = 31
     <a name="XML_WITH_ICU">XML_WITH_ICU</a> = 32
     <a name="XML_WITH_LZMA">XML_WITH_LZMA</a> = 33
+    <a name="XML_WITH_RELAXNG">XML_WITH_RELAXNG</a> = 34 /* since 2.14.0 */
     <a name="XML_WITH_NONE">XML_WITH_NONE</a> = 99999 /*  just to be sure of allocation size */
 };
 </pre>
@@ -231,6 +261,19 @@
 <hr>
 <div class="refsect2" lang="en">
 <h3>
+<a name="xmlParserInputFlags">Enum </a>xmlParserInputFlags</h3>
+<pre class="programlisting">enum <a href="#xmlParserInputFlags">xmlParserInputFlags</a> {
+    <a name="XML_INPUT_BUF_STATIC">XML_INPUT_BUF_STATIC</a> = 2
+    <a name="XML_INPUT_BUF_ZERO_TERMINATED">XML_INPUT_BUF_ZERO_TERMINATED</a> = 4
+    <a name="XML_INPUT_UNZIP">XML_INPUT_UNZIP</a> = 8
+    <a name="XML_INPUT_NETWORK">XML_INPUT_NETWORK</a> = 16
+};
+</pre>
+<p></p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
 <a name="xmlParserInputState">Enum </a>xmlParserInputState</h3>
 <pre class="programlisting">enum <a href="#xmlParserInputState">xmlParserInputState</a> {
     <a name="XML_PARSER_EOF">XML_PARSER_EOF</a> = -1 /* nothing is to be parsed */
@@ -276,7 +319,7 @@
 <h3>
 <a name="xmlParserNodeInfo">Structure </a>xmlParserNodeInfo</h3>
 <pre class="programlisting">struct _xmlParserNodeInfo {
-    const struct _xmlNode *	node	: Position &amp; line # that text that created the node begins &amp; ends on
+    const struct _xmlNode *	node
     unsigned long	begin_pos
     unsigned long	begin_line
     unsigned long	end_pos
@@ -350,8 +393,40 @@
     <a name="XML_PARSE_HUGE">XML_PARSE_HUGE</a> = 524288 /* relax any hardcoded limit from the parser */
     <a name="XML_PARSE_OLDSAX">XML_PARSE_OLDSAX</a> = 1048576 /* parse using SAX2 interface before 2.7.0 */
     <a name="XML_PARSE_IGNORE_ENC">XML_PARSE_IGNORE_ENC</a> = 2097152 /* ignore internal document encoding hint */
-    <a name="XML_PARSE_BIG_LINES">XML_PARSE_BIG_LINES</a> = 4194304 /* Store big lines numbers in text PSVI field */
-    <a name="XML_PARSE_NO_XXE">XML_PARSE_NO_XXE</a> = 8388608 /*  disable loading of external content */
+    <a name="XML_PARSE_BIG_LINES">XML_PARSE_BIG_LINES</a> = 4194304 /* Store big lines numbers in text PSVI field since 2.13.0 */
+    <a name="XML_PARSE_NO_XXE">XML_PARSE_NO_XXE</a> = 8388608 /* disable loading of external content since 2.14.0 */
+    <a name="XML_PARSE_UNZIP">XML_PARSE_UNZIP</a> = 16777216 /* allow compressed content */
+    <a name="XML_PARSE_NO_SYS_CATALOG">XML_PARSE_NO_SYS_CATALOG</a> = 33554432 /* disable global system catalog */
+    <a name="XML_PARSE_CATALOG_PI">XML_PARSE_CATALOG_PI</a> = 67108864 /*  allow catalog PIs */
+};
+</pre>
+<p></p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParserStatus">Enum </a>xmlParserStatus</h3>
+<pre class="programlisting">enum <a href="#xmlParserStatus">xmlParserStatus</a> {
+    <a name="XML_STATUS_NOT_WELL_FORMED">XML_STATUS_NOT_WELL_FORMED</a> = 1
+    <a name="XML_STATUS_NOT_NS_WELL_FORMED">XML_STATUS_NOT_NS_WELL_FORMED</a> = 2
+    <a name="XML_STATUS_DTD_VALIDATION_FAILED">XML_STATUS_DTD_VALIDATION_FAILED</a> = 4
+    <a name="XML_STATUS_CATASTROPHIC_ERROR">XML_STATUS_CATASTROPHIC_ERROR</a> = 8
+};
+</pre>
+<p></p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlResourceType">Enum </a>xmlResourceType</h3>
+<pre class="programlisting">enum <a href="#xmlResourceType">xmlResourceType</a> {
+    <a name="XML_RESOURCE_UNKNOWN">XML_RESOURCE_UNKNOWN</a> = 0
+    <a name="XML_RESOURCE_MAIN_DOCUMENT">XML_RESOURCE_MAIN_DOCUMENT</a> = 1
+    <a name="XML_RESOURCE_DTD">XML_RESOURCE_DTD</a> = 2
+    <a name="XML_RESOURCE_GENERAL_ENTITY">XML_RESOURCE_GENERAL_ENTITY</a> = 3
+    <a name="XML_RESOURCE_PARAMETER_ENTITY">XML_RESOURCE_PARAMETER_ENTITY</a> = 4
+    <a name="XML_RESOURCE_XINCLUDE">XML_RESOURCE_XINCLUDE</a> = 5
+    <a name="XML_RESOURCE_XINCLUDE_TEXT">XML_RESOURCE_XINCLUDE_TEXT</a> = 6
 };
 </pre>
 <p></p>
@@ -384,7 +459,7 @@
     <a href="libxml2-parser.html#commentSAXFunc">commentSAXFunc</a>	comment
     <a href="libxml2-parser.html#warningSAXFunc">warningSAXFunc</a>	warning
     <a href="libxml2-parser.html#errorSAXFunc">errorSAXFunc</a>	error
-    <a href="libxml2-parser.html#fatalErrorSAXFunc">fatalErrorSAXFunc</a>	fatalError	: unused error() get all the errors
+    <a href="libxml2-parser.html#fatalErrorSAXFunc">fatalErrorSAXFunc</a>	fatalError
     <a href="libxml2-parser.html#getParameterEntitySAXFunc">getParameterEntitySAXFunc</a>	getParameterEntity
     <a href="libxml2-parser.html#cdataBlockSAXFunc">cdataBlockSAXFunc</a>	cdataBlock
     <a href="libxml2-parser.html#externalSubsetSAXFunc">externalSubsetSAXFunc</a>	externalSubset
@@ -417,7 +492,7 @@
 <a name="attributeDeclSAXFunc"></a>Function type attributeDeclSAXFunc</h3>
 <pre class="programlisting">void	attributeDeclSAXFunc		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * elem, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * fullname, <br>					 int type, <br>					 int def, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * defaultValue, <br>					 <a href="libxml2-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a> tree)<br>
 </pre>
-<p>An <a href="libxml2-SAX.html#attribute">attribute</a> definition has been parsed.</p>
+<p>An attribute definition has been parsed.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -431,11 +506,11 @@
 </tr>
 <tr>
 <td><span class="term"><i><tt>fullname</tt></i>:</span></td>
-<td>the <a href="libxml2-SAX.html#attribute">attribute</a> name</td>
+<td>the attribute name</td>
 </tr>
 <tr>
 <td><span class="term"><i><tt>type</tt></i>:</span></td>
-<td>the <a href="libxml2-SAX.html#attribute">attribute</a> type</td>
+<td>the attribute type</td>
 </tr>
 <tr>
 <td><span class="term"><i><tt>def</tt></i>:</span></td>
@@ -443,7 +518,7 @@
 </tr>
 <tr>
 <td><span class="term"><i><tt>defaultValue</tt></i>:</span></td>
-<td>the <a href="libxml2-SAX.html#attribute">attribute</a> default value</td>
+<td>the attribute default value</td>
 </tr>
 <tr>
 <td><span class="term"><i><tt>tree</tt></i>:</span></td>
@@ -458,7 +533,7 @@
 <a name="attributeSAXFunc"></a>Function type attributeSAXFunc</h3>
 <pre class="programlisting">void	attributeSAXFunc		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value)<br>
 </pre>
-<p>Handle an <a href="libxml2-SAX.html#attribute">attribute</a> that has been read by the parser. The default handling is to convert the <a href="libxml2-SAX.html#attribute">attribute</a> into an DOM subtree and past it in a new <a href="libxml2-tree.html#xmlAttr">xmlAttr</a> element added to the element.</p>
+<p>Handle an attribute that has been read by the parser. The default handling is to convert the attribute into an DOM subtree and past it in a new <a href="libxml2-tree.html#xmlAttr">xmlAttr</a> element added to the element.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -468,11 +543,11 @@
 </tr>
 <tr>
 <td><span class="term"><i><tt>name</tt></i>:</span></td>
-<td>The <a href="libxml2-SAX.html#attribute">attribute</a> name, including namespace prefix</td>
+<td>The attribute name, including namespace prefix</td>
 </tr>
 <tr>
 <td><span class="term"><i><tt>value</tt></i>:</span></td>
-<td>The <a href="libxml2-SAX.html#attribute">attribute</a> value</td>
+<td>The attribute value</td>
 </tr>
 </tbody>
 </table></div>
@@ -534,7 +609,7 @@
 <a name="commentSAXFunc"></a>Function type commentSAXFunc</h3>
 <pre class="programlisting">void	commentSAXFunc			(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value)<br>
 </pre>
-<p>A <a href="libxml2-SAX.html#comment">comment</a> has been parsed.</p>
+<p>A comment has been parsed.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -544,7 +619,7 @@
 </tr>
 <tr>
 <td><span class="term"><i><tt>value</tt></i>:</span></td>
-<td>the <a href="libxml2-SAX.html#comment">comment</a> content</td>
+<td>the comment content</td>
 </tr>
 </tbody>
 </table></div>
@@ -857,7 +932,7 @@
 <a name="ignorableWhitespaceSAXFunc"></a>Function type ignorableWhitespaceSAXFunc</h3>
 <pre class="programlisting">void	ignorableWhitespaceSAXFunc	(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ch, <br>					 int len)<br>
 </pre>
-<p>Receiving some ignorable whitespaces from the parser. UNUSED: by default the DOM building will use <a href="libxml2-SAX.html#characters">characters</a>.</p>
+<p>Receiving some ignorable whitespaces from the parser. UNUSED: by default the DOM building will use characters.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -987,7 +1062,7 @@
 <a name="referenceSAXFunc"></a>Function type referenceSAXFunc</h3>
 <pre class="programlisting">void	referenceSAXFunc		(void * ctx, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
 </pre>
-<p>Called when an entity <a href="libxml2-SAX.html#reference">reference</a> is detected.</p>
+<p>Called when an entity reference is detected.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -1037,7 +1112,7 @@
 <a name="setDocumentLocatorSAXFunc"></a>Function type setDocumentLocatorSAXFunc</h3>
 <pre class="programlisting">void	setDocumentLocatorSAXFunc	(void * ctx, <br>					 <a href="libxml2-tree.html#xmlSAXLocatorPtr">xmlSAXLocatorPtr</a> loc)<br>
 </pre>
-<p>Receive the document locator at startup, actually <a href="libxml2-parser.html#xmlDefaultSAXLocator">xmlDefaultSAXLocator</a>. Everything is available on the context, so this is useless in our case.</p>
+<p>Receive the document locator at startup, actually xmlDefaultSAXLocator. Everything is available on the context, so this is useless in our case.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -1111,7 +1186,7 @@
 </tr>
 <tr>
 <td><span class="term"><i><tt>attributes</tt></i>:</span></td>
-<td>pointer to the array of (localname/prefix/URI/value/end) <a href="libxml2-SAX.html#attribute">attribute</a> values.</td>
+<td>pointer to the array of (localname/prefix/URI/value/end) attribute values.</td>
 </tr>
 </tbody>
 </table></div>
@@ -1246,34 +1321,43 @@
 <hr>
 <div class="refsect2" lang="en">
 <h3>
-<a name="oldXMLWDcompatibility">Variable </a>oldXMLWDcompatibility</h3>
-<pre class="programlisting">const int oldXMLWDcompatibility;
+<a name="xmlResourceLoader"></a>Function type xmlResourceLoader</h3>
+<pre class="programlisting"><a href="libxml2-xmlerror.html#xmlParserErrors">xmlParserErrors</a>	xmlResourceLoader	(void * ctxt, <br>					 const char * url, <br>					 const char * publicId, <br>					 <a href="libxml2-parser.html#xmlResourceType">xmlResourceType</a> type, <br>					 <a href="libxml2-parser.html#xmlParserInputFlags">xmlParserInputFlags</a> flags, <br>					 <a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> * out)<br>
 </pre>
-<p>Global setting, DEPRECATED.</p>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
-<a name="xmlDefaultSAXHandler">Variable </a>xmlDefaultSAXHandler</h3>
-<pre class="programlisting">const <a href="libxml2-parser.html#xmlSAXHandlerV1">xmlSAXHandlerV1</a> xmlDefaultSAXHandler;
-</pre>
-<p>DEPRECATED: This handler is unused and will be removed from future versions. Default SAX version1 handler for XML, builds the DOM tree</p>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
-<a name="xmlDefaultSAXLocator">Variable </a>xmlDefaultSAXLocator</h3>
-<pre class="programlisting">const <a href="libxml2-tree.html#xmlSAXLocator">xmlSAXLocator</a> xmlDefaultSAXLocator;
-</pre>
-<p>DEPRECATED: Don't use The default SAX Locator { getPublicId, getSystemId, getLineNumber, getColumnNumber}</p>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
-<a name="xmlParserDebugEntities">Variable </a>xmlParserDebugEntities</h3>
-<pre class="programlisting">const int xmlParserDebugEntities;
-</pre>
-<p>DEPRECATED: Don't use Global setting, asking the parser to print out debugging information. while handling entities. Disabled by default</p>
+<p>Callback for custom resource loaders. @flags can contain <a href="libxml2-parser.html#XML_INPUT_UNZIP">XML_INPUT_UNZIP</a> and <a href="libxml2-parser.html#XML_INPUT_NETWORK">XML_INPUT_NETWORK</a>. On success, @out should be set to a new parser input object and <a href="libxml2-xmlerror.html#XML_ERR_OK">XML_ERR_OK</a> should be returned.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>url</tt></i>:</span></td>
+<td>URL to load</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>publicId</tt></i>:</span></td>
+<td>publid ID from DTD (optional)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>type</tt></i>:</span></td>
+<td>resource type</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>flags</tt></i>:</span></td>
+<td>flags</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>out</tt></i>:</span></td>
+<td>result pointer</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>an <a href="libxml2-xmlerror.html#xmlParserErrors">xmlParserErrors</a> code.</td>
+</tr>
+</tbody>
+</table></div>
 </div>
 <hr>
 <div class="refsect2" lang="en">
@@ -1289,7 +1373,7 @@
 <a name="xmlByteConsumed"></a>xmlByteConsumed ()</h3>
 <pre class="programlisting">long	xmlByteConsumed			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
 </pre>
-<p>This function provides the current index of the parser relative to the start of the current entity. This function is computed in bytes from the beginning starting at zero and finishing at the size in byte of the file if parsing a file. The function is of constant cost if the input is UTF-8 but can be costly if run on non-UTF-8 input.</p>
+<p>DEPRECATED: Don't use. This function provides the current index of the parser relative to the start of the current entity. This function is computed in bytes from the beginning starting at zero and finishing at the size in byte of the file if parsing a file. The function is of constant cost if the input is UTF-8 but can be costly if run on non-UTF-8 input.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -1318,7 +1402,7 @@
 <a name="xmlCleanupParser"></a>xmlCleanupParser ()</h3>
 <pre class="programlisting">void	xmlCleanupParser		(void)<br>
 </pre>
-<p>This function name is somewhat misleading. It does not clean up parser state, it cleans up memory allocated by the library itself. It is a cleanup function for the XML library. It tries to reclaim all related global memory allocated for the library processing. It doesn't deallocate any document related memory. One should call xmlCleanupParser() only when the process has finished using the library and all XML/HTML documents built with it. See also xmlInitParser() which has the opposite function of preparing the library for operations. WARNING: if your application is multithreaded or has plugin support calling this may crash the application if another thread or a plugin is still using libxml2. It's sometimes very hard to guess if libxml2 is in use in the application, some libraries or plugins may use it without notice. In case of doubt abstain from calling this function or do it just before calling exit() to avoid leak reports from valgrind !</p>
+<p>This function is named somewhat misleadingly. It does not clean up parser state but global memory allocated by the library itself. Since 2.9.11, cleanup is performed automatically if a shared or dynamic libxml2 library is unloaded. This function should only be used to avoid false positives from memory leak checkers in static builds. WARNING: <a href="libxml2-parser.html#xmlCleanupParser">xmlCleanupParser</a> assumes that all other threads that called libxml2 functions have terminated. No library calls must be made after calling this function. In general, THIS FUNCTION SHOULD ONLY BE CALLED RIGHT BEFORE THE WHOLE PROCESS EXITS.</p>
 </div>
 <hr>
 <div class="refsect2" lang="en">
@@ -1419,7 +1503,7 @@
 <a name="xmlCreatePushParserCtxt"></a>xmlCreatePushParserCtxt ()</h3>
 <pre class="programlisting"><a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a>	xmlCreatePushParserCtxt	(<a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br>						 void * user_data, <br>						 const char * chunk, <br>						 int size, <br>						 const char * filename)<br>
 </pre>
-<p>Create a parser context for using the XML parser in push mode. See <a href="libxml2-parser.html#xmlParseChunk">xmlParseChunk</a>. Passing an initial chunk is useless and deprecated. @filename is used as base URI to fetch external entities and for error reports.</p>
+<p>Create a parser context for using the XML parser in push mode. See <a href="libxml2-parser.html#xmlParseChunk">xmlParseChunk</a>. Passing an initial chunk is useless and deprecated. The push parser doesn't support recovery mode or the <a href="libxml2-parser.html#XML_PARSE_NOBLANKS">XML_PARSE_NOBLANKS</a> option. @filename is used as base URI to fetch external entities and for error reports.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -1445,7 +1529,313 @@
 </tr>
 <tr>
 <td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td>the new parser context or NULL in case of error.</td>
+<td>the new parser context or NULL if a memory allocation failed.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCtxtGetCatalogs"></a>xmlCtxtGetCatalogs ()</h3>
+<pre class="programlisting">void *	xmlCtxtGetCatalogs		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
+</pre>
+<p>Available since 2.14.0.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the local catalogs.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCtxtGetDeclaredEncoding"></a>xmlCtxtGetDeclaredEncoding ()</h3>
+<pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlCtxtGetDeclaredEncoding	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
+</pre>
+<p>Available since 2.14.0.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the encoding from the encoding declaration. This can differ from the actual encoding.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCtxtGetDict"></a>xmlCtxtGetDict ()</h3>
+<pre class="programlisting"><a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a>	xmlCtxtGetDict		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
+</pre>
+<p>Available since 2.14.0.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the dictionary.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCtxtGetDocument"></a>xmlCtxtGetDocument ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	xmlCtxtGetDocument	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
+</pre>
+<p>Available since 2.14.0.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the parsed document or NULL if a fatal error occurred when parsing. The document must be freed by the caller. Resets the context's document to NULL.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCtxtGetOptions"></a>xmlCtxtGetOptions ()</h3>
+<pre class="programlisting">int	xmlCtxtGetOptions		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
+</pre>
+<p>Get the current options of the parser context. Available since 2.14.0.</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 XML parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the current options set in the parser context, or -1 if ctxt is NULL.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCtxtGetPrivate"></a>xmlCtxtGetPrivate ()</h3>
+<pre class="programlisting">void *	xmlCtxtGetPrivate		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
+</pre>
+<p>Available since 2.14.0.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the private application data.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCtxtGetSaxHandler"></a>xmlCtxtGetSaxHandler ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlSAXHandler">xmlSAXHandler</a> *	xmlCtxtGetSaxHandler	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
+</pre>
+<p>Available since 2.14.0.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the SAX handler struct. This is not a copy and must not be freed. Handlers can be updated.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCtxtGetStandalone"></a>xmlCtxtGetStandalone ()</h3>
+<pre class="programlisting">int	xmlCtxtGetStandalone		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
+</pre>
+<p>Available since 2.14.0.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the value from the standalone document declaration.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCtxtGetStatus"></a>xmlCtxtGetStatus ()</h3>
+<pre class="programlisting"><a href="libxml2-parser.html#xmlParserStatus">xmlParserStatus</a>	xmlCtxtGetStatus	(<a href="libxml2-tree.html#xmlParserCtxt">xmlParserCtxt</a> * ctxt)<br>
+</pre>
+<p>Get well-formedness and validation status after parsing. Also reports catastrophic errors which are not related to parsing like out-of-memory, I/O or other errors. Available since 2.14.0.</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 XML parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a bitmask of XML_STATUS_* flags ORed together.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCtxtGetValidCtxt"></a>xmlCtxtGetValidCtxt ()</h3>
+<pre class="programlisting"><a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a>	xmlCtxtGetValidCtxt	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
+</pre>
+<p>Available since 2.14.0.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the validation context.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCtxtGetVersion"></a>xmlCtxtGetVersion ()</h3>
+<pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlCtxtGetVersion	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
+</pre>
+<p>Available since 2.14.0.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the version from the XML declaration.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCtxtIsHtml"></a>xmlCtxtIsHtml ()</h3>
+<pre class="programlisting">int	xmlCtxtIsHtml			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
+</pre>
+<p>Available since 2.14.0.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if this is a HTML parser context, 0 otherwise.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCtxtIsStopped"></a>xmlCtxtIsStopped ()</h3>
+<pre class="programlisting">int	xmlCtxtIsStopped		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
+</pre>
+<p>Available since 2.14.0.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if the parser is stopped, 0 otherwise.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCtxtParseContent"></a>xmlCtxtParseContent ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlCtxtParseContent	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> input, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 int hasTextDecl)<br>
+</pre>
+<p>Parse a well-balanced chunk of XML matching the 'content' production. Namespaces in scope of @node and entities of @node's document are recognized. When validating, the DTD of @node's document is used. Always consumes @input even in error case. Available since 2.14.0.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>input</tt></i>:</span></td>
+<td>parser input</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>node</tt></i>:</span></td>
+<td>target node or document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>hasTextDecl</tt></i>:</span></td>
+<td>whether to parse text declaration</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a node list or NULL in case of error.</td>
 </tr>
 </tbody>
 </table></div>
@@ -1478,6 +1868,39 @@
 <hr>
 <div class="refsect2" lang="en">
 <h3>
+<a name="xmlCtxtParseDtd"></a>xmlCtxtParseDtd ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a>	xmlCtxtParseDtd		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> input, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * publicId, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * systemId)<br>
+</pre>
+<p>Parse a DTD. Option <a href="libxml2-parser.html#XML_PARSE_DTDLOAD">XML_PARSE_DTDLOAD</a> should be enabled in the parser context to make external entities work. Availabe since 2.14.0.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>a parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>input</tt></i>:</span></td>
+<td>a parser input</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>publicId</tt></i>:</span></td>
+<td>public ID of the DTD (optional)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>systemId</tt></i>:</span></td>
+<td>system ID of the DTD (optional)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the resulting <a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a> or NULL in case of error. @input will be freed by the function in any case.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
 <a name="xmlCtxtReadDoc"></a>xmlCtxtReadDoc ()</h3>
 <pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	xmlCtxtReadDoc		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br>					 const char * URL, <br>					 const char * encoding, <br>					 int options)<br>
 </pre>
@@ -1557,7 +1980,7 @@
 <a name="xmlCtxtReadFile"></a>xmlCtxtReadFile ()</h3>
 <pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	xmlCtxtReadFile		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 const char * filename, <br>					 const char * encoding, <br>					 int options)<br>
 </pre>
-<p>Parse an XML file from the filesystem, the network or a user-defined resource loader. See xmlNewInputURL and <a href="libxml2-parser.html#xmlCtxtUseOptions">xmlCtxtUseOptions</a> for details.</p>
+<p>Parse an XML file from the filesystem, the network or a user-defined resource loader. This function always enables the <a href="libxml2-parser.html#XML_PARSE_UNZIP">XML_PARSE_UNZIP</a> option for backward compatibility. This feature is potentially insecure and might be removed from later versions.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -1728,6 +2151,73 @@
 <hr>
 <div class="refsect2" lang="en">
 <h3>
+<a name="xmlCtxtSetCatalogs"></a>xmlCtxtSetCatalogs ()</h3>
+<pre class="programlisting">void	xmlCtxtSetCatalogs		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 void * catalogs)<br>
+</pre>
+<p>Available since 2.14.0. Set the local catalogs.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>catalogs</tt></i>:</span></td>
+<td>catalogs pointer</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCtxtSetCharEncConvImpl"></a>xmlCtxtSetCharEncConvImpl ()</h3>
+<pre class="programlisting">void	xmlCtxtSetCharEncConvImpl	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 <a href="libxml2-encoding.html#xmlCharEncConvImpl">xmlCharEncConvImpl</a> impl, <br>					 void * vctxt)<br>
+</pre>
+<p>Installs a custom implementation to convert between character encodings. This bypasses legacy feature like global encoding handlers or encoding aliases. Available since 2.14.0.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>impl</tt></i>:</span></td>
+<td>callback</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>vctxt</tt></i>:</span></td>
+<td>user data</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCtxtSetDict"></a>xmlCtxtSetDict ()</h3>
+<pre class="programlisting">void	xmlCtxtSetDict			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 <a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> dict)<br>
+</pre>
+<p>Available since 2.14.0. Set the dictionary. This should only be done immediately after creating 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>parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>dict</tt></i>:</span></td>
+<td>dictionary</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
 <a name="xmlCtxtSetErrorHandler"></a>xmlCtxtSetErrorHandler ()</h3>
 <pre class="programlisting">void	xmlCtxtSetErrorHandler		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 <a href="libxml2-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a> handler, <br>					 void * data)<br>
 </pre>
@@ -1777,7 +2267,7 @@
 <a name="xmlCtxtSetOptions"></a>xmlCtxtSetOptions ()</h3>
 <pre class="programlisting">int	xmlCtxtSetOptions		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 int options)<br>
 </pre>
-<p>Applies the options to the parser context. Unset options are cleared. Available since 2.13.0. With older versions, you can use <a href="libxml2-parser.html#xmlCtxtUseOptions">xmlCtxtUseOptions</a>. <a href="libxml2-parser.html#XML_PARSE_RECOVER">XML_PARSE_RECOVER</a> Enable "recovery" mode which allows non-wellformed documents. How this mode behaves exactly is unspecified and may change without further notice. Use of this feature is DISCOURAGED. <a href="libxml2-parser.html#XML_PARSE_NOENT">XML_PARSE_NOENT</a> Despite the confusing name, this option enables substitution of entities. The resulting tree won't contain any entity <a href="libxml2-SAX.html#reference">reference</a> nodes. This option also enables loading of external entities (both general and parameter entities) which is dangerous. If you process untrusted data, it's recommended to set the <a href="libxml2-parser.html#XML_PARSE_NO_XXE">XML_PARSE_NO_XXE</a> option to disable loading of external entities. <a href="libxml2-parser.html#XML_PARSE_DTDLOAD">XML_PARSE_DTDLOAD</a> Enables loading of an external DTD and the loading and substitution of external parameter entities. Has no effect if <a href="libxml2-parser.html#XML_PARSE_NO_XXE">XML_PARSE_NO_XXE</a> is set. <a href="libxml2-parser.html#XML_PARSE_DTDATTR">XML_PARSE_DTDATTR</a> Adds default attributes from the DTD to the result document. Implies XML_PARSE_DTDLOAD, but loading of external content can be disabled with <a href="libxml2-parser.html#XML_PARSE_NO_XXE">XML_PARSE_NO_XXE</a>. <a href="libxml2-parser.html#XML_PARSE_DTDVALID">XML_PARSE_DTDVALID</a> This option enables DTD validation which requires to load external DTDs and external entities (both general and parameter entities) unless <a href="libxml2-parser.html#XML_PARSE_NO_XXE">XML_PARSE_NO_XXE</a> was set. <a href="libxml2-parser.html#XML_PARSE_NO_XXE">XML_PARSE_NO_XXE</a> Disables loading of external DTDs or entities. <a href="libxml2-parser.html#XML_PARSE_NOERROR">XML_PARSE_NOERROR</a> Disable error and warning reports to the error handlers. Errors are still accessible with <a href="libxml2-xmlerror.html#xmlCtxtGetLastError">xmlCtxtGetLastError</a>. <a href="libxml2-parser.html#XML_PARSE_NOWARNING">XML_PARSE_NOWARNING</a> Disable warning reports. <a href="libxml2-parser.html#XML_PARSE_PEDANTIC">XML_PARSE_PEDANTIC</a> Enable some pedantic warnings. <a href="libxml2-parser.html#XML_PARSE_NOBLANKS">XML_PARSE_NOBLANKS</a> Remove some text nodes containing only whitespace from the result document. Which nodes are removed depends on DTD element declarations or a conservative heuristic. The reindenting feature of the serialization code relies on this option to be set when parsing. Use of this option is DISCOURAGED. <a href="libxml2-parser.html#XML_PARSE_SAX1">XML_PARSE_SAX1</a> Always invoke the deprecated SAX1 <a href="libxml2-SAX.html#startElement">startElement</a> and <a href="libxml2-SAX.html#endElement">endElement</a> handlers. This option is DEPRECATED. <a href="libxml2-parser.html#XML_PARSE_NONET">XML_PARSE_NONET</a> Disable network access with the builtin HTTP and FTP clients. <a href="libxml2-parser.html#XML_PARSE_NODICT">XML_PARSE_NODICT</a> Create a document without interned strings, making all strings separate memory allocations. <a href="libxml2-parser.html#XML_PARSE_NSCLEAN">XML_PARSE_NSCLEAN</a> Remove redundant namespace declarations from the result document. <a href="libxml2-parser.html#XML_PARSE_NOCDATA">XML_PARSE_NOCDATA</a> Output normal text nodes instead of CDATA nodes. <a href="libxml2-parser.html#XML_PARSE_COMPACT">XML_PARSE_COMPACT</a> Store small strings directly in the node struct to save memory. <a href="libxml2-parser.html#XML_PARSE_OLD10">XML_PARSE_OLD10</a> Use old Name productions from before XML 1.0 Fifth Edition. This options is DEPRECATED. <a href="libxml2-parser.html#XML_PARSE_HUGE">XML_PARSE_HUGE</a> Relax some internal limits. Maximum size of text nodes, tags, comments, processing instructions, CDATA sections, entity values normal: 10M huge: 1B Maximum size of names, system literals, pubid literals normal: 50K huge: 10M Maximum nesting depth of elements normal: 256 huge: 2048 Maximum nesting depth of entities normal: 20 huge: 40 <a href="libxml2-parser.html#XML_PARSE_OLDSAX">XML_PARSE_OLDSAX</a> Enable an unspecified legacy mode for SAX parsers. This option is DEPRECATED. <a href="libxml2-parser.html#XML_PARSE_IGNORE_ENC">XML_PARSE_IGNORE_ENC</a> Ignore the encoding in the XML declaration. This option is mostly unneeded these days. The only effect is to enforce UTF-8 decoding of ASCII-like data. <a href="libxml2-parser.html#XML_PARSE_BIG_LINES">XML_PARSE_BIG_LINES</a> Enable reporting of line numbers larger than 65535.</p>
+<p>Applies the options to the parser context. Unset options are cleared. Available since 2.13.0. With older versions, you can use <a href="libxml2-parser.html#xmlCtxtUseOptions">xmlCtxtUseOptions</a>. <a href="libxml2-parser.html#XML_PARSE_RECOVER">XML_PARSE_RECOVER</a> Enable "recovery" mode which allows non-wellformed documents. How this mode behaves exactly is unspecified and may change without further notice. Use of this feature is DISCOURAGED. Not supported by the push parser. <a href="libxml2-parser.html#XML_PARSE_NOENT">XML_PARSE_NOENT</a> Despite the confusing name, this option enables substitution of entities. The resulting tree won't contain any entity reference nodes. This option also enables loading of external entities (both general and parameter entities) which is dangerous. If you process untrusted data, it's recommended to set the <a href="libxml2-parser.html#XML_PARSE_NO_XXE">XML_PARSE_NO_XXE</a> option to disable loading of external entities. <a href="libxml2-parser.html#XML_PARSE_DTDLOAD">XML_PARSE_DTDLOAD</a> Enables loading of an external DTD and the loading and substitution of external parameter entities. Has no effect if <a href="libxml2-parser.html#XML_PARSE_NO_XXE">XML_PARSE_NO_XXE</a> is set. <a href="libxml2-parser.html#XML_PARSE_DTDATTR">XML_PARSE_DTDATTR</a> Adds default attributes from the DTD to the result document. Implies XML_PARSE_DTDLOAD, but loading of external content can be disabled with <a href="libxml2-parser.html#XML_PARSE_NO_XXE">XML_PARSE_NO_XXE</a>. <a href="libxml2-parser.html#XML_PARSE_DTDVALID">XML_PARSE_DTDVALID</a> This option enables DTD validation which requires to load external DTDs and external entities (both general and parameter entities) unless <a href="libxml2-parser.html#XML_PARSE_NO_XXE">XML_PARSE_NO_XXE</a> was set. <a href="libxml2-parser.html#XML_PARSE_NO_XXE">XML_PARSE_NO_XXE</a> Disables loading of external DTDs or entities. Available since 2.13.0. <a href="libxml2-parser.html#XML_PARSE_NOERROR">XML_PARSE_NOERROR</a> Disable error and warning reports to the error handlers. Errors are still accessible with <a href="libxml2-xmlerror.html#xmlCtxtGetLastError">xmlCtxtGetLastError</a>. <a href="libxml2-parser.html#XML_PARSE_NOWARNING">XML_PARSE_NOWARNING</a> Disable warning reports. <a href="libxml2-parser.html#XML_PARSE_PEDANTIC">XML_PARSE_PEDANTIC</a> Enable some pedantic warnings. <a href="libxml2-parser.html#XML_PARSE_NOBLANKS">XML_PARSE_NOBLANKS</a> Remove some whitespace from the result document. Where to remove whitespace depends on DTD element declarations or a broken heuristic with unfixable bugs. Use of this option is DISCOURAGED. Not supported by the push parser. <a href="libxml2-parser.html#XML_PARSE_SAX1">XML_PARSE_SAX1</a> Always invoke the deprecated SAX1 startElement and endElement handlers. This option is DEPRECATED. <a href="libxml2-parser.html#XML_PARSE_NONET">XML_PARSE_NONET</a> Disable network access with the builtin HTTP client. <a href="libxml2-parser.html#XML_PARSE_NODICT">XML_PARSE_NODICT</a> Create a document without interned strings, making all strings separate memory allocations. <a href="libxml2-parser.html#XML_PARSE_NSCLEAN">XML_PARSE_NSCLEAN</a> Remove redundant namespace declarations from the result document. <a href="libxml2-parser.html#XML_PARSE_NOCDATA">XML_PARSE_NOCDATA</a> Output normal text nodes instead of CDATA nodes. <a href="libxml2-parser.html#XML_PARSE_COMPACT">XML_PARSE_COMPACT</a> Store small strings directly in the node struct to save memory. <a href="libxml2-parser.html#XML_PARSE_OLD10">XML_PARSE_OLD10</a> Use old Name productions from before XML 1.0 Fifth Edition. This options is DEPRECATED. <a href="libxml2-parser.html#XML_PARSE_HUGE">XML_PARSE_HUGE</a> Relax some internal limits. Maximum size of text nodes, tags, comments, processing instructions, CDATA sections, entity values normal: 10M huge: 1B Maximum size of names, system literals, pubid literals normal: 50K huge: 10M Maximum nesting depth of elements normal: 256 huge: 2048 Maximum nesting depth of entities normal: 20 huge: 40 <a href="libxml2-parser.html#XML_PARSE_OLDSAX">XML_PARSE_OLDSAX</a> Enable an unspecified legacy mode for SAX parsers. This option is DEPRECATED. <a href="libxml2-parser.html#XML_PARSE_IGNORE_ENC">XML_PARSE_IGNORE_ENC</a> Ignore the encoding in the XML declaration. This option is mostly unneeded these days. The only effect is to enforce UTF-8 decoding of ASCII-like data. <a href="libxml2-parser.html#XML_PARSE_BIG_LINES">XML_PARSE_BIG_LINES</a> Enable reporting of line numbers larger than 65535. <a href="libxml2-parser.html#XML_PARSE_UNZIP">XML_PARSE_UNZIP</a> Enable input decompression. Setting this option is discouraged to avoid zip bombs. Available since 2.14.0. <a href="libxml2-parser.html#XML_PARSE_NO_SYS_CATALOG">XML_PARSE_NO_SYS_CATALOG</a> Disables the global system XML catalog. Available since 2.14.0. <a href="libxml2-parser.html#XML_PARSE_CATALOG_PI">XML_PARSE_CATALOG_PI</a> Enable XML catalog processing instructions. Available since 2.14.0.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -1799,6 +2289,77 @@
 <hr>
 <div class="refsect2" lang="en">
 <h3>
+<a name="xmlCtxtSetPrivate"></a>xmlCtxtSetPrivate ()</h3>
+<pre class="programlisting">void	xmlCtxtSetPrivate		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 void * priv)<br>
+</pre>
+<p>Available since 2.14.0. Set the private application data.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>priv</tt></i>:</span></td>
+<td>private application data</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCtxtSetResourceLoader"></a>xmlCtxtSetResourceLoader ()</h3>
+<pre class="programlisting">void	xmlCtxtSetResourceLoader	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 <a href="libxml2-parser.html#xmlResourceLoader">xmlResourceLoader</a> loader, <br>					 void * vctxt)<br>
+</pre>
+<p>Installs a custom callback to load documents, DTDs or external entities. Available since 2.14.0.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>loader</tt></i>:</span></td>
+<td>callback</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>vctxt</tt></i>:</span></td>
+<td>user data</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCtxtSetSaxHandler"></a>xmlCtxtSetSaxHandler ()</h3>
+<pre class="programlisting">int	xmlCtxtSetSaxHandler		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 const <a href="libxml2-tree.html#xmlSAXHandler">xmlSAXHandler</a> * sax)<br>
+</pre>
+<p>Available since 2.14.0. Set the SAX handler struct to a copy of @sax.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>sax</tt></i>:</span></td>
+<td>SAX handler</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 on success or -1 if arguments are invalid or a memory allocation failed.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
 <a name="xmlCtxtUseOptions"></a>xmlCtxtUseOptions ()</h3>
 <pre class="programlisting">int	xmlCtxtUseOptions		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 int options)<br>
 </pre>
@@ -1825,6 +2386,60 @@
 <hr>
 <div class="refsect2" lang="en">
 <h3>
+<a name="xmlCtxtValidateDocument"></a>xmlCtxtValidateDocument ()</h3>
+<pre class="programlisting">int	xmlCtxtValidateDocument		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br>
+</pre>
+<p>Validate a document. Like <a href="libxml2-valid.html#xmlValidateDocument">xmlValidateDocument</a> but uses the parser context's error handler. Option <a href="libxml2-parser.html#XML_PARSE_DTDLOAD">XML_PARSE_DTDLOAD</a> should be enabled in the parser context to make external entities work. Availabe since 2.14.0.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>a parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>doc</tt></i>:</span></td>
+<td>a document instance</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if valid or 0 otherwise.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCtxtValidateDtd"></a>xmlCtxtValidateDtd ()</h3>
+<pre class="programlisting">int	xmlCtxtValidateDtd		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd)<br>
+</pre>
+<p>Validate a document against a DTD. Like <a href="libxml2-valid.html#xmlValidateDtd">xmlValidateDtd</a> but uses the parser context's error handler. Availabe since 2.14.0.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>a parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>doc</tt></i>:</span></td>
+<td>a document instance</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>dtd</tt></i>:</span></td>
+<td>a dtd instance</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if valid or 0 otherwise.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
 <a name="xmlFreeParserCtxt"></a>xmlFreeParserCtxt ()</h3>
 <pre class="programlisting">void	xmlFreeParserCtxt		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
 </pre>
@@ -1843,7 +2458,7 @@
 <a name="xmlGetExternalEntityLoader"></a>xmlGetExternalEntityLoader ()</h3>
 <pre class="programlisting"><a href="libxml2-parser.html#xmlExternalEntityLoader">xmlExternalEntityLoader</a>	xmlGetExternalEntityLoader	(void)<br>
 </pre>
-<p>Get the default external entity resolver function for the application</p>
+<p>DEPRECATED: See <a href="libxml2-parser.html#xmlSetExternalEntityLoader">xmlSetExternalEntityLoader</a>. Get the default external entity resolver function for the application</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody><tr>
@@ -1855,60 +2470,6 @@
 <hr>
 <div class="refsect2" lang="en">
 <h3>
-<a name="xmlGetFeature"></a>xmlGetFeature ()</h3>
-<pre class="programlisting">int	xmlGetFeature			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 const char * name, <br>					 void * result)<br>
-</pre>
-<p>Read the current value of one feature of this parser instance</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 XML/HTML parser context</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>name</tt></i>:</span></td>
-<td>the feature name</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>result</tt></i>:</span></td>
-<td>location to store the result</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td>-1 in case or error, 0 otherwise</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
-<a name="xmlGetFeaturesList"></a>xmlGetFeaturesList ()</h3>
-<pre class="programlisting">int	xmlGetFeaturesList		(int * len, <br>					 const char ** result)<br>
-</pre>
-<p>Copy at most *@len feature names into the @result array</p>
-<div class="variablelist"><table border="0">
-<col align="left">
-<tbody>
-<tr>
-<td><span class="term"><i><tt>len</tt></i>:</span></td>
-<td>the length of the features name array (input/output)</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>result</tt></i>:</span></td>
-<td>an array of string to be filled with the features name.</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td>-1 in case or error, or the total number of features, len is updated with the number of strings copied, strings must not be deallocated</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
 <a name="xmlHasFeature"></a>xmlHasFeature ()</h3>
 <pre class="programlisting">int	xmlHasFeature			(<a href="libxml2-parser.html#xmlFeature">xmlFeature</a> feature)<br>
 </pre>
@@ -1933,7 +2494,7 @@
 <a name="xmlIOParseDTD"></a>xmlIOParseDTD ()</h3>
 <pre class="programlisting"><a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a>	xmlIOParseDTD		(<a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br>					 <a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> input, <br>					 <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc)<br>
 </pre>
-<p>Load and parse a DTD</p>
+<p>DEPRECATED: Use <a href="libxml2-parser.html#xmlCtxtParseDtd">xmlCtxtParseDtd</a>. Load and parse a DTD</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -1985,7 +2546,7 @@
 <a name="xmlInitParser"></a>xmlInitParser ()</h3>
 <pre class="programlisting">void	xmlInitParser			(void)<br>
 </pre>
-<p>Initialization function for the XML parser. Call once from the main thread before using the library in multithreaded programs.</p>
+<p>Initialization function for the XML parser. For older versions, it's recommended to call this function once from the main thread before using the library in multithreaded programs. Since 2.14.0, there's no distinction between threads. It should be unnecessary to call this function.</p>
 </div>
 <hr>
 <div class="refsect2" lang="en">
@@ -2011,6 +2572,31 @@
 <hr>
 <div class="refsect2" lang="en">
 <h3>
+<a name="xmlInputSetEncodingHandler"></a>xmlInputSetEncodingHandler ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlerror.html#xmlParserErrors">xmlParserErrors</a>	xmlInputSetEncodingHandler	(<a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> input, <br>						 <a href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> handler)<br>
+</pre>
+<p>Use encoding handler to decode input data. Closes the handler on error.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>input</tt></i>:</span></td>
+<td>the input stream</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>handler</tt></i>:</span></td>
+<td>the encoding handler</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>an <a href="libxml2-xmlerror.html#xmlParserErrors">xmlParserErrors</a> code.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
 <a name="xmlKeepBlanksDefault"></a>xmlKeepBlanksDefault ()</h3>
 <pre class="programlisting">int	xmlKeepBlanksDefault		(int val)<br>
 </pre>
@@ -2056,7 +2642,7 @@
 <a name="xmlLoadExternalEntity"></a>xmlLoadExternalEntity ()</h3>
 <pre class="programlisting"><a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>	xmlLoadExternalEntity	(const char * URL, <br>						 const char * ID, <br>						 <a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
 </pre>
-<p></p>
+<p>@URL is a filename or URL. If if contains the substring "://", it is assumed to be a Legacy Extended IRI. Otherwise, it is treated as a filesystem path. @ID is an optional XML public ID, typically from a doctype declaration. It is used for catalog lookups. If catalog lookup is enabled (default is yes) and URL or ID are found in system or local XML catalogs, URL is replaced with the result. Then the following resource loaders will be called if they were registered (in order of precedence): - the resource loader set with <a href="libxml2-parser.html#xmlCtxtSetResourceLoader">xmlCtxtSetResourceLoader</a> - the global external entity loader set with <a href="libxml2-parser.html#xmlSetExternalEntityLoader">xmlSetExternalEntityLoader</a> (without catalog resolution, deprecated) - the per-thread <a href="libxml2-xmlIO.html#xmlParserInputBufferCreateFilenameFunc">xmlParserInputBufferCreateFilenameFunc</a> set with <a href="libxml2-xmlIO.html#xmlParserInputBufferCreateFilenameDefault">xmlParserInputBufferCreateFilenameDefault</a> (deprecated) - the default loader which will return - the result from a matching global input callback set with <a href="libxml2-xmlIO.html#xmlRegisterInputCallbacks">xmlRegisterInputCallbacks</a> (deprecated) - a HTTP resource if support is compiled in. - a file opened from the filesystem, with automatic detection of compressed files if support is compiled in.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -2111,6 +2697,163 @@
 <hr>
 <div class="refsect2" lang="en">
 <h3>
+<a name="xmlNewInputFromFd"></a>xmlNewInputFromFd ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>	xmlNewInputFromFd	(const char * url, <br>						 int fd, <br>						 <a href="libxml2-parser.html#xmlParserInputFlags">xmlParserInputFlags</a> flags)<br>
+</pre>
+<p>Creates a new parser input to read from a zero-terminated string. @url is used as base to resolve external entities and for error reporting. @fd is closed after parsing has finished. Supported @flags are <a href="libxml2-parser.html#XML_INPUT_UNZIP">XML_INPUT_UNZIP</a> to decompress data automatically. This feature is deprecated and will be removed in a future release. Available since 2.14.0.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>url</tt></i>:</span></td>
+<td>base URL (optional)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>fd</tt></i>:</span></td>
+<td>file descriptor</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>flags</tt></i>:</span></td>
+<td>input flags</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a new parser input or NULL if a memory allocation failed.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNewInputFromIO"></a>xmlNewInputFromIO ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>	xmlNewInputFromIO	(const char * url, <br>						 <a href="libxml2-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a> ioRead, <br>						 <a href="libxml2-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a> ioClose, <br>						 void * ioCtxt, <br>						 <a href="libxml2-parser.html#xmlParserInputFlags">xmlParserInputFlags</a> flags)<br>
+</pre>
+<p>Creates a new parser input to read from input callbacks and cintext. @url is used as base to resolve external entities and for error reporting. @ioRead is called to read new data into a provided buffer. It must return the number of bytes written into the buffer ot a negative <a href="libxml2-xmlerror.html#xmlParserErrors">xmlParserErrors</a> code on failure. @ioClose is called after parsing has finished. @ioCtxt is an opaque pointer passed to the callbacks. Available since 2.14.0.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>url</tt></i>:</span></td>
+<td>base URL (optional)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ioRead</tt></i>:</span></td>
+<td>read callback</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ioClose</tt></i>:</span></td>
+<td>close callback (optional)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ioCtxt</tt></i>:</span></td>
+<td>IO context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>flags</tt></i>:</span></td>
+<td>unused, pass 0</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a new parser input or NULL if a memory allocation failed.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNewInputFromMemory"></a>xmlNewInputFromMemory ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>	xmlNewInputFromMemory	(const char * url, <br>						 const void * mem, <br>						 size_t size, <br>						 <a href="libxml2-parser.html#xmlParserInputFlags">xmlParserInputFlags</a> flags)<br>
+</pre>
+<p>Creates a new parser input to read from a memory area. @url is used as base to resolve external entities and for error reporting. If the <a href="libxml2-parser.html#XML_INPUT_BUF_STATIC">XML_INPUT_BUF_STATIC</a> flag is set, the memory area must stay unchanged until parsing has finished. This can avoid temporary copies. If the <a href="libxml2-parser.html#XML_INPUT_BUF_ZERO_TERMINATED">XML_INPUT_BUF_ZERO_TERMINATED</a> flag is set, the memory area must contain a zero byte after the buffer at position @size. This can avoid temporary copies. Available since 2.14.0.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>url</tt></i>:</span></td>
+<td>base URL (optional)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>mem</tt></i>:</span></td>
+<td>pointer to char array</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>size</tt></i>:</span></td>
+<td>size of array</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>flags</tt></i>:</span></td>
+<td>optimization hints</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a new parser input or NULL if a memory allocation failed.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNewInputFromString"></a>xmlNewInputFromString ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>	xmlNewInputFromString	(const char * url, <br>						 const char * str, <br>						 <a href="libxml2-parser.html#xmlParserInputFlags">xmlParserInputFlags</a> flags)<br>
+</pre>
+<p>Creates a new parser input to read from a zero-terminated string. @url is used as base to resolve external entities and for error reporting. If the <a href="libxml2-parser.html#XML_INPUT_BUF_STATIC">XML_INPUT_BUF_STATIC</a> flag is set, the string must stay unchanged until parsing has finished. This can avoid temporary copies. Available since 2.14.0.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>url</tt></i>:</span></td>
+<td>base URL (optional)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>str</tt></i>:</span></td>
+<td>zero-terminated string</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>flags</tt></i>:</span></td>
+<td>optimization hints</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a new parser input or NULL if a memory allocation failed.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNewInputFromUrl"></a>xmlNewInputFromUrl ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlerror.html#xmlParserErrors">xmlParserErrors</a>	xmlNewInputFromUrl	(const char * filename, <br>					 <a href="libxml2-parser.html#xmlParserInputFlags">xmlParserInputFlags</a> flags, <br>					 <a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> * out)<br>
+</pre>
+<p>Create a new input stream based on a file or a URL. The flag <a href="libxml2-parser.html#XML_INPUT_UNZIP">XML_INPUT_UNZIP</a> allows decompression. The flag <a href="libxml2-parser.html#XML_INPUT_NETWORK">XML_INPUT_NETWORK</a> allows network access. The following resource loaders will be called if they were registered (in order of precedence): - the per-thread <a href="libxml2-xmlIO.html#xmlParserInputBufferCreateFilenameFunc">xmlParserInputBufferCreateFilenameFunc</a> set with <a href="libxml2-xmlIO.html#xmlParserInputBufferCreateFilenameDefault">xmlParserInputBufferCreateFilenameDefault</a> (deprecated) - the default loader which will return - the result from a matching global input callback set with <a href="libxml2-xmlIO.html#xmlRegisterInputCallbacks">xmlRegisterInputCallbacks</a> (deprecated) - a HTTP resource if support is compiled in. - a file opened from the filesystem, with automatic detection of compressed files if support is compiled in. Available since 2.14.0.</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 to use as entity</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>flags</tt></i>:</span></td>
+<td>XML_INPUT flags</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>out</tt></i>:</span></td>
+<td>pointer to new parser input</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>an <a href="libxml2-xmlerror.html#xmlParserErrors">xmlParserErrors</a> code.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
 <a name="xmlNewParserCtxt"></a>xmlNewParserCtxt ()</h3>
 <pre class="programlisting"><a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a>	xmlNewParserCtxt	(void)<br>
 </pre>
@@ -2240,7 +2983,7 @@
 <a name="xmlParseChunk"></a>xmlParseChunk ()</h3>
 <pre class="programlisting">int	xmlParseChunk			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 const char * chunk, <br>					 int size, <br>					 int terminate)<br>
 </pre>
-<p>Parse a chunk of memory in push parser mode. Assumes that the parser context was initialized with <a href="libxml2-parser.html#xmlCreatePushParserCtxt">xmlCreatePushParserCtxt</a>. The last chunk, which will often be empty, must be marked with the @terminate flag. With the default SAX callbacks, the resulting document will be available in ctxt-&gt;myDoc. This pointer will not be freed by the library. If the document isn't well-formed, ctxt-&gt;myDoc is set to NULL. The push parser doesn't support recovery mode.</p>
+<p>Parse a chunk of memory in push parser mode. Assumes that the parser context was initialized with <a href="libxml2-parser.html#xmlCreatePushParserCtxt">xmlCreatePushParserCtxt</a>. The last chunk, which will often be empty, must be marked with the @terminate flag. With the default SAX callbacks, the resulting document will be available in ctxt-&gt;myDoc. This pointer will not be freed when calling <a href="libxml2-parser.html#xmlFreeParserCtxt">xmlFreeParserCtxt</a> and must be freed by the caller. If the document isn't well-formed, it will still be returned in ctxt-&gt;myDoc. As an exception, <a href="libxml2-parser.html#xmlCtxtResetPush">xmlCtxtResetPush</a> will free the document in ctxt-&gt;myDoc. So ctxt-&gt;myDoc should be set to NULL after extracting the document.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -2395,7 +3138,7 @@
 <a name="xmlParseExtParsedEnt"></a>xmlParseExtParsedEnt ()</h3>
 <pre class="programlisting">int	xmlParseExtParsedEnt		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
 </pre>
-<p>parse a general parsed entity An external general parsed entity is well-formed if it matches the production labeled extParsedEnt. [78] extParsedEnt ::= TextDecl? content</p>
+<p>DEPRECATED: Internal function, don't use. parse a general parsed entity An external general parsed entity is well-formed if it matches the production labeled extParsedEnt. [78] extParsedEnt ::= TextDecl? content</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -2480,9 +3223,9 @@
 <div class="refsect2" lang="en">
 <h3>
 <a name="xmlParseInNodeContext"></a>xmlParseInNodeContext ()</h3>
-<pre class="programlisting"><a href="libxml2-xmlerror.html#xmlParserErrors">xmlParserErrors</a>	xmlParseInNodeContext	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 const char * data, <br>					 int datalen, <br>					 int options, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> * lst)<br>
+<pre class="programlisting"><a href="libxml2-xmlerror.html#xmlParserErrors">xmlParserErrors</a>	xmlParseInNodeContext	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 const char * data, <br>					 int datalen, <br>					 int options, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> * listOut)<br>
 </pre>
-<p>Parse a well-balanced chunk of an XML document within the context (DTD, namespaces, etc ...) of the given node. The allowed sequence for the data is a Well Balanced Chunk defined by the content production in the XML grammar: [43] content ::= (element | CharData | Reference | CDSect | PI | Comment)*</p>
+<p>Parse a well-balanced chunk of an XML document within the context (DTD, namespaces, etc ...) of the given node. The allowed sequence for the data is a Well Balanced Chunk defined by the content production in the XML grammar: [43] content ::= (element | CharData | Reference | CDSect | PI | Comment)* This function assumes the encoding of @node's document which is typically not what you want. A better alternative is <a href="libxml2-parser.html#xmlCtxtParseContent">xmlCtxtParseContent</a>.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -2504,7 +3247,7 @@
 </td>
 </tr>
 <tr>
-<td><span class="term"><i><tt>lst</tt></i>:</span></td>
+<td><span class="term"><i><tt>listOut</tt></i>:</span></td>
 <td>the return value for the set of parsed nodes</td>
 </tr>
 <tr>
@@ -2756,7 +3499,7 @@
 <a name="xmlReadFile"></a>xmlReadFile ()</h3>
 <pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	xmlReadFile		(const char * filename, <br>					 const char * encoding, <br>					 int options)<br>
 </pre>
-<p>Convenience function to parse an XML file from the filesystem, the network or a global user-define resource loader. See <a href="libxml2-parser.html#xmlCtxtReadFile">xmlCtxtReadFile</a> for details.</p>
+<p>Convenience function to parse an XML file from the filesystem, the network or a global user-define resource loader. This function always enables the <a href="libxml2-parser.html#XML_PARSE_UNZIP">XML_PARSE_UNZIP</a> option for backward compatibility. If a "-" filename is passed, it will read from stdin. Both of these features are potentially insecure and might be removed from later versions. See <a href="libxml2-parser.html#xmlCtxtReadFile">xmlCtxtReadFile</a> for details.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -2934,7 +3677,7 @@
 <a name="xmlSAXParseDTD"></a>xmlSAXParseDTD ()</h3>
 <pre class="programlisting"><a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a>	xmlSAXParseDTD		(<a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * SystemID)<br>
 </pre>
-<p>DEPRECATED: Don't use. Load and parse an external subset.</p>
+<p>DEPRECATED: Use <a href="libxml2-parser.html#xmlCtxtParseDtd">xmlCtxtParseDtd</a>. Load and parse an external subset.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -3212,7 +3955,7 @@
 <a name="xmlSetExternalEntityLoader"></a>xmlSetExternalEntityLoader ()</h3>
 <pre class="programlisting">void	xmlSetExternalEntityLoader	(<a href="libxml2-parser.html#xmlExternalEntityLoader">xmlExternalEntityLoader</a> f)<br>
 </pre>
-<p>Changes the defaultexternal entity resolver function for the application</p>
+<p>DEPRECATED: This is a global setting and not thread-safe. Use <a href="libxml2-parser.html#xmlCtxtSetResourceLoader">xmlCtxtSetResourceLoader</a> or similar functions. Changes the default external entity resolver function for the application.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody><tr>
@@ -3224,35 +3967,6 @@
 <hr>
 <div class="refsect2" lang="en">
 <h3>
-<a name="xmlSetFeature"></a>xmlSetFeature ()</h3>
-<pre class="programlisting">int	xmlSetFeature			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 const char * name, <br>					 void * value)<br>
-</pre>
-<p>Change the current value of one feature of this parser instance</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 XML/HTML parser context</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>name</tt></i>:</span></td>
-<td>the feature name</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>value</tt></i>:</span></td>
-<td>pointer to the location of the new value</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td>-1 in case or error, 0 otherwise</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
 <a name="xmlSetupParserForBuffer"></a>xmlSetupParserForBuffer ()</h3>
 <pre class="programlisting">void	xmlSetupParserForBuffer		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * buffer, <br>					 const char * filename)<br>
 </pre>
@@ -3419,27 +4133,6 @@
 <hr>
 <div class="refsect2" lang="en">
 <h3>
-<a name="xmlThrDefParserDebugEntities"></a>xmlThrDefParserDebugEntities ()</h3>
-<pre class="programlisting">int	xmlThrDefParserDebugEntities	(int v)<br>
-</pre>
-<p></p>
-<div class="variablelist"><table border="0">
-<col align="left">
-<tbody>
-<tr>
-<td><span class="term"><i><tt>v</tt></i>:</span></td>
-<td></td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td></td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
 <a name="xmlThrDefPedanticParserDefaultValue"></a>xmlThrDefPedanticParserDefaultValue ()</h3>
 <pre class="programlisting">int	xmlThrDefPedanticParserDefaultValue	(int v)<br>
 </pre>
diff --git a/doc/devhelp/libxml2-parserInternals.html b/doc/devhelp/libxml2-parserInternals.html
index 13adbc8..9c4e6de 100644
--- a/doc/devhelp/libxml2-parserInternals.html
+++ b/doc/devhelp/libxml2-parserInternals.html
@@ -22,8 +22,7 @@
 <p>Author(s): Daniel Veillard </p>
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
-<pre class="synopsis">#define <a href="#INPUT_CHUNK">INPUT_CHUNK</a>;
-#define <a href="#IS_ASCII_DIGIT">IS_ASCII_DIGIT</a>(c);
+<pre class="synopsis">#define <a href="#IS_ASCII_DIGIT">IS_ASCII_DIGIT</a>(c);
 #define <a href="#IS_ASCII_LETTER">IS_ASCII_LETTER</a>(c);
 #define <a href="#IS_BASECHAR">IS_BASECHAR</a>(c);
 #define <a href="#IS_BLANK">IS_BLANK</a>(c);
@@ -52,12 +51,9 @@
 #define <a href="#XML_SUBSTITUTE_NONE">XML_SUBSTITUTE_NONE</a>;
 #define <a href="#XML_SUBSTITUTE_PEREF">XML_SUBSTITUTE_PEREF</a>;
 #define <a href="#XML_SUBSTITUTE_REF">XML_SUBSTITUTE_REF</a>;
-<a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>	<a href="#inputPop">inputPop</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
-int	<a href="#inputPush">inputPush</a>			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> value);
-const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#namePop">namePop</a>			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
-int	<a href="#namePush">namePush</a>			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value);
-<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#nodePop">nodePop</a>			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
-int	<a href="#nodePush">nodePush</a>			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> value);
+#define <a href="#inputPop">inputPop</a>;
+#define <a href="#inputPush">inputPush</a>;
+#define <a href="#xmlParserMaxDepth">xmlParserMaxDepth</a>;
 int	<a href="#xmlCheckLanguageID">xmlCheckLanguageID</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * lang);
 int	<a href="#xmlCopyChar">xmlCopyChar</a>			(int len, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * out, <br>					 int val);
 int	<a href="#xmlCopyCharMultiByte">xmlCopyCharMultiByte</a>		(<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * out, <br>					 int val);
@@ -66,15 +62,11 @@
 <a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a>	<a href="#xmlCreateMemoryParserCtxt">xmlCreateMemoryParserCtxt</a>	(const char * buffer, <br>							 int size);
 <a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a>	<a href="#xmlCreateURLParserCtxt">xmlCreateURLParserCtxt</a>	(const char * filename, <br>						 int options);
 void	<a href="#xmlCtxtErrMemory">xmlCtxtErrMemory</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
+<a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>	<a href="#xmlCtxtPopInput">xmlCtxtPopInput</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
+int	<a href="#xmlCtxtPushInput">xmlCtxtPushInput</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> value);
 int	<a href="#xmlCurrentChar">xmlCurrentChar</a>			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 int * len);
-<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlDecodeEntities">xmlDecodeEntities</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 int len, <br>					 int what, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> end, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> end2, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> end3);
-typedef void <a href="#xmlEntityReferenceFunc">xmlEntityReferenceFunc</a>		(<a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a> ent, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> firstNode, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> lastNode);
 void	<a href="#xmlFreeInputStream">xmlFreeInputStream</a>		(<a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> input);
-void	<a href="#xmlHandleEntity">xmlHandleEntity</a>			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a> entity);
 int	<a href="#xmlIsLetter">xmlIsLetter</a>			(int c);
-<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlNamespaceParseNCName">xmlNamespaceParseNCName</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
-<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlNamespaceParseNSDef">xmlNamespaceParseNSDef</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
-<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlNamespaceParseQName">xmlNamespaceParseQName</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** prefix);
 <a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>	<a href="#xmlNewEntityInputStream">xmlNewEntityInputStream</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>						 <a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a> ent);
 <a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>	<a href="#xmlNewInputFromFile">xmlNewInputFromFile</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>						 const char * filename);
 <a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>	<a href="#xmlNewInputStream">xmlNewInputStream</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
@@ -109,7 +101,6 @@
 void	<a href="#xmlParseMarkupDecl">xmlParseMarkupDecl</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
 void	<a href="#xmlParseMisc">xmlParseMisc</a>			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlParseName">xmlParseName</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
-void	<a href="#xmlParseNamespace">xmlParseNamespace</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlParseNmtoken">xmlParseNmtoken</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
 void	<a href="#xmlParseNotationDecl">xmlParseNotationDecl</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
 <a href="libxml2-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a>	<a href="#xmlParseNotationType">xmlParseNotationType</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
@@ -117,7 +108,6 @@
 void	<a href="#xmlParsePI">xmlParsePI</a>			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlParsePITarget">xmlParsePITarget</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlParsePubidLiteral">xmlParsePubidLiteral</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
-<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlParseQuotedString">xmlParseQuotedString</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
 void	<a href="#xmlParseReference">xmlParseReference</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
 int	<a href="#xmlParseSDDecl">xmlParseSDDecl</a>			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlParseStartTag">xmlParseStartTag</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
@@ -127,12 +117,9 @@
 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlParseVersionNum">xmlParseVersionNum</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
 void	<a href="#xmlParseXMLDecl">xmlParseXMLDecl</a>			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
 void	<a href="#xmlParserHandlePEReference">xmlParserHandlePEReference</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
-void	<a href="#xmlParserHandleReference">xmlParserHandleReference</a>	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
 void	<a href="#xmlParserInputShrink">xmlParserInputShrink</a>		(<a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> in);
 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a>	<a href="#xmlPopInput">xmlPopInput</a>			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
 int	<a href="#xmlPushInput">xmlPushInput</a>			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> input);
-<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlScanName">xmlScanName</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
-void	<a href="#xmlSetEntityReferenceFunc">xmlSetEntityReferenceFunc</a>	(<a href="libxml2-parserInternals.html#xmlEntityReferenceFunc">xmlEntityReferenceFunc</a> func);
 int	<a href="#xmlSkipBlankChars">xmlSkipBlankChars</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlSplitQName">xmlSplitQName</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** prefixOut);
 int	<a href="#xmlStringCurrentChar">xmlStringCurrentChar</a>		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur, <br>					 int * len);
@@ -150,14 +137,6 @@
 <div class="refsect2" lang="en">
 <div class="refsect2" lang="en">
 <h3>
-<a name="INPUT_CHUNK">Macro </a>INPUT_CHUNK</h3>
-<pre class="programlisting">#define <a href="#INPUT_CHUNK">INPUT_CHUNK</a>;
-</pre>
-<p>The parser tries to always have that amount of input ready. One of the point is providing context when reporting errors.</p>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
 <a name="IS_ASCII_DIGIT">Macro </a>IS_ASCII_DIGIT</h3>
 <pre class="programlisting">#define <a href="#IS_ASCII_DIGIT">IS_ASCII_DIGIT</a>(c);
 </pre>
@@ -523,35 +502,26 @@
 <hr>
 <div class="refsect2" lang="en">
 <h3>
-<a name="xmlEntityReferenceFunc"></a>Function type xmlEntityReferenceFunc</h3>
-<pre class="programlisting">void	xmlEntityReferenceFunc		(<a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a> ent, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> firstNode, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> lastNode)<br>
+<a name="inputPop">Macro </a>inputPop</h3>
+<pre class="programlisting">#define <a href="#inputPop">inputPop</a>;
 </pre>
-<p>Callback function used when one needs to be able to track back the provenance of a chunk of nodes inherited from an entity replacement.</p>
-<div class="variablelist"><table border="0">
-<col align="left">
-<tbody>
-<tr>
-<td><span class="term"><i><tt>ent</tt></i>:</span></td>
-<td>the entity</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>firstNode</tt></i>:</span></td>
-<td>the fist node in the chunk</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>lastNode</tt></i>:</span></td>
-<td>the last nod in the chunk</td>
-</tr>
-</tbody>
-</table></div>
+<p></p>
 </div>
 <hr>
 <div class="refsect2" lang="en">
 <h3>
-<a name="xmlParserMaxDepth">Variable </a>xmlParserMaxDepth</h3>
-<pre class="programlisting">const unsigned int xmlParserMaxDepth;
+<a name="inputPush">Macro </a>inputPush</h3>
+<pre class="programlisting">#define <a href="#inputPush">inputPush</a>;
 </pre>
-<p>arbitrary depth limit for the XML documents that we allow to process. This is not a limitation of the parser but a safety boundary feature. It can be disabled with the <a href="libxml2-parser.html#XML_PARSE_HUGE">XML_PARSE_HUGE</a> parser option.</p>
+<p></p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParserMaxDepth">Macro </a>xmlParserMaxDepth</h3>
+<pre class="programlisting">#define <a href="#xmlParserMaxDepth">xmlParserMaxDepth</a>;
+</pre>
+<p></p>
 </div>
 <hr>
 <div class="refsect2" lang="en">
@@ -580,148 +550,10 @@
 <hr>
 <div class="refsect2" lang="en">
 <h3>
-<a name="inputPop"></a>inputPop ()</h3>
-<pre class="programlisting"><a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>	inputPop	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
-</pre>
-<p>Pops the top parser input from the input stack</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 XML parser context</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td>the input just removed</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
-<a name="inputPush"></a>inputPush ()</h3>
-<pre class="programlisting">int	inputPush			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> value)<br>
-</pre>
-<p>Pushes a new parser input on top of the input stack</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 XML parser context</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>value</tt></i>:</span></td>
-<td>the parser input</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td>-1 in case of error, the index in the stack otherwise</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
-<a name="namePop"></a>namePop ()</h3>
-<pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	namePop			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
-</pre>
-<p>DEPRECATED: Internal function, do not use. Pops the top element name from the name stack</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 XML parser context</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td>the name just removed</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
-<a name="namePush"></a>namePush ()</h3>
-<pre class="programlisting">int	namePush			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value)<br>
-</pre>
-<p>DEPRECATED: Internal function, do not use. Pushes a new element name on top of the name stack</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 XML parser context</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>value</tt></i>:</span></td>
-<td>the element name</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td>-1 in case of error, the index in the stack otherwise</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
-<a name="nodePop"></a>nodePop ()</h3>
-<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	nodePop			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
-</pre>
-<p>DEPRECATED: Internal function, do not use. Pops the top element node from the node stack</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 XML parser context</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td>the node just removed</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
-<a name="nodePush"></a>nodePush ()</h3>
-<pre class="programlisting">int	nodePush			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> value)<br>
-</pre>
-<p>DEPRECATED: Internal function, do not use. Pushes a new element node on top of the node stack</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 XML parser context</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>value</tt></i>:</span></td>
-<td>the element node</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td>-1 in case of error, the index in the stack otherwise</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
 <a name="xmlCheckLanguageID"></a>xmlCheckLanguageID ()</h3>
 <pre class="programlisting">int	xmlCheckLanguageID		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * lang)<br>
 </pre>
-<p>DEPRECATED: Internal function, do not use. Checks that the value conforms to the LanguageID production: NOTE: this is somewhat deprecated, those productions were removed from the XML Second edition. [33] LanguageID ::= Langcode ('-' Subcode)* [34] Langcode ::= ISO639Code | IanaCode | UserCode [35] ISO639Code ::= ([a-z] | [A-Z]) ([a-z] | [A-Z]) [36] IanaCode ::= ('i' | 'I') '-' ([a-z] | [A-Z])+ [37] UserCode ::= ('x' | 'X') '-' ([a-z] | [A-Z])+ [38] Subcode ::= ([a-z] | [A-Z])+ The current REC <a href="libxml2-SAX.html#reference">reference</a> the successors of RFC 1766, currently 5646 http://www.rfc-editor.org/rfc/rfc5646.txt langtag = language ["-" script] ["-" region] *("-" variant) *("-" extension) ["-" privateuse] language = 2*3ALPHA ; shortest ISO 639 code ["-" extlang] ; sometimes followed by ; extended language subtags / 4ALPHA ; or reserved for future use / 5*8ALPHA ; or registered language subtag extlang = 3ALPHA ; selected ISO 639 codes *2("-" 3ALPHA) ; permanently reserved script = 4ALPHA ; ISO 15924 code region = 2ALPHA ; ISO 3166-1 code / 3DIGIT ; UN M.49 code variant = 5*8alphanum ; registered variants / (DIGIT 3alphanum) extension = singleton 1*("-" (2*8alphanum)) ; Single alphanumerics ; "x" reserved for private use singleton = DIGIT ; 0 - 9 / %x41-57 ; A - W / %x59-5A ; Y - Z / %x61-77 ; a - w / %x79-7A ; y - z it sounds right to still allow Irregular i-xxx IANA and user codes too The parser below doesn't try to cope with extension or privateuse that could be added but that's not interoperable anyway</p>
+<p>DEPRECATED: Internal function, do not use. Checks that the value conforms to the LanguageID production: NOTE: this is somewhat deprecated, those productions were removed from the XML Second edition. [33] LanguageID ::= Langcode ('-' Subcode)* [34] Langcode ::= ISO639Code | IanaCode | UserCode [35] ISO639Code ::= ([a-z] | [A-Z]) ([a-z] | [A-Z]) [36] IanaCode ::= ('i' | 'I') '-' ([a-z] | [A-Z])+ [37] UserCode ::= ('x' | 'X') '-' ([a-z] | [A-Z])+ [38] Subcode ::= ([a-z] | [A-Z])+ The current REC reference the successors of RFC 1766, currently 5646 http://www.rfc-editor.org/rfc/rfc5646.txt langtag = language ["-" script] ["-" region] *("-" variant) *("-" extension) ["-" privateuse] language = 2*3ALPHA ; shortest ISO 639 code ["-" extlang] ; sometimes followed by ; extended language subtags / 4ALPHA ; or reserved for future use / 5*8ALPHA ; or registered language subtag extlang = 3ALPHA ; selected ISO 639 codes *2("-" 3ALPHA) ; permanently reserved script = 4ALPHA ; ISO 15924 code region = 2ALPHA ; ISO 3166-1 code / 3DIGIT ; UN M.49 code variant = 5*8alphanum ; registered variants / (DIGIT 3alphanum) extension = singleton 1*("-" (2*8alphanum)) ; Single alphanumerics ; "x" reserved for private use singleton = DIGIT ; 0 - 9 / %x41-57 ; A - W / %x59-5A ; Y - Z / %x61-77 ; a - w / %x79-7A ; y - z it sounds right to still allow Irregular i-xxx IANA and user codes too The parser below doesn't try to cope with extension or privateuse that could be added but that's not interoperable anyway</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -742,7 +574,7 @@
 <a name="xmlCopyChar"></a>xmlCopyChar ()</h3>
 <pre class="programlisting">int	xmlCopyChar			(int len, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * out, <br>					 int val)<br>
 </pre>
-<p>append the char value in the array</p>
+<p>DEPRECATED: Don't use. append the char value in the array</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -772,7 +604,7 @@
 <a name="xmlCopyCharMultiByte"></a>xmlCopyCharMultiByte ()</h3>
 <pre class="programlisting">int	xmlCopyCharMultiByte		(<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * out, <br>					 int val)<br>
 </pre>
-<p>append the char value in the array</p>
+<p>DEPRECATED: Internal function, don't use. append the char value in the array</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -798,7 +630,7 @@
 <a name="xmlCreateEntityParserCtxt"></a>xmlCreateEntityParserCtxt ()</h3>
 <pre class="programlisting"><a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a>	xmlCreateEntityParserCtxt	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URL, <br>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ID, <br>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * base)<br>
 </pre>
-<p>DEPRECATED: Use xmlNewInputURL. Create a parser context for an external entity Automatic support for ZLIB/Compress compressed document is provided by default if found at compile-time.</p>
+<p>DEPRECATED: Don't use. Create a parser context for an external entity 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>
@@ -911,6 +743,52 @@
 <hr>
 <div class="refsect2" lang="en">
 <h3>
+<a name="xmlCtxtPopInput"></a>xmlCtxtPopInput ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>	xmlCtxtPopInput	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
+</pre>
+<p>Pops the top parser input from the input stack</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 XML parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the input just removed</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCtxtPushInput"></a>xmlCtxtPushInput ()</h3>
+<pre class="programlisting">int	xmlCtxtPushInput		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> value)<br>
+</pre>
+<p>Pushes a new parser input on top of the input stack</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 XML parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>value</tt></i>:</span></td>
+<td>the parser input</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>-1 in case of error, the index in the stack otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
 <a name="xmlCurrentChar"></a>xmlCurrentChar ()</h3>
 <pre class="programlisting">int	xmlCurrentChar			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 int * len)<br>
 </pre>
@@ -936,48 +814,6 @@
 <hr>
 <div class="refsect2" lang="en">
 <h3>
-<a name="xmlDecodeEntities"></a>xmlDecodeEntities ()</h3>
-<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlDecodeEntities	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 int len, <br>					 int what, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> end, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> end2, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> end3)<br>
-</pre>
-<p>This function is deprecated, we now always process entities content through <a href="libxml2-parserInternals.html#xmlStringDecodeEntities">xmlStringDecodeEntities</a> TODO: remove it in next major release. [67] Reference ::= EntityRef | CharRef [69] PEReference ::= '%' 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>the parser context</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>len</tt></i>:</span></td>
-<td>the len to decode (in bytes !), -1 for no size limit</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>what</tt></i>:</span></td>
-<td>combination of <a href="libxml2-parserInternals.html#XML_SUBSTITUTE_REF">XML_SUBSTITUTE_REF</a> and <a href="libxml2-parserInternals.html#XML_SUBSTITUTE_PEREF">XML_SUBSTITUTE_PEREF</a>
-</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>end</tt></i>:</span></td>
-<td>an end marker xmlChar, 0 if none</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>end2</tt></i>:</span></td>
-<td>an end marker xmlChar, 0 if none</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>end3</tt></i>:</span></td>
-<td>an end marker xmlChar, 0 if none</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td>A newly allocated string with the substitution done. The caller must deallocate it !</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
 <a name="xmlFreeInputStream"></a>xmlFreeInputStream ()</h3>
 <pre class="programlisting">void	xmlFreeInputStream		(<a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> input)<br>
 </pre>
@@ -994,31 +830,10 @@
 <hr>
 <div class="refsect2" lang="en">
 <h3>
-<a name="xmlHandleEntity"></a>xmlHandleEntity ()</h3>
-<pre class="programlisting">void	xmlHandleEntity			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a> entity)<br>
-</pre>
-<p>Default handling of defined entities, when should we define a new input stream ? When do we just handle that as a set of chars ? OBSOLETE: to be removed at some point.</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 XML parser context</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>entity</tt></i>:</span></td>
-<td>an XML entity pointer.</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
 <a name="xmlIsLetter"></a>xmlIsLetter ()</h3>
 <pre class="programlisting">int	xmlIsLetter			(int c)<br>
 </pre>
-<p>Check whether the character is allowed by the production [84] Letter ::= BaseChar | Ideographic</p>
+<p>DEPRECATED: Internal function, don't use. Check whether the character is allowed by the production [84] Letter ::= BaseChar | Ideographic</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -1036,73 +851,6 @@
 <hr>
 <div class="refsect2" lang="en">
 <h3>
-<a name="xmlNamespaceParseNCName"></a>xmlNamespaceParseNCName ()</h3>
-<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlNamespaceParseNCName	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
-</pre>
-<p>parse an XML namespace name. TODO: this seems not in use anymore, the namespace handling is done on top of the SAX interfaces, i.e. not on raw input. [NS 3] NCName ::= (Letter | '_') (NCNameChar)* [NS 4] NCNameChar ::= Letter | Digit | '.' | '-' | '_' | CombiningChar | Extender</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 XML parser context</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td>the namespace name or NULL</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
-<a name="xmlNamespaceParseNSDef"></a>xmlNamespaceParseNSDef ()</h3>
-<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlNamespaceParseNSDef	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
-</pre>
-<p>parse a namespace prefix declaration TODO: this seems not in use anymore, the namespace handling is done on top of the SAX interfaces, i.e. not on raw input. [NS 1] NSDef ::= PrefixDef Eq SystemLiteral [NS 2] PrefixDef ::= 'xmlns' (':' NCName)?</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 XML parser context</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td>the namespace name</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
-<a name="xmlNamespaceParseQName"></a>xmlNamespaceParseQName ()</h3>
-<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlNamespaceParseQName	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** prefix)<br>
-</pre>
-<p>TODO: this seems not in use anymore, the namespace handling is done on top of the SAX interfaces, i.e. not on raw input. parse an XML qualified name [NS 5] QName ::= (Prefix ':')? LocalPart [NS 6] Prefix ::= NCName [NS 7] LocalPart ::= NCName</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 XML parser context</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>prefix</tt></i>:</span></td>
-<td>a <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> **</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td>the local part, and prefix is updated to get the Prefix if any.</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
 <a name="xmlNewEntityInputStream"></a>xmlNewEntityInputStream ()</h3>
 <pre class="programlisting"><a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>	xmlNewEntityInputStream	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>						 <a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a> ent)<br>
 </pre>
@@ -1131,7 +879,7 @@
 <a name="xmlNewInputFromFile"></a>xmlNewInputFromFile ()</h3>
 <pre class="programlisting"><a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>	xmlNewInputFromFile	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>						 const char * filename)<br>
 </pre>
-<p>Create a new input stream based on a file or an URL.</p>
+<p>DEPRECATED: Use <a href="libxml2-parser.html#xmlNewInputFromUrl">xmlNewInputFromUrl</a>. Create a new input stream based on a file or an URL.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -1156,7 +904,7 @@
 <a name="xmlNewInputStream"></a>xmlNewInputStream ()</h3>
 <pre class="programlisting"><a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>	xmlNewInputStream	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
 </pre>
-<p>Create a new input stream structure.</p>
+<p>DEPRECATED: Use <a href="libxml2-parser.html#xmlNewInputFromUrl">xmlNewInputFromUrl</a> or similar functions. Create a new input stream structure.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -1177,7 +925,7 @@
 <a name="xmlNewStringInputStream"></a>xmlNewStringInputStream ()</h3>
 <pre class="programlisting"><a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>	xmlNewStringInputStream	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * buffer)<br>
 </pre>
-<p>Create a new input stream based on a memory buffer.</p>
+<p>DEPRECATED: Use <a href="libxml2-parser.html#xmlNewInputFromString">xmlNewInputFromString</a>. Create a new input stream based on a memory buffer.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -1217,7 +965,7 @@
 <a name="xmlParseAttValue"></a>xmlParseAttValue ()</h3>
 <pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlParseAttValue	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
 </pre>
-<p>DEPRECATED: Internal function, don't use. parse a value for an <a href="libxml2-SAX.html#attribute">attribute</a> Note: the parser won't do substitution of entities here, this will be handled later in <a href="libxml2-tree.html#xmlStringGetNodeList">xmlStringGetNodeList</a> [10] AttValue ::= '"' ([^&lt;&amp;"] | Reference)* '"' | "'" ([^&lt;&amp;'] | Reference)* "'" 3.3.3 Attribute-Value Normalization: Before the value of an <a href="libxml2-SAX.html#attribute">attribute</a> is passed to the application or checked for validity, the XML processor must normalize it as follows: - a character <a href="libxml2-SAX.html#reference">reference</a> is processed by appending the referenced character to the <a href="libxml2-SAX.html#attribute">attribute</a> value - an entity <a href="libxml2-SAX.html#reference">reference</a> is processed by recursively processing the replacement text of the entity - a whitespace character (#x20, #xD, #xA, #x9) is processed by appending #x20 to the normalized value, except that only a single #x20 is appended for a "#xD#xA" sequence that is part of an external parsed entity or the literal entity value of an internal parsed entity - other <a href="libxml2-SAX.html#characters">characters</a> are processed by appending them to the normalized value If the declared value is not CDATA, then the XML processor must further process the normalized <a href="libxml2-SAX.html#attribute">attribute</a> value by discarding any leading and trailing space (#x20) characters, and by replacing sequences of space (#x20) <a href="libxml2-SAX.html#characters">characters</a> by a single space (#x20) character. All attributes for which no declaration has been read should be treated by a non-validating parser as if declared CDATA.</p>
+<p>DEPRECATED: Internal function, don't use. parse a value for an attribute Note: the parser won't do substitution of entities here, this will be handled later in <a href="libxml2-tree.html#xmlStringGetNodeList">xmlStringGetNodeList</a> [10] AttValue ::= '"' ([^&lt;&amp;"] | Reference)* '"' | "'" ([^&lt;&amp;'] | Reference)* "'" 3.3.3 Attribute-Value Normalization: Before the value of an attribute is passed to the application or checked for validity, the XML processor must normalize it as follows: - a character reference is processed by appending the referenced character to the attribute value - an entity reference is processed by recursively processing the replacement text of the entity - a whitespace character (#x20, #xD, #xA, #x9) is processed by appending #x20 to the normalized value, except that only a single #x20 is appended for a "#xD#xA" sequence that is part of an external parsed entity or the literal entity value of an internal parsed entity - other characters are processed by appending them to the normalized value If the declared value is not CDATA, then the XML processor must further process the normalized attribute value by discarding any leading and trailing space (#x20) characters, and by replacing sequences of space (#x20) characters by a single space (#x20) character. All attributes for which no declaration has been read should be treated by a non-validating parser as if declared CDATA.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -1238,7 +986,7 @@
 <a name="xmlParseAttribute"></a>xmlParseAttribute ()</h3>
 <pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlParseAttribute	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** value)<br>
 </pre>
-<p>DEPRECATED: Internal function, don't use. parse an <a href="libxml2-SAX.html#attribute">attribute</a> [41] Attribute ::= Name Eq AttValue [ WFC: No External Entity References ] Attribute values cannot contain direct or indirect entity references to external entities. [ WFC: No &lt; in Attribute Values ] The replacement text of any entity referred to directly or indirectly in an <a href="libxml2-SAX.html#attribute">attribute</a> value (other than "&amp;lt;") must not contain a &lt;. [ VC: Attribute Value Type ] The <a href="libxml2-SAX.html#attribute">attribute</a> must have been declared; the value must be of the type declared for it. [25] Eq ::= S? '=' S? With namespace: [NS 11] Attribute ::= QName Eq AttValue Also the case QName == xmlns:??? is handled independently as a namespace definition.</p>
+<p>DEPRECATED: Internal function, don't use. parse an attribute [41] Attribute ::= Name Eq AttValue [ WFC: No External Entity References ] Attribute values cannot contain direct or indirect entity references to external entities. [ WFC: No &lt; in Attribute Values ] The replacement text of any entity referred to directly or indirectly in an attribute value (other than "&amp;lt;") must not contain a &lt;. [ VC: Attribute Value Type ] The attribute must have been declared; the value must be of the type declared for it. [25] Eq ::= S? '=' S? With namespace: [NS 11] Attribute ::= QName Eq AttValue Also the case QName == xmlns:??? is handled independently as a namespace definition.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -1248,12 +996,11 @@
 </tr>
 <tr>
 <td><span class="term"><i><tt>value</tt></i>:</span></td>
-<td>a <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** used to store the value of the <a href="libxml2-SAX.html#attribute">attribute</a>
-</td>
+<td>a <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** used to store the value of the attribute</td>
 </tr>
 <tr>
 <td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td>the <a href="libxml2-SAX.html#attribute">attribute</a> name, and the value in *value.</td>
+<td>the attribute name, and the value in *value.</td>
 </tr>
 </tbody>
 </table></div>
@@ -1264,7 +1011,7 @@
 <a name="xmlParseAttributeListDecl"></a>xmlParseAttributeListDecl ()</h3>
 <pre class="programlisting">void	xmlParseAttributeListDecl	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
 </pre>
-<p>DEPRECATED: Internal function, don't use. Parse an <a href="libxml2-SAX.html#attribute">attribute</a> list declaration for an element. Always consumes '&lt;!'. [52] AttlistDecl ::= '&lt;!ATTLIST' S Name AttDef* S? '&gt;' [53] AttDef ::= S Name S AttType S DefaultDecl</p>
+<p>DEPRECATED: Internal function, don't use. Parse an attribute list declaration for an element. Always consumes '&lt;!'. [52] AttlistDecl ::= '&lt;!ATTLIST' S Name AttDef* S? '&gt;' [53] AttDef ::= S Name S AttType S DefaultDecl</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody><tr>
@@ -1279,7 +1026,7 @@
 <a name="xmlParseAttributeType"></a>xmlParseAttributeType ()</h3>
 <pre class="programlisting">int	xmlParseAttributeType		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a> * tree)<br>
 </pre>
-<p>DEPRECATED: Internal function, don't use. parse the Attribute list def for an element [54] AttType ::= StringType | TokenizedType | EnumeratedType [55] StringType ::= 'CDATA' [56] TokenizedType ::= 'ID' | 'IDREF' | 'IDREFS' | 'ENTITY' | 'ENTITIES' | 'NMTOKEN' | 'NMTOKENS' Validity constraints for <a href="libxml2-SAX.html#attribute">attribute</a> values syntax are checked in xmlValidateAttributeValue() [ VC: ID ] Values of type ID must match the Name production. A name must not appear more than once in an XML document as a value of this type; i.e., ID values must uniquely identify the elements which bear them. [ VC: One ID per Element Type ] No element type may have more than one ID <a href="libxml2-SAX.html#attribute">attribute</a> specified. [ VC: ID Attribute Default ] An ID <a href="libxml2-SAX.html#attribute">attribute</a> must have a declared default of #IMPLIED or #REQUIRED. [ VC: IDREF ] Values of type IDREF must match the Name production, and values of type IDREFS must match Names; each IDREF Name must match the value of an ID <a href="libxml2-SAX.html#attribute">attribute</a> on some element in the XML document; i.e. IDREF values must match the value of some ID <a href="libxml2-SAX.html#attribute">attribute</a>. [ VC: Entity Name ] Values of type ENTITY must match the Name production, values of type ENTITIES must match Names; each Entity Name must match the name of an unparsed entity declared in the DTD. [ VC: Name Token ] Values of type NMTOKEN must match the Nmtoken production; values of type NMTOKENS must match Nmtokens.</p>
+<p>DEPRECATED: Internal function, don't use. parse the Attribute list def for an element [54] AttType ::= StringType | TokenizedType | EnumeratedType [55] StringType ::= 'CDATA' [56] TokenizedType ::= 'ID' | 'IDREF' | 'IDREFS' | 'ENTITY' | 'ENTITIES' | 'NMTOKEN' | 'NMTOKENS' Validity constraints for attribute values syntax are checked in xmlValidateAttributeValue() [ VC: ID ] Values of type ID must match the Name production. A name must not appear more than once in an XML document as a value of this type; i.e., ID values must uniquely identify the elements which bear them. [ VC: One ID per Element Type ] No element type may have more than one ID attribute specified. [ VC: ID Attribute Default ] An ID attribute must have a declared default of #IMPLIED or #REQUIRED. [ VC: IDREF ] Values of type IDREF must match the Name production, and values of type IDREFS must match Names; each IDREF Name must match the value of an ID attribute on some element in the XML document; i.e. IDREF values must match the value of some ID attribute. [ VC: Entity Name ] Values of type ENTITY must match the Name production, values of type ENTITIES must match Names; each Entity Name must match the name of an unparsed entity declared in the DTD. [ VC: Name Token ] Values of type NMTOKEN must match the Nmtoken production; values of type NMTOKENS must match Nmtokens.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -1293,7 +1040,7 @@
 </tr>
 <tr>
 <td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td>the <a href="libxml2-SAX.html#attribute">attribute</a> type</td>
+<td>the attribute type</td>
 </tr>
 </tbody>
 </table></div>
@@ -1340,7 +1087,7 @@
 <a name="xmlParseCharRef"></a>xmlParseCharRef ()</h3>
 <pre class="programlisting">int	xmlParseCharRef			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
 </pre>
-<p>DEPRECATED: Internal function, don't use. Parse a numeric character <a href="libxml2-SAX.html#reference">reference</a>. Always consumes '&amp;'. [66] CharRef ::= '&amp;#' [0-9]+ ';' | '&amp;#x' [0-9a-fA-F]+ ';' [ WFC: Legal Character ] Characters referred to using character references must match the production for Char.</p>
+<p>DEPRECATED: Internal function, don't use. Parse a numeric character reference. Always consumes '&amp;'. [66] CharRef ::= '&amp;#' [0-9]+ ';' | '&amp;#x' [0-9a-fA-F]+ ';' [ WFC: Legal Character ] Characters referred to using character references must match the production for Char.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -1361,7 +1108,7 @@
 <a name="xmlParseComment"></a>xmlParseComment ()</h3>
 <pre class="programlisting">void	xmlParseComment			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
 </pre>
-<p>DEPRECATED: Internal function, don't use. Parse an XML (SGML) <a href="libxml2-SAX.html#comment">comment</a>. Always consumes '&lt;!'. The spec says that "For compatibility, the string "--" (double-hyphen) must not occur within comments. " [15] Comment ::= '&lt;!--' ((Char - '-') | ('-' (Char - '-')))* '--&gt;'</p>
+<p>DEPRECATED: Internal function, don't use. Parse an XML (SGML) comment. Always consumes '&lt;!'. The spec says that "For compatibility, the string "--" (double-hyphen) must not occur within comments. " [15] Comment ::= '&lt;!--' ((Char - '-') | ('-' (Char - '-')))* '--&gt;'</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody><tr>
@@ -1376,7 +1123,7 @@
 <a name="xmlParseContent"></a>xmlParseContent ()</h3>
 <pre class="programlisting">void	xmlParseContent			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
 </pre>
-<p>Parse XML element content. This is useful if you're only interested in custom SAX callbacks. If you want a node list, use <a href="libxml2-parser.html#xmlParseInNodeContext">xmlParseInNodeContext</a>.</p>
+<p>Parse XML element content. This is useful if you're only interested in custom SAX callbacks. If you want a node list, use <a href="libxml2-parser.html#xmlCtxtParseContent">xmlCtxtParseContent</a>.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody><tr>
@@ -1391,7 +1138,7 @@
 <a name="xmlParseDefaultDecl"></a>xmlParseDefaultDecl ()</h3>
 <pre class="programlisting">int	xmlParseDefaultDecl		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** value)<br>
 </pre>
-<p>DEPRECATED: Internal function, don't use. Parse an <a href="libxml2-SAX.html#attribute">attribute</a> default declaration [60] DefaultDecl ::= '#REQUIRED' | '#IMPLIED' | (('#FIXED' S)? AttValue) [ VC: Required Attribute ] if the default declaration is the keyword #REQUIRED, then the <a href="libxml2-SAX.html#attribute">attribute</a> must be specified for all elements of the type in the attribute-list declaration. [ VC: Attribute Default Legal ] The declared default value must meet the lexical constraints of the declared <a href="libxml2-SAX.html#attribute">attribute</a> type c.f. xmlValidateAttributeDecl() [ VC: Fixed Attribute Default ] if an <a href="libxml2-SAX.html#attribute">attribute</a> has a default value declared with the #FIXED keyword, instances of that <a href="libxml2-SAX.html#attribute">attribute</a> must match the default value. [ WFC: No &lt; in Attribute Values ] handled in xmlParseAttValue()</p>
+<p>DEPRECATED: Internal function, don't use. Parse an attribute default declaration [60] DefaultDecl ::= '#REQUIRED' | '#IMPLIED' | (('#FIXED' S)? AttValue) [ VC: Required Attribute ] if the default declaration is the keyword #REQUIRED, then the attribute must be specified for all elements of the type in the attribute-list declaration. [ VC: Attribute Default Legal ] The declared default value must meet the lexical constraints of the declared attribute type c.f. xmlValidateAttributeDecl() [ VC: Fixed Attribute Default ] if an attribute has a default value declared with the #FIXED keyword, instances of that attribute must match the default value. [ WFC: No &lt; in Attribute Values ] handled in xmlParseAttValue()</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -1401,8 +1148,7 @@
 </tr>
 <tr>
 <td><span class="term"><i><tt>value</tt></i>:</span></td>
-<td>Receive a possible fixed default value for the <a href="libxml2-SAX.html#attribute">attribute</a>
-</td>
+<td>Receive a possible fixed default value for the attribute</td>
 </tr>
 <tr>
 <td><span class="term"><i><tt>Returns</tt></i>:</span></td>
@@ -1447,7 +1193,7 @@
 <a name="xmlParseElementChildrenContentDecl"></a>xmlParseElementChildrenContentDecl ()</h3>
 <pre class="programlisting"><a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a>	xmlParseElementChildrenContentDecl	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>							 int inputchk)<br>
 </pre>
-<p>DEPRECATED: Internal function, don't use. parse the declaration for a Mixed Element content The leading '(' and spaces have been skipped in <a href="libxml2-parserInternals.html#xmlParseElementContentDecl">xmlParseElementContentDecl</a> [47] children ::= (choice | seq) ('?' | '*' | '+')? [48] cp ::= (Name | choice | seq) ('?' | '*' | '+')? [49] choice ::= '(' S? cp ( S? '|' S? cp )* S? ')' [50] seq ::= '(' S? cp ( S? ',' S? cp )* S? ')' [ VC: Proper Group/PE Nesting ] applies to [49] and [50] TODO Parameter-entity replacement text must be properly nested with parenthesized groups. That is to say, if either of the opening or closing parentheses in a choice, seq, or Mixed construct is contained in the replacement text for a parameter entity, both must be contained in the same replacement text. For interoperability, if a parameter-entity <a href="libxml2-SAX.html#reference">reference</a> appears in a choice, seq, or Mixed construct, its replacement text should not be empty, and neither the first nor last non-blank character of the replacement text should be a connector (| or ,).</p>
+<p>DEPRECATED: Internal function, don't use. parse the declaration for a Mixed Element content The leading '(' and spaces have been skipped in <a href="libxml2-parserInternals.html#xmlParseElementContentDecl">xmlParseElementContentDecl</a> [47] children ::= (choice | seq) ('?' | '*' | '+')? [48] cp ::= (Name | choice | seq) ('?' | '*' | '+')? [49] choice ::= '(' S? cp ( S? '|' S? cp )* S? ')' [50] seq ::= '(' S? cp ( S? ',' S? cp )* S? ')' [ VC: Proper Group/PE Nesting ] applies to [49] and [50] TODO Parameter-entity replacement text must be properly nested with parenthesized groups. That is to say, if either of the opening or closing parentheses in a choice, seq, or Mixed construct is contained in the replacement text for a parameter entity, both must be contained in the same replacement text. For interoperability, if a parameter-entity reference appears in a choice, seq, or Mixed construct, its replacement text should not be empty, and neither the first nor last non-blank character of the replacement text should be a connector (| or ,).</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -1654,7 +1400,7 @@
 </tr>
 <tr>
 <td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td>the EntityValue parsed with <a href="libxml2-SAX.html#reference">reference</a> substituted or NULL</td>
+<td>the EntityValue parsed with reference substituted or NULL</td>
 </tr>
 </tbody>
 </table></div>
@@ -1665,7 +1411,7 @@
 <a name="xmlParseEnumeratedType"></a>xmlParseEnumeratedType ()</h3>
 <pre class="programlisting">int	xmlParseEnumeratedType		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a> * tree)<br>
 </pre>
-<p>DEPRECATED: Internal function, don't use. parse an Enumerated <a href="libxml2-SAX.html#attribute">attribute</a> type. [57] EnumeratedType ::= NotationType | Enumeration [58] NotationType ::= 'NOTATION' S '(' S? Name (S? '|' S? Name)* S? ')'</p>
+<p>DEPRECATED: Internal function, don't use. parse an Enumerated attribute type. [57] EnumeratedType ::= NotationType | Enumeration [58] NotationType ::= 'NOTATION' S '(' S? Name (S? '|' S? Name)* S? ')'</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -1692,7 +1438,7 @@
 <a name="xmlParseEnumerationType"></a>xmlParseEnumerationType ()</h3>
 <pre class="programlisting"><a href="libxml2-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a>	xmlParseEnumerationType	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
 </pre>
-<p>DEPRECATED: Internal function, don't use. parse an Enumeration <a href="libxml2-SAX.html#attribute">attribute</a> type. [59] Enumeration ::= '(' S? Nmtoken (S? '|' S? Nmtoken)* S? ')' [ VC: Enumeration ] Values of this type must match one of the Nmtoken tokens in the declaration</p>
+<p>DEPRECATED: Internal function, don't use. parse an Enumeration attribute type. [59] Enumeration ::= '(' S? Nmtoken (S? '|' S? Nmtoken)* S? ')' [ VC: Enumeration ] Values of this type must match one of the Nmtoken tokens in the declaration</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -1702,7 +1448,7 @@
 </tr>
 <tr>
 <td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td>the enumeration <a href="libxml2-SAX.html#attribute">attribute</a> tree built while parsing</td>
+<td>the enumeration attribute tree built while parsing</td>
 </tr>
 </tbody>
 </table></div>
@@ -1742,7 +1488,7 @@
 <a name="xmlParseExternalSubset"></a>xmlParseExternalSubset ()</h3>
 <pre class="programlisting">void	xmlParseExternalSubset		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * SystemID)<br>
 </pre>
-<p>parse Markup declarations from an external subset [30] extSubset ::= textDecl? extSubsetDecl [31] extSubsetDecl ::= (markupdecl | conditionalSect | PEReference | S) *</p>
+<p>DEPRECATED: Internal function, don't use. parse Markup declarations from an external subset [30] extSubset ::= textDecl? extSubsetDecl [31] extSubsetDecl ::= (markupdecl | conditionalSect | PEReference | S) *</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -1815,21 +1561,6 @@
 <hr>
 <div class="refsect2" lang="en">
 <h3>
-<a name="xmlParseNamespace"></a>xmlParseNamespace ()</h3>
-<pre class="programlisting">void	xmlParseNamespace		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
-</pre>
-<p>xmlParseNamespace: parse specific PI '&lt;?namespace ...' constructs. This is what the older xml-name Working Draft specified, a bunch of other stuff may still rely on it, so support is still here as if it was declared on the root of the Tree:-( TODO: remove from library To be removed at next drop of binary compatibility</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 XML parser context</td>
-</tr></tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
 <a name="xmlParseNmtoken"></a>xmlParseNmtoken ()</h3>
 <pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlParseNmtoken		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
 </pre>
@@ -1869,7 +1600,7 @@
 <a name="xmlParseNotationType"></a>xmlParseNotationType ()</h3>
 <pre class="programlisting"><a href="libxml2-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a>	xmlParseNotationType	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
 </pre>
-<p>DEPRECATED: Internal function, don't use. parse an Notation <a href="libxml2-SAX.html#attribute">attribute</a> type. Note: the leading 'NOTATION' S part has already being parsed... [58] NotationType ::= 'NOTATION' S '(' S? Name (S? '|' S? Name)* S? ')' [ VC: Notation Attributes ] Values of this type must match one of the notation names included in the declaration; all notation names in the declaration must be declared.</p>
+<p>DEPRECATED: Internal function, don't use. parse an Notation attribute type. Note: the leading 'NOTATION' S part has already being parsed... [58] NotationType ::= 'NOTATION' S '(' S? Name (S? '|' S? Name)* S? ')' [ VC: Notation Attributes ] Values of this type must match one of the notation names included in the declaration; all notation names in the declaration must be declared.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -1879,7 +1610,7 @@
 </tr>
 <tr>
 <td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td>the notation <a href="libxml2-SAX.html#attribute">attribute</a> tree built while parsing</td>
+<td>the notation attribute tree built while parsing</td>
 </tr>
 </tbody>
 </table></div>
@@ -1890,7 +1621,7 @@
 <a name="xmlParsePEReference"></a>xmlParsePEReference ()</h3>
 <pre class="programlisting">void	xmlParsePEReference		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
 </pre>
-<p>DEPRECATED: Internal function, don't use. Parse a parameter entity <a href="libxml2-SAX.html#reference">reference</a>. Always consumes '%'. The entity content is handled directly by pushing it's content as a new input stream. [69] PEReference ::= '%' Name ';' [ WFC: No Recursion ] A parsed entity must not contain a recursive <a href="libxml2-SAX.html#reference">reference</a> to itself, either directly or indirectly. [ WFC: Entity Declared ] In a document without any DTD, a document with only an internal DTD subset which contains no parameter entity references, or a document with "standalone='yes'", ... ... The declaration of a parameter entity must precede any <a href="libxml2-SAX.html#reference">reference</a> to it... [ VC: Entity Declared ] In a document with an external subset or external parameter entities with "standalone='no'", ... ... The declaration of a parameter entity must precede any <a href="libxml2-SAX.html#reference">reference</a> to it... [ WFC: In DTD ] Parameter-entity references may only appear in the DTD. NOTE: misleading but this is handled.</p>
+<p>DEPRECATED: Internal function, don't use. Parse a parameter entity reference. Always consumes '%'. The entity content is handled directly by pushing it's content as a new input stream. [69] PEReference ::= '%' Name ';' [ WFC: No Recursion ] A parsed entity must not contain a recursive reference to itself, either directly or indirectly. [ WFC: Entity Declared ] In a document without any DTD, a document with only an internal DTD subset which contains no parameter entity references, or a document with "standalone='yes'", ... ... The declaration of a parameter entity must precede any reference to it... [ VC: Entity Declared ] In a document with an external subset or external parameter entities with "standalone='no'", ... ... The declaration of a parameter entity must precede any reference to it... [ WFC: In DTD ] Parameter-entity references may only appear in the DTD. NOTE: misleading but this is handled.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody><tr>
@@ -1959,27 +1690,6 @@
 <hr>
 <div class="refsect2" lang="en">
 <h3>
-<a name="xmlParseQuotedString"></a>xmlParseQuotedString ()</h3>
-<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlParseQuotedString	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
-</pre>
-<p>Parse and return a string between quotes or doublequotes TODO: Deprecated, to be removed at next drop of binary compatibility</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 XML parser context</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td>the string parser or NULL.</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
 <a name="xmlParseReference"></a>xmlParseReference ()</h3>
 <pre class="programlisting">void	xmlParseReference		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
 </pre>
@@ -1998,7 +1708,7 @@
 <a name="xmlParseSDDecl"></a>xmlParseSDDecl ()</h3>
 <pre class="programlisting">int	xmlParseSDDecl			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
 </pre>
-<p>DEPRECATED: Internal function, don't use. parse the XML standalone declaration [32] SDDecl ::= S 'standalone' Eq (("'" ('yes' | 'no') "'") | ('"' ('yes' | 'no')'"')) [ VC: Standalone Document Declaration ] TODO The standalone document declaration must have the value "no" if any external markup declarations contain declarations of: - attributes with default values, if elements to which these attributes apply appear in the document without specifications of values for these attributes, or - entities (other than amp, lt, gt, apos, quot), if references to those entities appear in the document, or - attributes with values subject to normalization, where the <a href="libxml2-SAX.html#attribute">attribute</a> appears in the document with a value which will change as a result of normalization, or - element types with element content, if white space occurs directly within any instance of those types.</p>
+<p>DEPRECATED: Internal function, don't use. parse the XML standalone declaration [32] SDDecl ::= S 'standalone' Eq (("'" ('yes' | 'no') "'") | ('"' ('yes' | 'no')'"')) [ VC: Standalone Document Declaration ] TODO The standalone document declaration must have the value "no" if any external markup declarations contain declarations of: - attributes with default values, if elements to which these attributes apply appear in the document without specifications of values for these attributes, or - entities (other than amp, lt, gt, apos, quot), if references to those entities appear in the document, or - attributes with values subject to normalization, where the attribute appears in the document with a value which will change as a result of normalization, or - element types with element content, if white space occurs directly within any instance of those types.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -2008,7 +1718,7 @@
 </tr>
 <tr>
 <td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td>1 if standalone="yes" 0 if standalone="no" -2 if standalone <a href="libxml2-SAX.html#attribute">attribute</a> is missing or invalid (A standalone value of -2 means that the XML declaration was found, but no value was specified for the standalone attribute).</td>
+<td>1 if standalone="yes" 0 if standalone="no" -2 if standalone attribute is missing or invalid (A standalone value of -2 means that the XML declaration was found, but no value was specified for the standalone attribute).</td>
 </tr>
 </tbody>
 </table></div>
@@ -2019,7 +1729,7 @@
 <a name="xmlParseStartTag"></a>xmlParseStartTag ()</h3>
 <pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlParseStartTag	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
 </pre>
-<p>DEPRECATED: Internal function, don't use. Parse a start tag. Always consumes '&lt;'. [40] STag ::= '&lt;' Name (S Attribute)* S? '&gt;' [ WFC: Unique Att Spec ] No <a href="libxml2-SAX.html#attribute">attribute</a> name may appear more than once in the same start-tag or empty-element tag. [44] EmptyElemTag ::= '&lt;' Name (S Attribute)* S? '/&gt;' [ WFC: Unique Att Spec ] No <a href="libxml2-SAX.html#attribute">attribute</a> name may appear more than once in the same start-tag or empty-element tag. With namespace: [NS 8] STag ::= '&lt;' QName (S Attribute)* S? '&gt;' [NS 10] EmptyElement ::= '&lt;' QName (S Attribute)* S? '/&gt;'</p>
+<p>DEPRECATED: Internal function, don't use. Parse a start tag. Always consumes '&lt;'. [40] STag ::= '&lt;' Name (S Attribute)* S? '&gt;' [ WFC: Unique Att Spec ] No attribute name may appear more than once in the same start-tag or empty-element tag. [44] EmptyElemTag ::= '&lt;' Name (S Attribute)* S? '/&gt;' [ WFC: Unique Att Spec ] No attribute name may appear more than once in the same start-tag or empty-element tag. With namespace: [NS 8] STag ::= '&lt;' QName (S Attribute)* S? '&gt;' [NS 10] EmptyElement ::= '&lt;' QName (S Attribute)* S? '/&gt;'</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -2133,22 +1843,7 @@
 <a name="xmlParserHandlePEReference"></a>xmlParserHandlePEReference ()</h3>
 <pre class="programlisting">void	xmlParserHandlePEReference	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
 </pre>
-<p>DEPRECATED: Internal function, do not use. [69] PEReference ::= '%' Name ';' [ WFC: No Recursion ] A parsed entity must not contain a recursive <a href="libxml2-SAX.html#reference">reference</a> to itself, either directly or indirectly. [ WFC: Entity Declared ] In a document without any DTD, a document with only an internal DTD subset which contains no parameter entity references, or a document with "standalone='yes'", ... ... The declaration of a parameter entity must precede any <a href="libxml2-SAX.html#reference">reference</a> to it... [ VC: Entity Declared ] In a document with an external subset or external parameter entities with "standalone='no'", ... ... The declaration of a parameter entity must precede any <a href="libxml2-SAX.html#reference">reference</a> to it... [ WFC: In DTD ] Parameter-entity references may only appear in the DTD. NOTE: misleading but this is handled. A PEReference may have been detected in the current input stream the handling is done accordingly to http://www.w3.org/TR/REC-xml#entproc i.e. - Included in literal in entity values - Included as Parameter Entity <a href="libxml2-SAX.html#reference">reference</a> within DTDs</p>
-<div class="variablelist"><table border="0">
-<col align="left">
-<tbody><tr>
-<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
-<td>the parser context</td>
-</tr></tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
-<a name="xmlParserHandleReference"></a>xmlParserHandleReference ()</h3>
-<pre class="programlisting">void	xmlParserHandleReference	(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
-</pre>
-<p>TODO: Remove, now deprecated ... the test is done directly in the content parsing routines. [67] Reference ::= EntityRef | CharRef [68] EntityRef ::= '&amp;' Name ';' [ WFC: Entity Declared ] the Name given in the entity <a href="libxml2-SAX.html#reference">reference</a> must match that in an entity declaration, except that well-formed documents need not declare any of the following entities: amp, lt, gt, apos, quot. [ WFC: Parsed Entity ] An entity <a href="libxml2-SAX.html#reference">reference</a> must not contain the name of an unparsed entity [66] CharRef ::= '&amp;#' [0-9]+ ';' | '&amp;#x' [0-9a-fA-F]+ ';' A PEReference may have been detected in the current input stream the handling is done accordingly to http://www.w3.org/TR/REC-xml#entproc</p>
+<p>DEPRECATED: Internal function, do not use. [69] PEReference ::= '%' Name ';' [ WFC: No Recursion ] A parsed entity must not contain a recursive reference to itself, either directly or indirectly. [ WFC: Entity Declared ] In a document without any DTD, a document with only an internal DTD subset which contains no parameter entity references, or a document with "standalone='yes'", ... ... The declaration of a parameter entity must precede any reference to it... [ VC: Entity Declared ] In a document with an external subset or external parameter entities with "standalone='no'", ... ... The declaration of a parameter entity must precede any reference to it... [ WFC: In DTD ] Parameter-entity references may only appear in the DTD. NOTE: misleading but this is handled. A PEReference may have been detected in the current input stream the handling is done accordingly to http://www.w3.org/TR/REC-xml#entproc i.e. - Included in literal in entity values - Included as Parameter Entity reference within DTDs</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody><tr>
@@ -2178,7 +1873,7 @@
 <a name="xmlPopInput"></a>xmlPopInput ()</h3>
 <pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a>	xmlPopInput			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
 </pre>
-<p>xmlPopInput: the current input pointed by ctxt-&gt;input came to an end pop it and return the next char.</p>
+<p>DEPRECATED: Internal function, don't use.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -2199,7 +1894,7 @@
 <a name="xmlPushInput"></a>xmlPushInput ()</h3>
 <pre class="programlisting">int	xmlPushInput			(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> input)<br>
 </pre>
-<p>Push an input stream onto the stack. This makes the parser use an input returned from advanced functions like xmlNewInputURL or xmlNewInputMemory.</p>
+<p>DEPRECATED: Internal function, don't use. Push an input stream onto the stack.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -2221,42 +1916,6 @@
 <hr>
 <div class="refsect2" lang="en">
 <h3>
-<a name="xmlScanName"></a>xmlScanName ()</h3>
-<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlScanName		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
-</pre>
-<p>Trickery: parse an XML name but without consuming the input flow Needed for rollback cases. Used only when parsing entities references. TODO: seems deprecated now, only used in the default part of <a href="libxml2-parserInternals.html#xmlParserHandleReference">xmlParserHandleReference</a> [4] NameChar ::= Letter | Digit | '.' | '-' | '_' | ':' | CombiningChar | Extender [5] Name ::= (Letter | '_' | ':') (NameChar)* [6] Names ::= Name (S 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 XML parser context</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td>the Name parsed or NULL</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
-<a name="xmlSetEntityReferenceFunc"></a>xmlSetEntityReferenceFunc ()</h3>
-<pre class="programlisting">void	xmlSetEntityReferenceFunc	(<a href="libxml2-parserInternals.html#xmlEntityReferenceFunc">xmlEntityReferenceFunc</a> func)<br>
-</pre>
-<p>Set the function to call call back when a xml <a href="libxml2-SAX.html#reference">reference</a> has been made</p>
-<div class="variablelist"><table border="0">
-<col align="left">
-<tbody><tr>
-<td><span class="term"><i><tt>func</tt></i>:</span></td>
-<td>A valid function</td>
-</tr></tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
 <a name="xmlSkipBlankChars"></a>xmlSkipBlankChars ()</h3>
 <pre class="programlisting">int	xmlSkipBlankChars		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
 </pre>
@@ -2281,7 +1940,7 @@
 <a name="xmlSplitQName"></a>xmlSplitQName ()</h3>
 <pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlSplitQName		(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** prefixOut)<br>
 </pre>
-<p>parse an UTF8 encoded XML qualified name string [NS 5] QName ::= (Prefix ':')? LocalPart [NS 6] Prefix ::= NCName [NS 7] LocalPart ::= NCName</p>
+<p>DEPRECATED: Don't use. parse an UTF8 encoded XML qualified name string [NS 5] QName ::= (Prefix ':')? LocalPart [NS 6] Prefix ::= NCName [NS 7] LocalPart ::= NCName</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
diff --git a/doc/devhelp/libxml2-pattern.html b/doc/devhelp/libxml2-pattern.html
index 332ca7b..c4ddb14 100644
--- a/doc/devhelp/libxml2-pattern.html
+++ b/doc/devhelp/libxml2-pattern.html
@@ -400,7 +400,7 @@
 <a name="xmlStreamPushAttr"></a>xmlStreamPushAttr ()</h3>
 <pre class="programlisting">int	xmlStreamPushAttr		(<a href="libxml2-pattern.html#xmlStreamCtxtPtr">xmlStreamCtxtPtr</a> stream, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ns)<br>
 </pre>
-<p>Push new <a href="libxml2-SAX.html#attribute">attribute</a> data onto the stream. NOTE: if the call xmlPatterncompile() indicated a dictionary, then strings for name and ns will be expected to come from the dictionary. Both @name and @ns being NULL means the / i.e. the root of the document. This can also act as a reset. Otherwise the function will act as if it has been given an attribute-node.</p>
+<p>Push new attribute data onto the stream. NOTE: if the call xmlPatterncompile() indicated a dictionary, then strings for name and ns will be expected to come from the dictionary. Both @name and @ns being NULL means the / i.e. the root of the document. This can also act as a reset. Otherwise the function will act as if it has been given an attribute-node.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
diff --git a/doc/devhelp/libxml2-relaxng.html b/doc/devhelp/libxml2-relaxng.html
index 7a01a4d..e71e25b 100644
--- a/doc/devhelp/libxml2-relaxng.html
+++ b/doc/devhelp/libxml2-relaxng.html
@@ -46,6 +46,7 @@
 <a href="libxml2-relaxng.html#xmlRelaxNGPtr">xmlRelaxNGPtr</a>	<a href="#xmlRelaxNGParse">xmlRelaxNGParse</a>		(<a href="libxml2-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a> ctxt);
 void	<a href="#xmlRelaxNGSetParserErrors">xmlRelaxNGSetParserErrors</a>	(<a href="libxml2-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a> ctxt, <br>					 <a href="libxml2-relaxng.html#xmlRelaxNGValidityErrorFunc">xmlRelaxNGValidityErrorFunc</a> err, <br>					 <a href="libxml2-relaxng.html#xmlRelaxNGValidityWarningFunc">xmlRelaxNGValidityWarningFunc</a> warn, <br>					 void * ctx);
 void	<a href="#xmlRelaxNGSetParserStructuredErrors">xmlRelaxNGSetParserStructuredErrors</a>	(<a href="libxml2-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a> ctxt, <br>						 <a href="libxml2-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a> serror, <br>						 void * ctx);
+void	<a href="#xmlRelaxNGSetResourceLoader">xmlRelaxNGSetResourceLoader</a>	(<a href="libxml2-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a> ctxt, <br>					 <a href="libxml2-parser.html#xmlResourceLoader">xmlResourceLoader</a> loader, <br>					 void * vctxt);
 void	<a href="#xmlRelaxNGSetValidErrors">xmlRelaxNGSetValidErrors</a>	(<a href="libxml2-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-relaxng.html#xmlRelaxNGValidityErrorFunc">xmlRelaxNGValidityErrorFunc</a> err, <br>					 <a href="libxml2-relaxng.html#xmlRelaxNGValidityWarningFunc">xmlRelaxNGValidityWarningFunc</a> warn, <br>					 void * ctx);
 void	<a href="#xmlRelaxNGSetValidStructuredErrors">xmlRelaxNGSetValidStructuredErrors</a>	(<a href="libxml2-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt, <br>						 <a href="libxml2-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a> serror, <br>						 void * ctx);
 int	<a href="#xmlRelaxNGValidateDoc">xmlRelaxNGValidateDoc</a>		(<a href="libxml2-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc);
@@ -568,6 +569,31 @@
 <hr>
 <div class="refsect2" lang="en">
 <h3>
+<a name="xmlRelaxNGSetResourceLoader"></a>xmlRelaxNGSetResourceLoader ()</h3>
+<pre class="programlisting">void	xmlRelaxNGSetResourceLoader	(<a href="libxml2-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a> ctxt, <br>					 <a href="libxml2-parser.html#xmlResourceLoader">xmlResourceLoader</a> loader, <br>					 void * vctxt)<br>
+</pre>
+<p>Set the callback function used to load external resources.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>a Relax-NG parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>loader</tt></i>:</span></td>
+<td>the callback</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>vctxt</tt></i>:</span></td>
+<td>contextual data for the callbacks</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
 <a name="xmlRelaxNGSetValidErrors"></a>xmlRelaxNGSetValidErrors ()</h3>
 <pre class="programlisting">void	xmlRelaxNGSetValidErrors	(<a href="libxml2-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-relaxng.html#xmlRelaxNGValidityErrorFunc">xmlRelaxNGValidityErrorFunc</a> err, <br>					 <a href="libxml2-relaxng.html#xmlRelaxNGValidityWarningFunc">xmlRelaxNGValidityWarningFunc</a> warn, <br>					 void * ctx)<br>
 </pre>
diff --git a/doc/devhelp/libxml2-schemasInternals.html b/doc/devhelp/libxml2-schemasInternals.html
index 8c45bdf..579b4b5 100644
--- a/doc/devhelp/libxml2-schemasInternals.html
+++ b/doc/devhelp/libxml2-schemasInternals.html
@@ -154,7 +154,7 @@
 <a name="XML_SCHEMAS_ANYATTR_SKIP">Macro </a>XML_SCHEMAS_ANYATTR_SKIP</h3>
 <pre class="programlisting">#define <a href="#XML_SCHEMAS_ANYATTR_SKIP">XML_SCHEMAS_ANYATTR_SKIP</a>;
 </pre>
-<p>Skip unknown <a href="libxml2-SAX.html#attribute">attribute</a> from validation Obsolete, not used anymore.</p>
+<p>Skip unknown attribute from validation Obsolete, not used anymore.</p>
 </div>
 <hr>
 <div class="refsect2" lang="en">
@@ -178,7 +178,7 @@
 <a name="XML_SCHEMAS_ANY_SKIP">Macro </a>XML_SCHEMAS_ANY_SKIP</h3>
 <pre class="programlisting">#define <a href="#XML_SCHEMAS_ANY_SKIP">XML_SCHEMAS_ANY_SKIP</a>;
 </pre>
-<p>Skip unknown <a href="libxml2-SAX.html#attribute">attribute</a> from validation</p>
+<p>Skip unknown attribute from validation</p>
 </div>
 <hr>
 <div class="refsect2" lang="en">
@@ -194,7 +194,7 @@
 <a name="XML_SCHEMAS_ATTRGROUP_GLOBAL">Macro </a>XML_SCHEMAS_ATTRGROUP_GLOBAL</h3>
 <pre class="programlisting">#define <a href="#XML_SCHEMAS_ATTRGROUP_GLOBAL">XML_SCHEMAS_ATTRGROUP_GLOBAL</a>;
 </pre>
-<p>The <a href="libxml2-SAX.html#attribute">attribute</a> group has been defined.</p>
+<p>The attribute group has been defined.</p>
 </div>
 <hr>
 <div class="refsect2" lang="en">
@@ -226,7 +226,7 @@
 <a name="XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED">Macro </a>XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED</h3>
 <pre class="programlisting">#define <a href="#XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED">XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED</a>;
 </pre>
-<p>The <a href="libxml2-SAX.html#attribute">attribute</a> wildcard has been built.</p>
+<p>The attribute wildcard has been built.</p>
 </div>
 <hr>
 <div class="refsect2" lang="en">
@@ -234,7 +234,7 @@
 <a name="XML_SCHEMAS_ATTR_FIXED">Macro </a>XML_SCHEMAS_ATTR_FIXED</h3>
 <pre class="programlisting">#define <a href="#XML_SCHEMAS_ATTR_FIXED">XML_SCHEMAS_ATTR_FIXED</a>;
 </pre>
-<p>the <a href="libxml2-SAX.html#attribute">attribute</a> has a fixed value</p>
+<p>the attribute has a fixed value</p>
 </div>
 <hr>
 <div class="refsect2" lang="en">
@@ -266,7 +266,7 @@
 <a name="XML_SCHEMAS_ATTR_USE_OPTIONAL">Macro </a>XML_SCHEMAS_ATTR_USE_OPTIONAL</h3>
 <pre class="programlisting">#define <a href="#XML_SCHEMAS_ATTR_USE_OPTIONAL">XML_SCHEMAS_ATTR_USE_OPTIONAL</a>;
 </pre>
-<p>The <a href="libxml2-SAX.html#attribute">attribute</a> is optional.</p>
+<p>The attribute is optional.</p>
 </div>
 <hr>
 <div class="refsect2" lang="en">
@@ -274,7 +274,7 @@
 <a name="XML_SCHEMAS_ATTR_USE_PROHIBITED">Macro </a>XML_SCHEMAS_ATTR_USE_PROHIBITED</h3>
 <pre class="programlisting">#define <a href="#XML_SCHEMAS_ATTR_USE_PROHIBITED">XML_SCHEMAS_ATTR_USE_PROHIBITED</a>;
 </pre>
-<p>Used by wildcards. The <a href="libxml2-SAX.html#attribute">attribute</a> is prohibited.</p>
+<p>Used by wildcards. The attribute is prohibited.</p>
 </div>
 <hr>
 <div class="refsect2" lang="en">
@@ -282,7 +282,7 @@
 <a name="XML_SCHEMAS_ATTR_USE_REQUIRED">Macro </a>XML_SCHEMAS_ATTR_USE_REQUIRED</h3>
 <pre class="programlisting">#define <a href="#XML_SCHEMAS_ATTR_USE_REQUIRED">XML_SCHEMAS_ATTR_USE_REQUIRED</a>;
 </pre>
-<p>The <a href="libxml2-SAX.html#attribute">attribute</a> is required.</p>
+<p>The attribute is required.</p>
 </div>
 <hr>
 <div class="refsect2" lang="en">
@@ -322,7 +322,7 @@
 <a name="XML_SCHEMAS_ELEM_BLOCK_ABSENT">Macro </a>XML_SCHEMAS_ELEM_BLOCK_ABSENT</h3>
 <pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_BLOCK_ABSENT">XML_SCHEMAS_ELEM_BLOCK_ABSENT</a>;
 </pre>
-<p>the "block" <a href="libxml2-SAX.html#attribute">attribute</a> is absent</p>
+<p>the "block" attribute is absent</p>
 </div>
 <hr>
 <div class="refsect2" lang="en">
@@ -442,7 +442,7 @@
 <a name="XML_SCHEMAS_ELEM_REF">Macro </a>XML_SCHEMAS_ELEM_REF</h3>
 <pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_REF">XML_SCHEMAS_ELEM_REF</a>;
 </pre>
-<p>the element is a <a href="libxml2-SAX.html#reference">reference</a> to a type</p>
+<p>the element is a reference to a type</p>
 </div>
 <hr>
 <div class="refsect2" lang="en">
@@ -722,7 +722,7 @@
 <a name="XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD">Macro </a>XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD</h3>
 <pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD">XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD</a>;
 </pre>
-<p>the complexType owns an <a href="libxml2-SAX.html#attribute">attribute</a> wildcard, i.e. it can be freed by the complexType</p>
+<p>the complexType owns an attribute wildcard, i.e. it can be freed by the complexType</p>
 </div>
 <hr>
 <div class="refsect2" lang="en">
@@ -802,7 +802,7 @@
 <a name="xmlSchemaAnnot">Structure </a>xmlSchemaAnnot</h3>
 <pre class="programlisting">struct _xmlSchemaAnnot {
     struct _xmlSchemaAnnot *	next
-    <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	content	: the annotation
+    <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	content
 } xmlSchemaAnnot;
 </pre>
 <p></p>
@@ -821,24 +821,24 @@
 <a name="xmlSchemaAttribute">Structure </a>xmlSchemaAttribute</h3>
 <pre class="programlisting">struct _xmlSchemaAttribute {
     <a href="libxml2-schemasInternals.html#xmlSchemaTypeType">xmlSchemaTypeType</a>	type
-    struct _xmlSchemaAttribute *	next	: the next <a href="libxml2-SAX.html#attribute">attribute</a> (not used?)
-    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	name	: the name of the declaration
-    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	id	: Deprecated; not used
-    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	ref	: Deprecated; not used
-    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	refNs	: Deprecated; not used
-    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	typeName	: the local name of the type definition
-    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	typeNs	: the ns URI of the type definition
+    struct _xmlSchemaAttribute *	next
+    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	name
+    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	id
+    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	ref
+    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	refNs
+    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	typeName
+    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	typeNs
     <a href="libxml2-schemasInternals.html#xmlSchemaAnnotPtr">xmlSchemaAnnotPtr</a>	annot
-    <a href="libxml2-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a>	base	: Deprecated; not used
-    int	occurs	: Deprecated; not used
-    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	defValue	: The initial value of the value constraint
-    <a href="libxml2-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a>	subtypes	: the type definition
+    <a href="libxml2-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a>	base
+    int	occurs
+    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	defValue
+    <a href="libxml2-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a>	subtypes
     <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	node
     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	targetNamespace
     int	flags
-    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	refPrefix	: Deprecated; not used
-    <a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a>	defVal	: The compiled value constraint
-    <a href="libxml2-schemasInternals.html#xmlSchemaAttributePtr">xmlSchemaAttributePtr</a>	refDecl	: Deprecated; not used
+    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	refPrefix
+    <a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a>	defVal
+    <a href="libxml2-schemasInternals.html#xmlSchemaAttributePtr">xmlSchemaAttributePtr</a>	refDecl
 } xmlSchemaAttribute;
 </pre>
 <p></p>
@@ -848,19 +848,19 @@
 <h3>
 <a name="xmlSchemaAttributeGroup">Structure </a>xmlSchemaAttributeGroup</h3>
 <pre class="programlisting">struct _xmlSchemaAttributeGroup {
-    <a href="libxml2-schemasInternals.html#xmlSchemaTypeType">xmlSchemaTypeType</a>	type	: The kind of type
-    struct _xmlSchemaAttribute *	next	: the next <a href="libxml2-SAX.html#attribute">attribute</a> if in a group ...
+    <a href="libxml2-schemasInternals.html#xmlSchemaTypeType">xmlSchemaTypeType</a>	type
+    struct _xmlSchemaAttribute *	next
     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	name
     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	id
-    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	ref	: Deprecated; not used
-    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	refNs	: Deprecated; not used
+    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	ref
+    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	refNs
     <a href="libxml2-schemasInternals.html#xmlSchemaAnnotPtr">xmlSchemaAnnotPtr</a>	annot
-    <a href="libxml2-schemasInternals.html#xmlSchemaAttributePtr">xmlSchemaAttributePtr</a>	attributes	: Deprecated; not used
+    <a href="libxml2-schemasInternals.html#xmlSchemaAttributePtr">xmlSchemaAttributePtr</a>	attributes
     <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	node
     int	flags
     <a href="libxml2-schemasInternals.html#xmlSchemaWildcardPtr">xmlSchemaWildcardPtr</a>	attributeWildcard
-    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	refPrefix	: Deprecated; not used
-    <a href="libxml2-schemasInternals.html#xmlSchemaAttributeGroupPtr">xmlSchemaAttributeGroupPtr</a>	refItem	: Deprecated; not used
+    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	refPrefix
+    <a href="libxml2-schemasInternals.html#xmlSchemaAttributeGroupPtr">xmlSchemaAttributeGroupPtr</a>	refItem
     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	targetNamespace
     void *	attrUses
 } xmlSchemaAttributeGroup;
@@ -880,8 +880,8 @@
 <h3>
 <a name="xmlSchemaAttributeLink">Structure </a>xmlSchemaAttributeLink</h3>
 <pre class="programlisting">struct _xmlSchemaAttributeLink {
-    struct _xmlSchemaAttributeLink *	next	: the next <a href="libxml2-SAX.html#attribute">attribute</a> link ...
-    struct _xmlSchemaAttribute *	attr	: the linked <a href="libxml2-SAX.html#attribute">attribute</a>
+    struct _xmlSchemaAttributeLink *	next
+    struct _xmlSchemaAttribute *	attr
 } xmlSchemaAttributeLink;
 </pre>
 <p></p>
@@ -924,18 +924,18 @@
 <h3>
 <a name="xmlSchemaElement">Structure </a>xmlSchemaElement</h3>
 <pre class="programlisting">struct _xmlSchemaElement {
-    <a href="libxml2-schemasInternals.html#xmlSchemaTypeType">xmlSchemaTypeType</a>	type	: The kind of type
-    struct _xmlSchemaType *	next	: Not used?
+    <a href="libxml2-schemasInternals.html#xmlSchemaTypeType">xmlSchemaTypeType</a>	type
+    struct _xmlSchemaType *	next
     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	name
-    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	id	: Deprecated; not used
-    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	ref	: Deprecated; not used
-    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	refNs	: Deprecated; not used
+    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	id
+    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	ref
+    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	refNs
     <a href="libxml2-schemasInternals.html#xmlSchemaAnnotPtr">xmlSchemaAnnotPtr</a>	annot
-    <a href="libxml2-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a>	subtypes	: the type definition
+    <a href="libxml2-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a>	subtypes
     <a href="libxml2-schemasInternals.html#xmlSchemaAttributePtr">xmlSchemaAttributePtr</a>	attributes
     <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	node
-    int	minOccurs	: Deprecated; not used
-    int	maxOccurs	: Deprecated; not used
+    int	minOccurs
+    int	maxOccurs
     int	flags
     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	targetNamespace
     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	namedType
@@ -943,13 +943,13 @@
     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	substGroup
     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	substGroupNs
     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	scope
-    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	value	: The original value of the value constraint.
-    struct _xmlSchemaElement *	refDecl	: This will now be used for the substitution group affiliation
-    <a href="libxml2-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a>	contModel	: Obsolete for WXS, maybe used for RelaxNG
+    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	value
+    struct _xmlSchemaElement *	refDecl
+    <a href="libxml2-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a>	contModel
     <a href="libxml2-schemasInternals.html#xmlSchemaContentType">xmlSchemaContentType</a>	contentType
-    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	refPrefix	: Deprecated; not used
-    <a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a>	defVal	: The compiled value constraint.
-    void *	idcs	: The identity-constraint defs
+    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	refPrefix
+    <a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a>	defVal
+    void *	idcs
 } xmlSchemaElement;
 </pre>
 <p></p>
@@ -967,16 +967,16 @@
 <h3>
 <a name="xmlSchemaFacet">Structure </a>xmlSchemaFacet</h3>
 <pre class="programlisting">struct _xmlSchemaFacet {
-    <a href="libxml2-schemasInternals.html#xmlSchemaTypeType">xmlSchemaTypeType</a>	type	: The kind of type
-    struct _xmlSchemaFacet *	next	: the next type if in a sequence ...
-    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	value	: The original value
-    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	id	: Obsolete
+    <a href="libxml2-schemasInternals.html#xmlSchemaTypeType">xmlSchemaTypeType</a>	type
+    struct _xmlSchemaFacet *	next
+    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	value
+    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	id
     <a href="libxml2-schemasInternals.html#xmlSchemaAnnotPtr">xmlSchemaAnnotPtr</a>	annot
     <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	node
-    int	fixed	: XML_SCHEMAS_FACET_PRESERVE, etc.
+    int	fixed
     int	whitespace
-    <a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a>	val	: The compiled value
-    <a href="libxml2-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a>	regexp	: The regex for patterns
+    <a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a>	val
+    <a href="libxml2-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a>	regexp
 } xmlSchemaFacet;
 </pre>
 <p></p>
@@ -986,8 +986,8 @@
 <h3>
 <a name="xmlSchemaFacetLink">Structure </a>xmlSchemaFacetLink</h3>
 <pre class="programlisting">struct _xmlSchemaFacetLink {
-    struct _xmlSchemaFacetLink *	next	: the next facet link ...
-    <a href="libxml2-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a>	facet	: the linked facet
+    struct _xmlSchemaFacetLink *	next
+    <a href="libxml2-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a>	facet
 } xmlSchemaFacetLink;
 </pre>
 <p></p>
@@ -1013,7 +1013,7 @@
 <h3>
 <a name="xmlSchemaNotation">Structure </a>xmlSchemaNotation</h3>
 <pre class="programlisting">struct _xmlSchemaNotation {
-    <a href="libxml2-schemasInternals.html#xmlSchemaTypeType">xmlSchemaTypeType</a>	type	: The kind of type
+    <a href="libxml2-schemasInternals.html#xmlSchemaTypeType">xmlSchemaTypeType</a>	type
     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	name
     <a href="libxml2-schemasInternals.html#xmlSchemaAnnotPtr">xmlSchemaAnnotPtr</a>	annot
     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	identifier
@@ -1035,34 +1035,34 @@
 <h3>
 <a name="xmlSchemaType">Structure </a>xmlSchemaType</h3>
 <pre class="programlisting">struct _xmlSchemaType {
-    <a href="libxml2-schemasInternals.html#xmlSchemaTypeType">xmlSchemaTypeType</a>	type	: The kind of type
-    struct _xmlSchemaType *	next	: the next type if in a sequence ...
+    <a href="libxml2-schemasInternals.html#xmlSchemaTypeType">xmlSchemaTypeType</a>	type
+    struct _xmlSchemaType *	next
     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	name
-    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	id	: Deprecated; not used
-    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	ref	: Deprecated; not used
-    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	refNs	: Deprecated; not used
+    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	id
+    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	ref
+    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	refNs
     <a href="libxml2-schemasInternals.html#xmlSchemaAnnotPtr">xmlSchemaAnnotPtr</a>	annot
     <a href="libxml2-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a>	subtypes
-    <a href="libxml2-schemasInternals.html#xmlSchemaAttributePtr">xmlSchemaAttributePtr</a>	attributes	: Deprecated; not used
+    <a href="libxml2-schemasInternals.html#xmlSchemaAttributePtr">xmlSchemaAttributePtr</a>	attributes
     <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	node
-    int	minOccurs	: Deprecated; not used
-    int	maxOccurs	: Deprecated; not used
+    int	minOccurs
+    int	maxOccurs
     int	flags
     <a href="libxml2-schemasInternals.html#xmlSchemaContentType">xmlSchemaContentType</a>	contentType
-    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	base	: Base type's local name
-    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	baseNs	: Base type's target namespace
-    <a href="libxml2-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a>	baseType	: The base type component
-    <a href="libxml2-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a>	facets	: Local facets
-    struct _xmlSchemaType *	redef	: Deprecated; not used
-    int	recurse	: Obsolete
-    <a href="libxml2-schemasInternals.html#xmlSchemaAttributeLinkPtr">xmlSchemaAttributeLinkPtr</a> *	attributeUses	: Deprecated; not used
+    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	base
+    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	baseNs
+    <a href="libxml2-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a>	baseType
+    <a href="libxml2-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a>	facets
+    struct _xmlSchemaType *	redef
+    int	recurse
+    <a href="libxml2-schemasInternals.html#xmlSchemaAttributeLinkPtr">xmlSchemaAttributeLinkPtr</a> *	attributeUses
     <a href="libxml2-schemasInternals.html#xmlSchemaWildcardPtr">xmlSchemaWildcardPtr</a>	attributeWildcard
-    int	builtInType	: Type of built-in types.
-    <a href="libxml2-schemasInternals.html#xmlSchemaTypeLinkPtr">xmlSchemaTypeLinkPtr</a>	memberTypes	: member-types if a union type.
-    <a href="libxml2-schemasInternals.html#xmlSchemaFacetLinkPtr">xmlSchemaFacetLinkPtr</a>	facetSet	: All facets (incl. inherited)
-    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	refPrefix	: Deprecated; not used
-    <a href="libxml2-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a>	contentTypeDef	: Used for the simple content of complex types. Could we use @subtypes
-    <a href="libxml2-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a>	contModel	: Holds the automaton of the content model
+    int	builtInType
+    <a href="libxml2-schemasInternals.html#xmlSchemaTypeLinkPtr">xmlSchemaTypeLinkPtr</a>	memberTypes
+    <a href="libxml2-schemasInternals.html#xmlSchemaFacetLinkPtr">xmlSchemaFacetLinkPtr</a>	facetSet
+    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	refPrefix
+    <a href="libxml2-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a>	contentTypeDef
+    <a href="libxml2-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a>	contModel
     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	targetNamespace
     void *	attrUses
 } xmlSchemaType;
@@ -1074,8 +1074,8 @@
 <h3>
 <a name="xmlSchemaTypeLink">Structure </a>xmlSchemaTypeLink</h3>
 <pre class="programlisting">struct _xmlSchemaTypeLink {
-    struct _xmlSchemaTypeLink *	next	: the next type link ...
-    <a href="libxml2-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a>	type	: the linked type
+    struct _xmlSchemaTypeLink *	next
+    <a href="libxml2-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a>	type
 } xmlSchemaTypeLink;
 </pre>
 <p></p>
@@ -1224,16 +1224,16 @@
 <h3>
 <a name="xmlSchemaWildcard">Structure </a>xmlSchemaWildcard</h3>
 <pre class="programlisting">struct _xmlSchemaWildcard {
-    <a href="libxml2-schemasInternals.html#xmlSchemaTypeType">xmlSchemaTypeType</a>	type	: The kind of type
-    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	id	: Deprecated; not used
+    <a href="libxml2-schemasInternals.html#xmlSchemaTypeType">xmlSchemaTypeType</a>	type
+    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	id
     <a href="libxml2-schemasInternals.html#xmlSchemaAnnotPtr">xmlSchemaAnnotPtr</a>	annot
     <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	node
-    int	minOccurs	: Deprecated; not used
-    int	maxOccurs	: Deprecated; not used
+    int	minOccurs
+    int	maxOccurs
     int	processContents
-    int	any	: Indicates if the ns constraint is of ##any
-    <a href="libxml2-schemasInternals.html#xmlSchemaWildcardNsPtr">xmlSchemaWildcardNsPtr</a>	nsSet	: The list of allowed namespaces
-    <a href="libxml2-schemasInternals.html#xmlSchemaWildcardNsPtr">xmlSchemaWildcardNsPtr</a>	negNsSet	: The negated namespace
+    int	any
+    <a href="libxml2-schemasInternals.html#xmlSchemaWildcardNsPtr">xmlSchemaWildcardNsPtr</a>	nsSet
+    <a href="libxml2-schemasInternals.html#xmlSchemaWildcardNsPtr">xmlSchemaWildcardNsPtr</a>	negNsSet
     int	flags
 } xmlSchemaWildcard;
 </pre>
@@ -1244,8 +1244,8 @@
 <h3>
 <a name="xmlSchemaWildcardNs">Structure </a>xmlSchemaWildcardNs</h3>
 <pre class="programlisting">struct _xmlSchemaWildcardNs {
-    struct _xmlSchemaWildcardNs *	next	: the next constraint link ...
-    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	value	: the value
+    struct _xmlSchemaWildcardNs *	next
+    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	value
 } xmlSchemaWildcardNs;
 </pre>
 <p></p>
diff --git a/doc/devhelp/libxml2-threads.html b/doc/devhelp/libxml2-threads.html
index 6efceb7..691d63d 100644
--- a/doc/devhelp/libxml2-threads.html
+++ b/doc/devhelp/libxml2-threads.html
@@ -30,9 +30,7 @@
 void	<a href="#xmlCleanupThreads">xmlCleanupThreads</a>		(void);
 void	<a href="#xmlFreeMutex">xmlFreeMutex</a>			(<a href="libxml2-threads.html#xmlMutexPtr">xmlMutexPtr</a> tok);
 void	<a href="#xmlFreeRMutex">xmlFreeRMutex</a>			(<a href="libxml2-threads.html#xmlRMutexPtr">xmlRMutexPtr</a> tok);
-int	<a href="#xmlGetThreadId">xmlGetThreadId</a>			(void);
 void	<a href="#xmlInitThreads">xmlInitThreads</a>			(void);
-int	<a href="#xmlIsMainThread">xmlIsMainThread</a>			(void);
 void	<a href="#xmlLockLibrary">xmlLockLibrary</a>			(void);
 void	<a href="#xmlMutexLock">xmlMutexLock</a>			(<a href="libxml2-threads.html#xmlMutexPtr">xmlMutexPtr</a> tok);
 void	<a href="#xmlMutexUnlock">xmlMutexUnlock</a>			(<a href="libxml2-threads.html#xmlMutexPtr">xmlMutexPtr</a> tok);
@@ -93,7 +91,7 @@
 <col align="left">
 <tbody><tr>
 <td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td>0 on success or -1 if a memory allocation failed. A failed allocation signals a typically fatal and irrecoverable out-of-memory situation. Don't call any library functions in this case. This function never fails if the library is compiled with support for thread-local storage. This function never fails for the "main" thread which is the first thread calling <a href="libxml2-parser.html#xmlInitParser">xmlInitParser</a>. Available since v2.12.0.</td>
+<td>0 on success or -1 if a memory allocation failed. A failed allocation signals a typically fatal and irrecoverable out-of-memory situation. Don't call any library functions in this case. Available since 2.12.0.</td>
 </tr></tbody>
 </table></div>
 </div>
@@ -138,21 +136,6 @@
 <hr>
 <div class="refsect2" lang="en">
 <h3>
-<a name="xmlGetThreadId"></a>xmlGetThreadId ()</h3>
-<pre class="programlisting">int	xmlGetThreadId			(void)<br>
-</pre>
-<p>DEPRECATED: Internal function, do not use. xmlGetThreadId() find the current thread ID number Note that this is likely to be broken on some platforms using pthreads as the specification doesn't mandate pthread_t to be an integer type</p>
-<div class="variablelist"><table border="0">
-<col align="left">
-<tbody><tr>
-<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td>the current thread ID number</td>
-</tr></tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
 <a name="xmlInitThreads"></a>xmlInitThreads ()</h3>
 <pre class="programlisting">void	xmlInitThreads			(void)<br>
 </pre>
@@ -161,21 +144,6 @@
 <hr>
 <div class="refsect2" lang="en">
 <h3>
-<a name="xmlIsMainThread"></a>xmlIsMainThread ()</h3>
-<pre class="programlisting">int	xmlIsMainThread			(void)<br>
-</pre>
-<p>DEPRECATED: Internal function, do not use. Check whether the current thread is the main thread.</p>
-<div class="variablelist"><table border="0">
-<col align="left">
-<tbody><tr>
-<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td>1 if the current thread is the main thread, 0 otherwise</td>
-</tr></tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
 <a name="xmlLockLibrary"></a>xmlLockLibrary ()</h3>
 <pre class="programlisting">void	xmlLockLibrary			(void)<br>
 </pre>
diff --git a/doc/devhelp/libxml2-tree.html b/doc/devhelp/libxml2-tree.html
index 814163a..3400e1f 100644
--- a/doc/devhelp/libxml2-tree.html
+++ b/doc/devhelp/libxml2-tree.html
@@ -22,14 +22,15 @@
 <p>Author(s): Daniel Veillard </p>
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
-<pre class="synopsis">#define <a href="#BASE_BUFFER_SIZE">BASE_BUFFER_SIZE</a>;
-#define <a href="#LIBXML2_NEW_BUFFER">LIBXML2_NEW_BUFFER</a>;
+<pre class="synopsis">#define <a href="#LIBXML2_NEW_BUFFER">LIBXML2_NEW_BUFFER</a>;
 #define <a href="#XML_GET_CONTENT">XML_GET_CONTENT</a>;
 #define <a href="#XML_GET_LINE">XML_GET_LINE</a>;
 #define <a href="#XML_LOCAL_NAMESPACE">XML_LOCAL_NAMESPACE</a>;
 #define <a href="#XML_XML_ID">XML_XML_ID</a>;
 #define <a href="#XML_XML_NAMESPACE">XML_XML_NAMESPACE</a>;
+#define <a href="#xmlBufferAllocScheme">xmlBufferAllocScheme</a>;
 #define <a href="#xmlChildrenNode">xmlChildrenNode</a>;
+#define <a href="#xmlDefaultBufferSize">xmlDefaultBufferSize</a>;
 #define <a href="#xmlRootNode">xmlRootNode</a>;
 typedef struct _xmlAttr <a href="#xmlAttr">xmlAttr</a>;
 typedef <a href="libxml2-tree.html#xmlAttr">xmlAttr</a> * <a href="#xmlAttrPtr">xmlAttrPtr</a>;
@@ -188,7 +189,6 @@
 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlNewDocText">xmlNewDocText</a>		(const <a href="libxml2-tree.html#xmlDoc">xmlDoc</a> * doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlNewDocTextLen">xmlNewDocTextLen</a>	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content, <br>					 int len);
 <a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a>	<a href="#xmlNewDtd">xmlNewDtd</a>		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * SystemID);
-<a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a>	<a href="#xmlNewGlobalNs">xmlNewGlobalNs</a>		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * href, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix);
 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlNewNode">xmlNewNode</a>		(<a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> ns, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlNewNodeEatName">xmlNewNodeEatName</a>	(<a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> ns, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
 <a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a>	<a href="#xmlNewNs">xmlNewNs</a>		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * href, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix);
@@ -249,8 +249,6 @@
 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlStringLenGetNodeList">xmlStringLenGetNodeList</a>	(const <a href="libxml2-tree.html#xmlDoc">xmlDoc</a> * doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br>					 int len);
 int	<a href="#xmlTextConcat">xmlTextConcat</a>			(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content, <br>					 int len);
 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlTextMerge">xmlTextMerge</a>		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> first, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> second);
-<a href="libxml2-tree.html#xmlBufferAllocationScheme">xmlBufferAllocationScheme</a>	<a href="#xmlThrDefBufferAllocScheme">xmlThrDefBufferAllocScheme</a>	(<a href="libxml2-tree.html#xmlBufferAllocationScheme">xmlBufferAllocationScheme</a> v);
-int	<a href="#xmlThrDefDefaultBufferSize">xmlThrDefDefaultBufferSize</a>	(int v);
 <a href="libxml2-tree.html#xmlDeregisterNodeFunc">xmlDeregisterNodeFunc</a>	<a href="#xmlThrDefDeregisterNodeDefault">xmlThrDefDeregisterNodeDefault</a>	(<a href="libxml2-tree.html#xmlDeregisterNodeFunc">xmlDeregisterNodeFunc</a> func);
 <a href="libxml2-tree.html#xmlRegisterNodeFunc">xmlRegisterNodeFunc</a>	<a href="#xmlThrDefRegisterNodeDefault">xmlThrDefRegisterNodeDefault</a>	(<a href="libxml2-tree.html#xmlRegisterNodeFunc">xmlRegisterNodeFunc</a> func);
 void	<a href="#xmlUnlinkNode">xmlUnlinkNode</a>			(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
@@ -268,14 +266,6 @@
 <div class="refsect2" lang="en">
 <div class="refsect2" lang="en">
 <h3>
-<a name="BASE_BUFFER_SIZE">Macro </a>BASE_BUFFER_SIZE</h3>
-<pre class="programlisting">#define <a href="#BASE_BUFFER_SIZE">BASE_BUFFER_SIZE</a>;
-</pre>
-<p>default buffer size 4000.</p>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
 <a name="LIBXML2_NEW_BUFFER">Macro </a>LIBXML2_NEW_BUFFER</h3>
 <pre class="programlisting">#define <a href="#LIBXML2_NEW_BUFFER">LIBXML2_NEW_BUFFER</a>;
 </pre>
@@ -311,7 +301,7 @@
 <a name="XML_XML_ID">Macro </a>XML_XML_ID</h3>
 <pre class="programlisting">#define <a href="#XML_XML_ID">XML_XML_ID</a>;
 </pre>
-<p>This is the name for the special xml:id <a href="libxml2-SAX.html#attribute">attribute</a></p>
+<p>This is the name for the special xml:id attribute</p>
 </div>
 <hr>
 <div class="refsect2" lang="en">
@@ -324,6 +314,14 @@
 <hr>
 <div class="refsect2" lang="en">
 <h3>
+<a name="xmlBufferAllocScheme">Macro </a>xmlBufferAllocScheme</h3>
+<pre class="programlisting">#define <a href="#xmlBufferAllocScheme">xmlBufferAllocScheme</a>;
+</pre>
+<p></p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
 <a name="xmlChildrenNode">Macro </a>xmlChildrenNode</h3>
 <pre class="programlisting">#define <a href="#xmlChildrenNode">xmlChildrenNode</a>;
 </pre>
@@ -332,6 +330,14 @@
 <hr>
 <div class="refsect2" lang="en">
 <h3>
+<a name="xmlDefaultBufferSize">Macro </a>xmlDefaultBufferSize</h3>
+<pre class="programlisting">#define <a href="#xmlDefaultBufferSize">xmlDefaultBufferSize</a>;
+</pre>
+<p></p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
 <a name="xmlRootNode">Macro </a>xmlRootNode</h3>
 <pre class="programlisting">#define <a href="#xmlRootNode">xmlRootNode</a>;
 </pre>
@@ -342,19 +348,19 @@
 <h3>
 <a name="xmlAttr">Structure </a>xmlAttr</h3>
 <pre class="programlisting">struct _xmlAttr {
-    void *	_private	: application data
-    <a href="libxml2-tree.html#xmlElementType">xmlElementType</a>	type	: XML_ATTRIBUTE_NODE, must be second !
-    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	name	: the name of the property
-    struct _xmlNode *	children	: the value of the property
-    struct _xmlNode *	last	: NULL
-    struct _xmlNode *	parent	: child-&gt;parent link
-    struct _xmlAttr *	next	: next sibling link
-    struct _xmlAttr *	prev	: previous sibling link
-    struct _xmlDoc *	doc	: the containing document
-    <a href="libxml2-tree.html#xmlNs">xmlNs</a> *	ns	: pointer to the associated namespace
-    <a href="libxml2-tree.html#xmlAttributeType">xmlAttributeType</a>	atype	: the <a href="libxml2-SAX.html#attribute">attribute</a> type if validating
-    void *	psvi	: for type/PSVI information
-    struct _xmlID *	id	: the ID struct
+    void *	_private
+    <a href="libxml2-tree.html#xmlElementType">xmlElementType</a>	type
+    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	name
+    struct _xmlNode *	children
+    struct _xmlNode *	last
+    struct _xmlNode *	parent
+    struct _xmlAttr *	next
+    struct _xmlAttr *	prev
+    struct _xmlDoc *	doc
+    <a href="libxml2-tree.html#xmlNs">xmlNs</a> *	ns
+    <a href="libxml2-tree.html#xmlAttributeType">xmlAttributeType</a>	atype
+    void *	psvi
+    struct _xmlID *	id
 } xmlAttr;
 </pre>
 <p></p>
@@ -372,22 +378,22 @@
 <h3>
 <a name="xmlAttribute">Structure </a>xmlAttribute</h3>
 <pre class="programlisting">struct _xmlAttribute {
-    void *	_private	: application data
-    <a href="libxml2-tree.html#xmlElementType">xmlElementType</a>	type	: XML_ATTRIBUTE_DECL, must be second !
-    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	name	: Attribute name
-    struct _xmlNode *	children	: NULL
-    struct _xmlNode *	last	: NULL
-    struct _xmlDtd *	parent	: -&gt; DTD
-    struct _xmlNode *	next	: next sibling link
-    struct _xmlNode *	prev	: previous sibling link
-    struct _xmlDoc *	doc	: the containing document
-    struct _xmlAttribute *	nexth	: next in hash table
-    <a href="libxml2-tree.html#xmlAttributeType">xmlAttributeType</a>	atype	: The <a href="libxml2-SAX.html#attribute">attribute</a> type
-    <a href="libxml2-tree.html#xmlAttributeDefault">xmlAttributeDefault</a>	def	: the default
-    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	defaultValue	: or the default value
-    <a href="libxml2-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a>	tree	: or the enumeration tree if any
-    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	prefix	: the namespace prefix if any
-    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	elem	: Element holding the <a href="libxml2-SAX.html#attribute">attribute</a>
+    void *	_private
+    <a href="libxml2-tree.html#xmlElementType">xmlElementType</a>	type
+    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	name
+    struct _xmlNode *	children
+    struct _xmlNode *	last
+    struct _xmlDtd *	parent
+    struct _xmlNode *	next
+    struct _xmlNode *	prev
+    struct _xmlDoc *	doc
+    struct _xmlAttribute *	nexth
+    <a href="libxml2-tree.html#xmlAttributeType">xmlAttributeType</a>	atype
+    <a href="libxml2-tree.html#xmlAttributeDefault">xmlAttributeDefault</a>	def
+    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	defaultValue
+    <a href="libxml2-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a>	tree
+    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	prefix
+    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	elem
 } xmlAttribute;
 </pre>
 <p></p>
@@ -455,11 +461,11 @@
 <h3>
 <a name="xmlBuffer">Structure </a>xmlBuffer</h3>
 <pre class="programlisting">struct _xmlBuffer {
-    <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	content	: The buffer content UTF8
-    unsigned int	use	: The buffer size used
-    unsigned int	size	: The buffer size
-    <a href="libxml2-tree.html#xmlBufferAllocationScheme">xmlBufferAllocationScheme</a>	alloc	: The realloc method
-    <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	contentIO	: in IO mode we may have a different base
+    <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	content
+    unsigned int	use
+    unsigned int	size
+    <a href="libxml2-tree.html#xmlBufferAllocationScheme">xmlBufferAllocationScheme</a>	alloc
+    <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	contentIO
 } xmlBuffer;
 </pre>
 <p></p>
@@ -492,9 +498,9 @@
 <h3>
 <a name="xmlDOMWrapCtxt">Structure </a>xmlDOMWrapCtxt</h3>
 <pre class="programlisting">struct _xmlDOMWrapCtxt {
-    void *	_private	: * The type of this context, just in case we need specialized * context
-    int	type	: * Internal namespace map used for various operations. *
-    void *	namespaceMap	: * Use this one to acquire an <a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> intended for node-&gt;ns. * (Note t
+    void *	_private
+    int	type
+    void *	namespaceMap
     <a href="libxml2-tree.html#xmlDOMWrapAcquireNsFunction">xmlDOMWrapAcquireNsFunction</a>	getNsForNodeFunc
 } xmlDOMWrapCtxt;
 </pre>
@@ -513,30 +519,30 @@
 <h3>
 <a name="xmlDoc">Structure </a>xmlDoc</h3>
 <pre class="programlisting">struct _xmlDoc {
-    void *	_private	: application data
-    <a href="libxml2-tree.html#xmlElementType">xmlElementType</a>	type	: XML_DOCUMENT_NODE, must be second !
-    char *	name	: name/filename/URI of the document
-    struct _xmlNode *	children	: the document tree
-    struct _xmlNode *	last	: last child link
-    struct _xmlNode *	parent	: child-&gt;parent link
-    struct _xmlNode *	next	: next sibling link
-    struct _xmlNode *	prev	: previous sibling link
-    struct _xmlDoc *	doc	: autoreference to itself End of common part
-    int	compression	: level of zlib compression
-    int	standalone	: standalone document (no external refs) 1 if standalone="yes" 0 if sta
-    struct _xmlDtd *	intSubset	: the document internal subset
-    struct _xmlDtd *	extSubset	: the document external subset
-    struct _xmlNs *	oldNs	: Global namespace, the old way
-    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	version	: the XML version string
-    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	encoding	: actual encoding, if any
-    void *	ids	: Hash table for ID attributes if any
-    void *	refs	: Hash table for IDREFs attributes if any
-    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	URL	: The URI for that document
-    int	charset	: unused
-    struct _xmlDict *	dict	: dict used to allocate names or NULL
-    void *	psvi	: for type/PSVI information
-    int	parseFlags	: set of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a> used to parse the document
-    int	properties	: set of <a href="libxml2-tree.html#xmlDocProperties">xmlDocProperties</a> for this document set at the end of parsing
+    void *	_private
+    <a href="libxml2-tree.html#xmlElementType">xmlElementType</a>	type
+    char *	name
+    struct _xmlNode *	children
+    struct _xmlNode *	last
+    struct _xmlNode *	parent
+    struct _xmlNode *	next
+    struct _xmlNode *	prev
+    struct _xmlDoc *	doc
+    int	compression
+    int	standalone
+    struct _xmlDtd *	intSubset
+    struct _xmlDtd *	extSubset
+    struct _xmlNs *	oldNs
+    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	version
+    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	encoding
+    void *	ids
+    void *	refs
+    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	URL
+    int	charset
+    struct _xmlDict *	dict
+    void *	psvi
+    int	parseFlags
+    int	properties
 } xmlDoc;
 </pre>
 <p></p>
@@ -571,22 +577,22 @@
 <h3>
 <a name="xmlDtd">Structure </a>xmlDtd</h3>
 <pre class="programlisting">struct _xmlDtd {
-    void *	_private	: application data
-    <a href="libxml2-tree.html#xmlElementType">xmlElementType</a>	type	: XML_DTD_NODE, must be second !
-    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	name	: Name of the DTD
-    struct _xmlNode *	children	: the value of the property link
-    struct _xmlNode *	last	: last child link
-    struct _xmlDoc *	parent	: child-&gt;parent link
-    struct _xmlNode *	next	: next sibling link
-    struct _xmlNode *	prev	: previous sibling link
-    struct _xmlDoc *	doc	: the containing document End of common part
-    void *	notations	: Hash table for notations if any
-    void *	elements	: Hash table for elements if any
-    void *	attributes	: Hash table for attributes if any
-    void *	entities	: Hash table for entities if any
-    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	ExternalID	: External identifier for PUBLIC DTD
-    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	SystemID	: URI for a SYSTEM or PUBLIC DTD
-    void *	pentities	: Hash table for param entities if any
+    void *	_private
+    <a href="libxml2-tree.html#xmlElementType">xmlElementType</a>	type
+    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	name
+    struct _xmlNode *	children
+    struct _xmlNode *	last
+    struct _xmlDoc *	parent
+    struct _xmlNode *	next
+    struct _xmlNode *	prev
+    struct _xmlDoc *	doc
+    void *	notations
+    void *	elements
+    void *	attributes
+    void *	entities
+    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	ExternalID
+    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	SystemID
+    void *	pentities
 } xmlDtd;
 </pre>
 <p></p>
@@ -604,20 +610,20 @@
 <h3>
 <a name="xmlElement">Structure </a>xmlElement</h3>
 <pre class="programlisting">struct _xmlElement {
-    void *	_private	: application data
-    <a href="libxml2-tree.html#xmlElementType">xmlElementType</a>	type	: XML_ELEMENT_DECL, must be second !
-    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	name	: Element name
-    struct _xmlNode *	children	: NULL
-    struct _xmlNode *	last	: NULL
-    struct _xmlDtd *	parent	: -&gt; DTD
-    struct _xmlNode *	next	: next sibling link
-    struct _xmlNode *	prev	: previous sibling link
-    struct _xmlDoc *	doc	: the containing document
-    <a href="libxml2-tree.html#xmlElementTypeVal">xmlElementTypeVal</a>	etype	: The type
-    <a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a>	content	: the allowed element content
-    <a href="libxml2-tree.html#xmlAttributePtr">xmlAttributePtr</a>	attributes	: List of the declared attributes
-    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	prefix	: the namespace prefix if any
-    <a href="libxml2-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a>	contModel	: the validating regexp
+    void *	_private
+    <a href="libxml2-tree.html#xmlElementType">xmlElementType</a>	type
+    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	name
+    struct _xmlNode *	children
+    struct _xmlNode *	last
+    struct _xmlDtd *	parent
+    struct _xmlNode *	next
+    struct _xmlNode *	prev
+    struct _xmlDoc *	doc
+    <a href="libxml2-tree.html#xmlElementTypeVal">xmlElementTypeVal</a>	etype
+    <a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a>	content
+    <a href="libxml2-tree.html#xmlAttributePtr">xmlAttributePtr</a>	attributes
+    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	prefix
+    <a href="libxml2-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a>	contModel
     void *	contModel
 } xmlElement;
 </pre>
@@ -628,13 +634,13 @@
 <h3>
 <a name="xmlElementContent">Structure </a>xmlElementContent</h3>
 <pre class="programlisting">struct _xmlElementContent {
-    <a href="libxml2-tree.html#xmlElementContentType">xmlElementContentType</a>	type	: PCDATA, ELEMENT, SEQ or OR
-    <a href="libxml2-tree.html#xmlElementContentOccur">xmlElementContentOccur</a>	ocur	: ONCE, OPT, MULT or PLUS
-    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	name	: Element name
-    struct _xmlElementContent *	c1	: first child
-    struct _xmlElementContent *	c2	: second child
-    struct _xmlElementContent *	parent	: parent
-    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	prefix	: Namespace prefix
+    <a href="libxml2-tree.html#xmlElementContentType">xmlElementContentType</a>	type
+    <a href="libxml2-tree.html#xmlElementContentOccur">xmlElementContentOccur</a>	ocur
+    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	name
+    struct _xmlElementContent *	c1
+    struct _xmlElementContent *	c2
+    struct _xmlElementContent *	parent
+    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	prefix
 } xmlElementContent;
 </pre>
 <p></p>
@@ -729,26 +735,26 @@
 <h3>
 <a name="xmlEntity">Structure </a>xmlEntity</h3>
 <pre class="programlisting">struct _xmlEntity {
-    void *	_private	: application data
-    <a href="libxml2-tree.html#xmlElementType">xmlElementType</a>	type	: XML_ENTITY_DECL, must be second !
-    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	name	: Entity name
-    struct _xmlNode *	children	: First child link
-    struct _xmlNode *	last	: Last child link
-    struct _xmlDtd *	parent	: -&gt; DTD
-    struct _xmlNode *	next	: next sibling link
-    struct _xmlNode *	prev	: previous sibling link
-    struct _xmlDoc *	doc	: the containing document
-    <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	orig	: content without ref substitution
-    <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	content	: content or ndata if unparsed
-    int	length	: the content length
-    <a href="libxml2-entities.html#xmlEntityType">xmlEntityType</a>	etype	: The entity type
-    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	ExternalID	: External identifier for PUBLIC
-    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	SystemID	: URI for a SYSTEM or PUBLIC Entity
-    struct _xmlEntity *	nexte	: unused
-    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	URI	: the full URI as computed
-    int	owner	: unused
-    int	flags	: various flags
-    unsigned long	expandedSize	: expanded size
+    void *	_private
+    <a href="libxml2-tree.html#xmlElementType">xmlElementType</a>	type
+    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	name
+    struct _xmlNode *	children
+    struct _xmlNode *	last
+    struct _xmlDtd *	parent
+    struct _xmlNode *	next
+    struct _xmlNode *	prev
+    struct _xmlDoc *	doc
+    <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	orig
+    <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	content
+    int	length
+    <a href="libxml2-entities.html#xmlEntityType">xmlEntityType</a>	etype
+    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	ExternalID
+    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	SystemID
+    struct _xmlEntity *	nexte
+    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	URI
+    int	owner
+    int	flags
+    unsigned long	expandedSize
 } xmlEntity;
 </pre>
 <p></p>
@@ -766,8 +772,8 @@
 <h3>
 <a name="xmlEnumeration">Structure </a>xmlEnumeration</h3>
 <pre class="programlisting">struct _xmlEnumeration {
-    struct _xmlEnumeration *	next	: next one
-    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	name	: Enumeration name
+    struct _xmlEnumeration *	next
+    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	name
 } xmlEnumeration;
 </pre>
 <p></p>
@@ -785,12 +791,12 @@
 <h3>
 <a name="xmlID">Structure </a>xmlID</h3>
 <pre class="programlisting">struct _xmlID {
-    struct _xmlID *	next	: next ID
-    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	value	: The ID name
-    <a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a>	attr	: The <a href="libxml2-SAX.html#attribute">attribute</a> holding it
-    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	name	: The <a href="libxml2-SAX.html#attribute">attribute</a> if attr is not available
-    int	lineno	: The line number if attr is not available
-    struct _xmlDoc *	doc	: The document holding the ID
+    struct _xmlID *	next
+    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	value
+    <a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a>	attr
+    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	name
+    int	lineno
+    struct _xmlDoc *	doc
 } xmlID;
 </pre>
 <p></p>
@@ -808,22 +814,22 @@
 <h3>
 <a name="xmlNode">Structure </a>xmlNode</h3>
 <pre class="programlisting">struct _xmlNode {
-    void *	_private	: application data
-    <a href="libxml2-tree.html#xmlElementType">xmlElementType</a>	type	: type number, must be second !
-    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	name	: the name of the node, or the entity
-    struct _xmlNode *	children	: parent-&gt;childs link
-    struct _xmlNode *	last	: last child link
-    struct _xmlNode *	parent	: child-&gt;parent link
-    struct _xmlNode *	next	: next sibling link
-    struct _xmlNode *	prev	: previous sibling link
-    struct _xmlDoc *	doc	: the containing document End of common part
-    <a href="libxml2-tree.html#xmlNs">xmlNs</a> *	ns	: pointer to the associated namespace
-    <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	content	: the content
-    struct _xmlAttr *	properties	: properties list
-    <a href="libxml2-tree.html#xmlNs">xmlNs</a> *	nsDef	: namespace definitions on this node
-    void *	psvi	: for type/PSVI information
-    unsigned short	line	: line number
-    unsigned short	extra	: extra data for XPath/XSLT
+    void *	_private
+    <a href="libxml2-tree.html#xmlElementType">xmlElementType</a>	type
+    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	name
+    struct _xmlNode *	children
+    struct _xmlNode *	last
+    struct _xmlNode *	parent
+    struct _xmlNode *	next
+    struct _xmlNode *	prev
+    struct _xmlDoc *	doc
+    <a href="libxml2-tree.html#xmlNs">xmlNs</a> *	ns
+    <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	content
+    struct _xmlAttr *	properties
+    <a href="libxml2-tree.html#xmlNs">xmlNs</a> *	nsDef
+    void *	psvi
+    unsigned short	line
+    unsigned short	extra
 } xmlNode;
 </pre>
 <p></p>
@@ -841,9 +847,9 @@
 <h3>
 <a name="xmlNotation">Structure </a>xmlNotation</h3>
 <pre class="programlisting">struct _xmlNotation {
-    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	name	: Notation name
-    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	PublicID	: Public identifier, if any
-    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	SystemID	: System identifier, if any
+    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	name
+    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	PublicID
+    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	SystemID
 } xmlNotation;
 </pre>
 <p></p>
@@ -861,12 +867,12 @@
 <h3>
 <a name="xmlNs">Structure </a>xmlNs</h3>
 <pre class="programlisting">struct _xmlNs {
-    struct _xmlNs *	next	: next Ns link for this node
-    <a href="libxml2-tree.html#xmlNsType">xmlNsType</a>	type	: global or local
-    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	href	: URL for the namespace
-    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	prefix	: prefix for the namespace
-    void *	_private	: application data
-    struct _xmlDoc *	context	: normally an <a href="libxml2-tree.html#xmlDoc">xmlDoc</a>
+    struct _xmlNs *	next
+    <a href="libxml2-tree.html#xmlNsType">xmlNsType</a>	type
+    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	href
+    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	prefix
+    void *	_private
+    struct _xmlDoc *	context
 } xmlNs;
 </pre>
 <p></p>
@@ -895,10 +901,10 @@
     void *	context
     <a href="libxml2-xmlIO.html#xmlOutputWriteCallback">xmlOutputWriteCallback</a>	writecallback
     <a href="libxml2-xmlIO.html#xmlOutputCloseCallback">xmlOutputCloseCallback</a>	closecallback
-    <a href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a>	encoder	: I18N conversions to UTF-8
-    <a href="libxml2-tree.html#xmlBufPtr">xmlBufPtr</a>	buffer	: Local buffer encoded in UTF-8 or ISOLatin
-    <a href="libxml2-tree.html#xmlBufPtr">xmlBufPtr</a>	conv	: if encoder != NULL buffer for output
-    int	written	: total number of byte written
+    <a href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a>	encoder
+    <a href="libxml2-tree.html#xmlBufPtr">xmlBufPtr</a>	buffer
+    <a href="libxml2-tree.html#xmlBufPtr">xmlBufPtr</a>	conv
+    int	written
     int	error
 } xmlOutputBuffer;
 </pre>
@@ -917,104 +923,108 @@
 <h3>
 <a name="xmlParserCtxt">Structure </a>xmlParserCtxt</h3>
 <pre class="programlisting">struct _xmlParserCtxt {
-    struct _xmlSAXHandler *	sax	: The SAX handler
-    void *	userData	: For SAX interface only, used by DOM build
-    <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	myDoc	: the document being built
-    int	wellFormed	: is the document well formed
-    int	replaceEntities	: shall we replace entities ?
-    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	version	: the XML version string
-    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	encoding	: the declared encoding, if any
-    int	standalone	: standalone document
-    int	html	: an HTML(1) document * 3 is HTML after &lt;head&gt; * 10 is HTML after &lt;body
-    <a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>	input	: Current input stream
-    int	inputNr	: Number of current input streams
-    int	inputMax	: Max number of input streams
-    <a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> *	inputTab	: stack of inputs Node analysis stack only used for DOM building
-    <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	node	: Current parsed Node
-    int	nodeNr	: Depth of the parsing stack
-    int	nodeMax	: Max depth of the parsing stack
-    <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> *	nodeTab	: array of nodes
-    int	record_info	: Whether node info should be kept
-    <a href="libxml2-parser.html#xmlParserNodeInfoSeq">xmlParserNodeInfoSeq</a>	node_seq	: info about each node parsed
-    int	errNo	: error code
-    int	hasExternalSubset	: <a href="libxml2-SAX.html#reference">reference</a> and external subset
-    int	hasPErefs	: the internal subset has PE refs
-    int	external	: unused
-    int	valid	: is the document valid
-    int	validate	: shall we try to validate ?
-    <a href="libxml2-valid.html#xmlValidCtxt">xmlValidCtxt</a>	vctxt	: The validity context
-    <a href="libxml2-parser.html#xmlParserInputState">xmlParserInputState</a>	instate	: push parser state
-    int	token	: unused
-    char *	directory	: unused Node name stack
-    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	name	: Current parsed Node
-    int	nameNr	: Depth of the parsing stack
-    int	nameMax	: Max depth of the parsing stack
-    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * *	nameTab	: array of nodes
-    long	nbChars	: unused
-    long	checkIndex	: used by progressive parsing lookup
-    int	keepBlanks	: ugly but ...
-    int	disableSAX	: SAX callbacks are disabled
-    int	inSubset	: Parsing is in int 1/ext 2 subset
-    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	intSubName	: name of subset
-    <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	extSubURI	: URI of external subset
-    <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	extSubSystem	: SYSTEM ID of external subset xml:space values
-    int *	space	: Should the parser preserve spaces
-    int	spaceNr	: Depth of the parsing stack
-    int	spaceMax	: Max depth of the parsing stack
-    int *	spaceTab	: array of space infos
-    int	depth	: to prevent entity substitution loops
-    <a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>	entity	: unused
-    int	charset	: unused
-    int	nodelen	: Those two fields are there to
-    int	nodemem	: Speed up large node parsing
-    int	pedantic	: signal pedantic warnings
-    void *	_private	: For user data, libxml won't touch it
-    int	loadsubset	: should the external subset be loaded
-    int	linenumbers	: set line number in element content
-    void *	catalogs	: document's own catalog
-    int	recovery	: run in recovery mode
-    int	progressive	: unused
-    <a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a>	dict	: dictionary for the parser
-    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * *	atts	: array for the attributes callbacks
-    int	maxatts	: the size of the array
-    int	docdict	: * pre-interned strings *
+    struct _xmlSAXHandler *	sax
+    void *	userData
+    <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	myDoc
+    int	wellFormed
+    int	replaceEntities
+    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	version
+    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	encoding
+    int	standalone
+    int	html
+    <a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>	input
+    int	inputNr
+    int	inputMax
+    <a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> *	inputTab
+    <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	node
+    int	nodeNr
+    int	nodeMax
+    <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> *	nodeTab
+    int	record_info
+    <a href="libxml2-parser.html#xmlParserNodeInfoSeq">xmlParserNodeInfoSeq</a>	node_seq
+    int	errNo
+    int	hasExternalSubset
+    int	hasPErefs
+    int	external
+    int	valid
+    int	validate
+    <a href="libxml2-valid.html#xmlValidCtxt">xmlValidCtxt</a>	vctxt
+    <a href="libxml2-parser.html#xmlParserInputState">xmlParserInputState</a>	instate
+    int	token
+    char *	directory
+    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	name
+    int	nameNr
+    int	nameMax
+    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> **	nameTab
+    long	nbChars
+    long	checkIndex
+    int	keepBlanks
+    int	disableSAX
+    int	inSubset
+    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	intSubName
+    <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	extSubURI
+    <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	extSubSystem
+    int *	space
+    int	spaceNr
+    int	spaceMax
+    int *	spaceTab
+    int	depth
+    <a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>	entity
+    int	charset
+    int	nodelen
+    int	nodemem
+    int	pedantic
+    void *	_private
+    int	loadsubset
+    int	linenumbers
+    void *	catalogs
+    int	recovery
+    int	progressive
+    <a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a>	dict
+    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> **	atts
+    int	maxatts
+    int	docdict
     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	str_xml
     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	str_xmlns
-    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	str_xml_ns	: * Everything below is used only by the new SAX mode *
-    int	sax2	: operating in the new SAX mode
-    int	nsNr	: the number of inherited namespaces
-    int	nsMax	: the size of the arrays
-    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * *	nsTab	: the array of prefix/namespace name
-    unsigned *	attallocs	: which <a href="libxml2-SAX.html#attribute">attribute</a> were allocated
-    <a href="libxml2-parser.html#xmlStartTag">xmlStartTag</a> *	pushTab	: array of data for push
-    <a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a>	attsDefault	: defaulted attributes if any
-    <a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a>	attsSpecial	: non-CDATA attributes if any
-    int	nsWellFormed	: is the document XML Namespace okay
-    int	options	: * Those fields are needed only for streaming parsing so far *
-    int	dictNames	: Use dictionary names for the tree
-    int	freeElemsNr	: number of freed element nodes
-    <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	freeElems	: List of freed element nodes
-    int	freeAttrsNr	: number of freed attributes nodes
-    <a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a>	freeAttrs	: * the complete error information for the last error. *
+    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	str_xml_ns
+    int	sax2
+    int	nsNr
+    int	nsMax
+    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> **	nsTab
+    unsigned *	attallocs
+    <a href="libxml2-parser.html#xmlStartTag">xmlStartTag</a> *	pushTab
+    <a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a>	attsDefault
+    <a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a>	attsSpecial
+    int	nsWellFormed
+    int	options
+    int	dictNames
+    int	freeElemsNr
+    <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	freeElems
+    int	freeAttrsNr
+    <a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a>	freeAttrs
     <a href="libxml2-xmlerror.html#xmlError">xmlError</a>	lastError
-    <a href="libxml2-parser.html#xmlParserMode">xmlParserMode</a>	parseMode	: the parser mode
-    unsigned long	nbentities	: unused
-    unsigned long	sizeentities	: size of external entities for use by HTML non-recursive parser
-    <a href="libxml2-parser.html#xmlParserNodeInfo">xmlParserNodeInfo</a> *	nodeInfo	: Current NodeInfo
-    int	nodeInfoNr	: Depth of the parsing stack
-    int	nodeInfoMax	: Max depth of the parsing stack
-    <a href="libxml2-parser.html#xmlParserNodeInfo">xmlParserNodeInfo</a> *	nodeInfoTab	: array of nodeInfos
-    int	input_id	: we need to label inputs
-    unsigned long	sizeentcopy	: volume of entity copy
-    int	endCheckState	: quote state for push parser
-    unsigned short	nbErrors	: number of errors
-    unsigned short	nbWarnings	: number of warnings
-    unsigned	maxAmpl	: maximum amplification factor
-    <a href="libxml2-parser.html#xmlParserNsData">xmlParserNsData</a> *	nsdb	: namespace database
-    unsigned	attrHashMax	: allocated size
-    <a href="libxml2-parser.html#xmlAttrHashBucket">xmlAttrHashBucket</a> *	attrHash	: atttribute hash table
+    <a href="libxml2-parser.html#xmlParserMode">xmlParserMode</a>	parseMode
+    unsigned long	nbentities
+    unsigned long	sizeentities
+    <a href="libxml2-parser.html#xmlParserNodeInfo">xmlParserNodeInfo</a> *	nodeInfo
+    int	nodeInfoNr
+    int	nodeInfoMax
+    <a href="libxml2-parser.html#xmlParserNodeInfo">xmlParserNodeInfo</a> *	nodeInfoTab
+    int	input_id
+    unsigned long	sizeentcopy
+    int	endCheckState
+    unsigned short	nbErrors
+    unsigned short	nbWarnings
+    unsigned	maxAmpl
+    <a href="libxml2-parser.html#xmlParserNsData">xmlParserNsData</a> *	nsdb
+    unsigned	attrHashMax
+    <a href="libxml2-parser.html#xmlAttrHashBucket">xmlAttrHashBucket</a> *	attrHash
     <a href="libxml2-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a>	errorHandler
     void *	errorCtxt
+    <a href="libxml2-parser.html#xmlResourceLoader">xmlResourceLoader</a>	resourceLoader
+    void *	resourceCtxt
+    <a href="libxml2-encoding.html#xmlCharEncConvImpl">xmlCharEncConvImpl</a>	convImpl
+    void *	convCtxt
 } xmlParserCtxt;
 </pre>
 <p></p>
@@ -1032,23 +1042,23 @@
 <h3>
 <a name="xmlParserInput">Structure </a>xmlParserInput</h3>
 <pre class="programlisting">struct _xmlParserInput {
-    <a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a>	buf	: UTF-8 encoded buffer
-    const char *	filename	: The file analyzed, if any
-    const char *	directory	: unused
-    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	base	: Base of the array to parse
-    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	cur	: Current char being parsed
-    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	end	: end of the array to parse
-    int	length	: unused
-    int	line	: Current line
-    int	col	: Current column
-    unsigned long	consumed	: How many xmlChars already consumed
-    <a href="libxml2-parser.html#xmlParserInputDeallocate">xmlParserInputDeallocate</a>	free	: function to deallocate the base
-    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	encoding	: unused
-    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	version	: the version string for entity
-    int	flags	: Flags
-    int	id	: an unique identifier for the entity
-    unsigned long	parentConsumed	: unused
-    <a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a>	entity	: entity, if any
+    <a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a>	buf
+    const char *	filename
+    const char *	directory
+    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	base
+    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	cur
+    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	end
+    int	length
+    int	line
+    int	col
+    unsigned long	consumed
+    <a href="libxml2-parser.html#xmlParserInputDeallocate">xmlParserInputDeallocate</a>	free
+    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	encoding
+    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	version
+    int	flags
+    int	id
+    unsigned long	parentConsumed
+    <a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a>	entity
 } xmlParserInput;
 </pre>
 <p></p>
@@ -1061,12 +1071,12 @@
     void *	context
     <a href="libxml2-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a>	readcallback
     <a href="libxml2-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a>	closecallback
-    <a href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a>	encoder	: I18N conversions to UTF-8
-    <a href="libxml2-tree.html#xmlBufPtr">xmlBufPtr</a>	buffer	: Local buffer encoded in UTF-8
-    <a href="libxml2-tree.html#xmlBufPtr">xmlBufPtr</a>	raw	: if encoder != NULL buffer for raw input
-    int	compressed	: -1=unknown, 0=not compressed, 1=compressed
+    <a href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a>	encoder
+    <a href="libxml2-tree.html#xmlBufPtr">xmlBufPtr</a>	buffer
+    <a href="libxml2-tree.html#xmlBufPtr">xmlBufPtr</a>	raw
+    int	compressed
     int	error
-    unsigned long	rawconsumed	: amount consumed from raw
+    unsigned long	rawconsumed
 } xmlParserInputBuffer;
 </pre>
 <p></p>
@@ -1092,11 +1102,11 @@
 <h3>
 <a name="xmlRef">Structure </a>xmlRef</h3>
 <pre class="programlisting">struct _xmlRef {
-    struct _xmlRef *	next	: next Ref
-    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	value	: The Ref name
-    <a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a>	attr	: The <a href="libxml2-SAX.html#attribute">attribute</a> holding it
-    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	name	: The <a href="libxml2-SAX.html#attribute">attribute</a> if attr is not available
-    int	lineno	: The line number if attr is not available
+    struct _xmlRef *	next
+    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	value
+    <a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a>	attr
+    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	name
+    int	lineno
 } xmlRef;
 </pre>
 <p></p>
@@ -1127,7 +1137,7 @@
     <a href="libxml2-parser.html#unparsedEntityDeclSAXFunc">unparsedEntityDeclSAXFunc</a>	unparsedEntityDecl
     <a href="libxml2-parser.html#setDocumentLocatorSAXFunc">setDocumentLocatorSAXFunc</a>	setDocumentLocator
     <a href="libxml2-parser.html#startDocumentSAXFunc">startDocumentSAXFunc</a>	startDocument
-    <a href="libxml2-parser.html#endDocumentSAXFunc">endDocumentSAXFunc</a>	endDocument	: * `startElement` and `endElement` are only used by the legacy SAX1 * i
+    <a href="libxml2-parser.html#endDocumentSAXFunc">endDocumentSAXFunc</a>	endDocument
     <a href="libxml2-parser.html#startElementSAXFunc">startElementSAXFunc</a>	startElement
     <a href="libxml2-parser.html#endElementSAXFunc">endElementSAXFunc</a>	endElement
     <a href="libxml2-parser.html#referenceSAXFunc">referenceSAXFunc</a>	reference
@@ -1137,11 +1147,11 @@
     <a href="libxml2-parser.html#commentSAXFunc">commentSAXFunc</a>	comment
     <a href="libxml2-parser.html#warningSAXFunc">warningSAXFunc</a>	warning
     <a href="libxml2-parser.html#errorSAXFunc">errorSAXFunc</a>	error
-    <a href="libxml2-parser.html#fatalErrorSAXFunc">fatalErrorSAXFunc</a>	fatalError	: unused error() get all the errors
+    <a href="libxml2-parser.html#fatalErrorSAXFunc">fatalErrorSAXFunc</a>	fatalError
     <a href="libxml2-parser.html#getParameterEntitySAXFunc">getParameterEntitySAXFunc</a>	getParameterEntity
     <a href="libxml2-parser.html#cdataBlockSAXFunc">cdataBlockSAXFunc</a>	cdataBlock
-    <a href="libxml2-parser.html#externalSubsetSAXFunc">externalSubsetSAXFunc</a>	externalSubset	: * `initialized` should always be set to <a href="libxml2-parser.html#XML_SAX2_MAGIC">XML_SAX2_MAGIC</a> to enable the *
-    unsigned int	initialized	: * The following members are only used by the SAX2 interface. *
+    <a href="libxml2-parser.html#externalSubsetSAXFunc">externalSubsetSAXFunc</a>	externalSubset
+    unsigned int	initialized
     void *	_private
     <a href="libxml2-parser.html#startElementNsSAX2Func">startElementNsSAX2Func</a>	startElementNs
     <a href="libxml2-parser.html#endElementNsSAX2Func">endElementNsSAX2Func</a>	endElementNs
@@ -1248,7 +1258,7 @@
 <a name="xmlAddChild"></a>xmlAddChild ()</h3>
 <pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlAddChild		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> parent, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur)<br>
 </pre>
-<p>Unlink @cur and append it to the children of @parent. If @cur is a text node, it may be merged with an adjacent text node and freed. In this case the text node containing the merged content is returned. If @cur is an <a href="libxml2-SAX.html#attribute">attribute</a> node, it is appended to the attributes of @parent. If the <a href="libxml2-SAX.html#attribute">attribute</a> list contains an <a href="libxml2-SAX.html#attribute">attribute</a> with a name matching @elem, the old <a href="libxml2-SAX.html#attribute">attribute</a> is destroyed. General notes: Move operations like <a href="libxml2-tree.html#xmlAddChild">xmlAddChild</a> can cause element or <a href="libxml2-SAX.html#attribute">attribute</a> nodes to <a href="libxml2-SAX.html#reference">reference</a> namespaces that aren't declared in one of their ancestors. This can lead to use-after-free errors if the elements containing the declarations are freed later, especially when moving nodes from one document to another. You should consider calling <a href="libxml2-tree.html#xmlReconciliateNs">xmlReconciliateNs</a> after a move operation to normalize namespaces. Another option is to call <a href="libxml2-tree.html#xmlDOMWrapAdoptNode">xmlDOMWrapAdoptNode</a> with the target parent before moving a node. For the most part, move operations don't check whether the resulting tree structure is valid. Users must make sure that parent nodes only receive children of valid types. Inserted child nodes must never be an ancestor of the parent node to avoid cycles in the tree structure. In general, only document, document fragments, elements and attributes should be used as parent nodes. When moving a node between documents and a memory allocation fails, the node's content will be corrupted and it will be unlinked. In this case, the node must be freed manually. Moving DTDs between documents isn't supported.</p>
+<p>Unlink @cur and append it to the children of @parent. If @cur is a text node, it may be merged with an adjacent text node and freed. In this case the text node containing the merged content is returned. If @cur is an attribute node, it is appended to the attributes of @parent. If the attribute list contains an attribute with a name matching @cur, the old attribute is destroyed. General notes: Move operations like <a href="libxml2-tree.html#xmlAddChild">xmlAddChild</a> can cause element or attribute nodes to reference namespaces that aren't declared in one of their ancestors. This can lead to use-after-free errors if the elements containing the declarations are freed later, especially when moving nodes from one document to another. You should consider calling <a href="libxml2-tree.html#xmlReconciliateNs">xmlReconciliateNs</a> after a move operation to normalize namespaces. Another option is to call <a href="libxml2-tree.html#xmlDOMWrapAdoptNode">xmlDOMWrapAdoptNode</a> with the target parent before moving a node. For the most part, move operations don't check whether the resulting tree structure is valid. Users must make sure that parent nodes only receive children of valid types. Inserted child nodes must never be an ancestor of the parent node to avoid cycles in the tree structure. In general, only document, document fragments, elements and attributes should be used as parent nodes. When moving a node between documents and a memory allocation fails, the node's content will be corrupted and it will be unlinked. In this case, the node must be freed manually. Moving DTDs between documents isn't supported.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -1262,7 +1272,7 @@
 </tr>
 <tr>
 <td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td>@elem or a sibling if @elem was merged. Returns NULL if arguments are invalid or a memory allocation failed.</td>
+<td>@cur or a sibling if @cur was merged. Returns NULL if arguments are invalid or a memory allocation failed.</td>
 </tr>
 </tbody>
 </table></div>
@@ -1298,7 +1308,7 @@
 <a name="xmlAddNextSibling"></a>xmlAddNextSibling ()</h3>
 <pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlAddNextSibling	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> prev, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur)<br>
 </pre>
-<p>Unlinks @cur and inserts it as next sibling after @prev. Unlike <a href="libxml2-tree.html#xmlAddChild">xmlAddChild</a> this function does not merge text nodes. If @cur is an <a href="libxml2-SAX.html#attribute">attribute</a> node, it is inserted after <a href="libxml2-SAX.html#attribute">attribute</a> @prev. If the <a href="libxml2-SAX.html#attribute">attribute</a> list contains an <a href="libxml2-SAX.html#attribute">attribute</a> with a name matching @cur, the old <a href="libxml2-SAX.html#attribute">attribute</a> is destroyed. See the notes in <a href="libxml2-tree.html#xmlAddChild">xmlAddChild</a>.</p>
+<p>Unlinks @cur and inserts it as next sibling after @prev. Unlike <a href="libxml2-tree.html#xmlAddChild">xmlAddChild</a> this function does not merge text nodes. If @cur is an attribute node, it is inserted after attribute @prev. If the attribute list contains an attribute with a name matching @cur, the old attribute is destroyed. See the notes in <a href="libxml2-tree.html#xmlAddChild">xmlAddChild</a>.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -1323,7 +1333,7 @@
 <a name="xmlAddPrevSibling"></a>xmlAddPrevSibling ()</h3>
 <pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlAddPrevSibling	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> next, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur)<br>
 </pre>
-<p>Unlinks @cur and inserts it as previous sibling before @next. Unlike <a href="libxml2-tree.html#xmlAddChild">xmlAddChild</a> this function does not merge text nodes. If @cur is an <a href="libxml2-SAX.html#attribute">attribute</a> node, it is inserted before <a href="libxml2-SAX.html#attribute">attribute</a> @next. If the <a href="libxml2-SAX.html#attribute">attribute</a> list contains an <a href="libxml2-SAX.html#attribute">attribute</a> with a name matching @cur, the old <a href="libxml2-SAX.html#attribute">attribute</a> is destroyed. See the notes in <a href="libxml2-tree.html#xmlAddChild">xmlAddChild</a>.</p>
+<p>Unlinks @cur and inserts it as previous sibling before @next. Unlike <a href="libxml2-tree.html#xmlAddChild">xmlAddChild</a> this function does not merge text nodes. If @cur is an attribute node, it is inserted before attribute @next. If the attribute list contains an attribute with a name matching @cur, the old attribute is destroyed. See the notes in <a href="libxml2-tree.html#xmlAddChild">xmlAddChild</a>.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -1348,7 +1358,7 @@
 <a name="xmlAddSibling"></a>xmlAddSibling ()</h3>
 <pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlAddSibling		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur)<br>
 </pre>
-<p>Unlinks @cur and inserts it as last sibling of @node. If @cur is a text node, it may be merged with an adjacent text node and freed. In this case the text node containing the merged content is returned. If @cur is an <a href="libxml2-SAX.html#attribute">attribute</a> node, it is appended to the <a href="libxml2-SAX.html#attribute">attribute</a> list containing @node. If the <a href="libxml2-SAX.html#attribute">attribute</a> list contains an <a href="libxml2-SAX.html#attribute">attribute</a> with a name matching @cur, the old <a href="libxml2-SAX.html#attribute">attribute</a> is destroyed. See the notes in <a href="libxml2-tree.html#xmlAddChild">xmlAddChild</a>.</p>
+<p>Unlinks @cur and inserts it as last sibling of @node. If @cur is a text node, it may be merged with an adjacent text node and freed. In this case the text node containing the merged content is returned. If @cur is an attribute node, it is appended to the attribute list containing @node. If the attribute list contains an attribute with a name matching @cur, the old attribute is destroyed. See the notes in <a href="libxml2-tree.html#xmlAddChild">xmlAddChild</a>.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -1373,7 +1383,7 @@
 <a name="xmlAttrSerializeTxtContent"></a>xmlAttrSerializeTxtContent ()</h3>
 <pre class="programlisting">void	xmlAttrSerializeTxtContent	(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * string)<br>
 </pre>
-<p>Serialize text <a href="libxml2-SAX.html#attribute">attribute</a> values to an xml simple buffer</p>
+<p>Serialize text attribute values to an xml simple buffer</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -1387,7 +1397,7 @@
 </tr>
 <tr>
 <td><span class="term"><i><tt>attr</tt></i>:</span></td>
-<td>the <a href="libxml2-SAX.html#attribute">attribute</a> node</td>
+<td>the attribute node</td>
 </tr>
 <tr>
 <td><span class="term"><i><tt>string</tt></i>:</span></td>
@@ -1507,7 +1517,7 @@
 <a name="xmlBufShrink"></a>xmlBufShrink ()</h3>
 <pre class="programlisting">size_t	xmlBufShrink			(<a href="libxml2-tree.html#xmlBufPtr">xmlBufPtr</a> buf, <br>					 size_t len)<br>
 </pre>
-<p>Remove the beginning of an XML buffer. NOTE that this routine behaviour differs from xmlBufferShrink() as it will return 0 on error instead of -1 due to size_t being used as the return type.</p>
+<p>DEPRECATED: Don't use. Remove the beginning of an XML buffer. NOTE that this routine behaviour differs from xmlBufferShrink() as it will return 0 on error instead of -1 due to size_t being used as the return type.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -1571,7 +1581,7 @@
 </tr>
 <tr>
 <td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td>0 successful, a positive error code number otherwise and -1 in case of internal or API error.</td>
+<td>a <a href="libxml2-xmlerror.html#xmlParserErrors">xmlParserErrors</a> code.</td>
 </tr>
 </tbody>
 </table></div>
@@ -1600,7 +1610,7 @@
 </tr>
 <tr>
 <td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td>0 successful, a positive error code number otherwise and -1 in case of internal or API error.</td>
+<td>a <a href="libxml2-xmlerror.html#xmlParserErrors">xmlParserErrors</a> code.</td>
 </tr>
 </tbody>
 </table></div>
@@ -1819,7 +1829,7 @@
 <a name="xmlBufferGrow"></a>xmlBufferGrow ()</h3>
 <pre class="programlisting">int	xmlBufferGrow			(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>					 unsigned int len)<br>
 </pre>
-<p>Grow the available space of an XML buffer.</p>
+<p>DEPRECATED: Don't use. Grow the available space of an XML buffer.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -1865,7 +1875,7 @@
 <a name="xmlBufferResize"></a>xmlBufferResize ()</h3>
 <pre class="programlisting">int	xmlBufferResize			(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>					 unsigned int size)<br>
 </pre>
-<p>Resize a buffer to accommodate minimum size of @size.</p>
+<p>DEPRECATED: Don't use. Resize a buffer to accommodate minimum size of @size.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -1890,7 +1900,7 @@
 <a name="xmlBufferSetAllocationScheme"></a>xmlBufferSetAllocationScheme ()</h3>
 <pre class="programlisting">void	xmlBufferSetAllocationScheme	(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>					 <a href="libxml2-tree.html#xmlBufferAllocationScheme">xmlBufferAllocationScheme</a> scheme)<br>
 </pre>
-<p>Sets the allocation scheme for this buffer</p>
+<p>Sets the allocation scheme for this buffer. For libxml2 before 2.14, it is recommended to set this to XML_BUFFER_ALLOC_DOUBLE_IT. Has no effect on 2.14 or later.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -1911,7 +1921,7 @@
 <a name="xmlBufferShrink"></a>xmlBufferShrink ()</h3>
 <pre class="programlisting">int	xmlBufferShrink			(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>					 unsigned int len)<br>
 </pre>
-<p>Remove the beginning of an XML buffer.</p>
+<p>DEPRECATED: Don't use. Remove the beginning of an XML buffer.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -2187,22 +2197,21 @@
 <a name="xmlCopyProp"></a>xmlCopyProp ()</h3>
 <pre class="programlisting"><a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a>	xmlCopyProp		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> target, <br>					 <a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a> cur)<br>
 </pre>
-<p>Create a copy of the <a href="libxml2-SAX.html#attribute">attribute</a>. This function sets the parent pointer of the copy to @target but doesn't set the <a href="libxml2-SAX.html#attribute">attribute</a> on the target element. Users should consider to set the <a href="libxml2-SAX.html#attribute">attribute</a> by calling <a href="libxml2-tree.html#xmlAddChild">xmlAddChild</a> afterwards or reset the parent pointer to NULL.</p>
+<p>Create a copy of the attribute. This function sets the parent pointer of the copy to @target but doesn't set the attribute on the target element. Users should consider to set the attribute by calling <a href="libxml2-tree.html#xmlAddChild">xmlAddChild</a> afterwards or reset the parent pointer to NULL.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
 <tr>
 <td><span class="term"><i><tt>target</tt></i>:</span></td>
-<td>the element where the <a href="libxml2-SAX.html#attribute">attribute</a> will be grafted</td>
+<td>the element where the attribute will be grafted</td>
 </tr>
 <tr>
 <td><span class="term"><i><tt>cur</tt></i>:</span></td>
-<td>the <a href="libxml2-SAX.html#attribute">attribute</a>
-</td>
+<td>the attribute</td>
 </tr>
 <tr>
 <td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td>the copied <a href="libxml2-SAX.html#attribute">attribute</a> or NULL if a memory allocation failed.</td>
+<td>the copied attribute or NULL if a memory allocation failed.</td>
 </tr>
 </tbody>
 </table></div>
@@ -2213,7 +2222,7 @@
 <a name="xmlCopyPropList"></a>xmlCopyPropList ()</h3>
 <pre class="programlisting"><a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a>	xmlCopyPropList		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> target, <br>					 <a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a> cur)<br>
 </pre>
-<p>Create a copy of an <a href="libxml2-SAX.html#attribute">attribute</a> list. This function sets the parent pointers of the copied attributes to @target but doesn't set the attributes on the target element.</p>
+<p>Create a copy of an attribute list. This function sets the parent pointers of the copied attributes to @target but doesn't set the attributes on the target element.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -2223,8 +2232,7 @@
 </tr>
 <tr>
 <td><span class="term"><i><tt>cur</tt></i>:</span></td>
-<td>the first <a href="libxml2-SAX.html#attribute">attribute</a>
-</td>
+<td>the first attribute</td>
 </tr>
 <tr>
 <td><span class="term"><i><tt>Returns</tt></i>:</span></td>
@@ -2272,7 +2280,7 @@
 <a name="xmlDOMWrapAdoptNode"></a>xmlDOMWrapAdoptNode ()</h3>
 <pre class="programlisting">int	xmlDOMWrapAdoptNode		(<a href="libxml2-tree.html#xmlDOMWrapCtxtPtr">xmlDOMWrapCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> sourceDoc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> destDoc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> destParent, <br>					 int options)<br>
 </pre>
-<p>References of out-of scope ns-decls are remapped to point to @destDoc: 1) If @destParent is given, then nsDef entries on element-nodes are used 2) If *no* @destParent is given, then @destDoc-&gt;oldNs entries are used This is the case when you have an unlinked node and just want to move it to the context of If @destParent is given, it ensures that the tree is namespace wellformed by creating additional ns-decls where needed. Note that, since prefixes of already existent ns-decls can be shadowed by this process, it could break QNames in <a href="libxml2-SAX.html#attribute">attribute</a> values or element content. NOTE: This function was not intensively tested.</p>
+<p>References of out-of scope ns-decls are remapped to point to @destDoc: 1) If @destParent is given, then nsDef entries on element-nodes are used 2) If *no* @destParent is given, then @destDoc-&gt;oldNs entries are used This is the case when you have an unlinked node and just want to move it to the context of If @destParent is given, it ensures that the tree is namespace wellformed by creating additional ns-decls where needed. Note that, since prefixes of already existent ns-decls can be shadowed by this process, it could break QNames in attribute values or element content. NOTE: This function was not intensively tested.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -2313,7 +2321,7 @@
 <a name="xmlDOMWrapCloneNode"></a>xmlDOMWrapCloneNode ()</h3>
 <pre class="programlisting">int	xmlDOMWrapCloneNode		(<a href="libxml2-tree.html#xmlDOMWrapCtxtPtr">xmlDOMWrapCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> sourceDoc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> * resNode, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> destDoc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> destParent, <br>					 int deep, <br>					 int options)<br>
 </pre>
-<p>References of out-of scope ns-decls are remapped to point to @destDoc: 1) If @destParent is given, then nsDef entries on element-nodes are used 2) If *no* @destParent is given, then @destDoc-&gt;oldNs entries are used. This is the case when you don't know already where the cloned branch will be added to. If @destParent is given, it ensures that the tree is namespace wellformed by creating additional ns-decls where needed. Note that, since prefixes of already existent ns-decls can be shadowed by this process, it could break QNames in <a href="libxml2-SAX.html#attribute">attribute</a> values or element content. TODO: 1) What to do with XInclude? Currently this returns an error for XInclude.</p>
+<p>References of out-of scope ns-decls are remapped to point to @destDoc: 1) If @destParent is given, then nsDef entries on element-nodes are used 2) If *no* @destParent is given, then @destDoc-&gt;oldNs entries are used. This is the case when you don't know already where the cloned branch will be added to. If @destParent is given, it ensures that the tree is namespace wellformed by creating additional ns-decls where needed. Note that, since prefixes of already existent ns-decls can be shadowed by this process, it could break QNames in attribute values or element content. TODO: 1) What to do with XInclude? Currently this returns an error for XInclude.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -2392,7 +2400,7 @@
 <a name="xmlDOMWrapReconcileNamespaces"></a>xmlDOMWrapReconcileNamespaces ()</h3>
 <pre class="programlisting">int	xmlDOMWrapReconcileNamespaces	(<a href="libxml2-tree.html#xmlDOMWrapCtxtPtr">xmlDOMWrapCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem, <br>					 int options)<br>
 </pre>
-<p>Ensures that ns-references point to ns-decls hold on element-nodes. Ensures that the tree is namespace wellformed by creating additional ns-decls where needed. Note that, since prefixes of already existent ns-decls can be shadowed by this process, it could break QNames in <a href="libxml2-SAX.html#attribute">attribute</a> values or element content. NOTE: This function was not intensively tested.</p>
+<p>Ensures that ns-references point to ns-decls hold on element-nodes. Ensures that the tree is namespace wellformed by creating additional ns-decls where needed. Note that, since prefixes of already existent ns-decls can be shadowed by this process, it could break QNames in attribute values or element content. NOTE: This function was not intensively tested.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -2881,13 +2889,12 @@
 <a name="xmlFreeProp"></a>xmlFreeProp ()</h3>
 <pre class="programlisting">void	xmlFreeProp			(<a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a> cur)<br>
 </pre>
-<p>Free an <a href="libxml2-SAX.html#attribute">attribute</a> including all children.</p>
+<p>Free an attribute including all children.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody><tr>
 <td><span class="term"><i><tt>cur</tt></i>:</span></td>
-<td>an <a href="libxml2-SAX.html#attribute">attribute</a>
-</td>
+<td>an attribute</td>
 </tr></tbody>
 </table></div>
 </div>
@@ -2897,12 +2904,12 @@
 <a name="xmlFreePropList"></a>xmlFreePropList ()</h3>
 <pre class="programlisting">void	xmlFreePropList			(<a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a> cur)<br>
 </pre>
-<p>Free an <a href="libxml2-SAX.html#attribute">attribute</a> list including all children.</p>
+<p>Free an attribute list including all children.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody><tr>
 <td><span class="term"><i><tt>cur</tt></i>:</span></td>
-<td>the first <a href="libxml2-SAX.html#attribute">attribute</a> in the list</td>
+<td>the first attribute in the list</td>
 </tr></tbody>
 </table></div>
 </div>
@@ -2912,7 +2919,7 @@
 <a name="xmlGetBufferAllocationScheme"></a>xmlGetBufferAllocationScheme ()</h3>
 <pre class="programlisting"><a href="libxml2-tree.html#xmlBufferAllocationScheme">xmlBufferAllocationScheme</a>	xmlGetBufferAllocationScheme	(void)<br>
 </pre>
-<p>Types are <a href="libxml2-tree.html#XML_BUFFER_ALLOC_EXACT">XML_BUFFER_ALLOC_EXACT</a> - use exact sizes, keeps memory usage down <a href="libxml2-tree.html#XML_BUFFER_ALLOC_DOUBLEIT">XML_BUFFER_ALLOC_DOUBLEIT</a> - double buffer when extra needed, improves performance <a href="libxml2-tree.html#XML_BUFFER_ALLOC_HYBRID">XML_BUFFER_ALLOC_HYBRID</a> - use exact sizes on small strings to keep memory usage tight in normal usage, and doubleit on large strings to avoid pathological performance.</p>
+<p>DEPRECATED: Use <a href="libxml2-tree.html#xmlBufferSetAllocationScheme">xmlBufferSetAllocationScheme</a>. Types are <a href="libxml2-tree.html#XML_BUFFER_ALLOC_EXACT">XML_BUFFER_ALLOC_EXACT</a> - use exact sizes, keeps memory usage down <a href="libxml2-tree.html#XML_BUFFER_ALLOC_DOUBLEIT">XML_BUFFER_ALLOC_DOUBLEIT</a> - double buffer when extra needed, improves performance <a href="libxml2-tree.html#XML_BUFFER_ALLOC_HYBRID">XML_BUFFER_ALLOC_HYBRID</a> - use exact sizes on small strings to keep memory usage tight in normal usage, and doubleit on large strings to avoid pathological performance.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody><tr>
@@ -3026,7 +3033,7 @@
 <a name="xmlGetNoNsProp"></a>xmlGetNoNsProp ()</h3>
 <pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlGetNoNsProp		(const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * node, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
 </pre>
-<p>Search and get the value of an <a href="libxml2-SAX.html#attribute">attribute</a> associated to a node This does the entity substitution. This function looks in DTD <a href="libxml2-SAX.html#attribute">attribute</a> declaration for #FIXED or default declaration values. This function is similar to <a href="libxml2-tree.html#xmlGetProp">xmlGetProp</a> except it will accept only an <a href="libxml2-SAX.html#attribute">attribute</a> in no namespace. NOTE: This function doesn't allow to distinguish malloc failures from missing attributes. It's more robust to use <a href="libxml2-tree.html#xmlNodeGetAttrValue">xmlNodeGetAttrValue</a>.</p>
+<p>Search and get the value of an attribute associated to a node This does the entity substitution. This function looks in DTD attribute declaration for #FIXED or default declaration values. This function is similar to <a href="libxml2-tree.html#xmlGetProp">xmlGetProp</a> except it will accept only an attribute in no namespace. NOTE: This function doesn't allow to distinguish malloc failures from missing attributes. It's more robust to use <a href="libxml2-tree.html#xmlNodeGetAttrValue">xmlNodeGetAttrValue</a>.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -3036,11 +3043,11 @@
 </tr>
 <tr>
 <td><span class="term"><i><tt>name</tt></i>:</span></td>
-<td>the <a href="libxml2-SAX.html#attribute">attribute</a> name</td>
+<td>the attribute name</td>
 </tr>
 <tr>
 <td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td>the <a href="libxml2-SAX.html#attribute">attribute</a> value or NULL if not found or a memory allocation failed. It's up to the caller to free the memory with xmlFree().</td>
+<td>the attribute value or NULL if not found or a memory allocation failed. It's up to the caller to free the memory with xmlFree().</td>
 </tr>
 </tbody>
 </table></div>
@@ -3126,7 +3133,7 @@
 <a name="xmlGetNsProp"></a>xmlGetNsProp ()</h3>
 <pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlGetNsProp		(const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * node, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * nameSpace)<br>
 </pre>
-<p>Search and get the value of an <a href="libxml2-SAX.html#attribute">attribute</a> associated to a node This <a href="libxml2-SAX.html#attribute">attribute</a> has to be anchored in the namespace specified. This does the entity substitution. This function looks in DTD <a href="libxml2-SAX.html#attribute">attribute</a> declaration for #FIXED or default declaration values. NOTE: This function doesn't allow to distinguish malloc failures from missing attributes. It's more robust to use <a href="libxml2-tree.html#xmlNodeGetAttrValue">xmlNodeGetAttrValue</a>.</p>
+<p>Search and get the value of an attribute associated to a node This attribute has to be anchored in the namespace specified. This does the entity substitution. This function looks in DTD attribute declaration for #FIXED or default declaration values. NOTE: This function doesn't allow to distinguish malloc failures from missing attributes. It's more robust to use <a href="libxml2-tree.html#xmlNodeGetAttrValue">xmlNodeGetAttrValue</a>.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -3136,7 +3143,7 @@
 </tr>
 <tr>
 <td><span class="term"><i><tt>name</tt></i>:</span></td>
-<td>the <a href="libxml2-SAX.html#attribute">attribute</a> name</td>
+<td>the attribute name</td>
 </tr>
 <tr>
 <td><span class="term"><i><tt>nameSpace</tt></i>:</span></td>
@@ -3144,7 +3151,7 @@
 </tr>
 <tr>
 <td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td>the <a href="libxml2-SAX.html#attribute">attribute</a> value or NULL if not found or a memory allocation failed. It's up to the caller to free the memory with xmlFree().</td>
+<td>the attribute value or NULL if not found or a memory allocation failed. It's up to the caller to free the memory with xmlFree().</td>
 </tr>
 </tbody>
 </table></div>
@@ -3155,7 +3162,7 @@
 <a name="xmlGetProp"></a>xmlGetProp ()</h3>
 <pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlGetProp		(const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * node, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
 </pre>
-<p>Search and get the value of an <a href="libxml2-SAX.html#attribute">attribute</a> associated to a node This does the entity substitution. This function looks in DTD <a href="libxml2-SAX.html#attribute">attribute</a> declaration for #FIXED or default declaration values. NOTE: This function acts independently of namespaces associated to the <a href="libxml2-SAX.html#attribute">attribute</a>. Use xmlGetNsProp() or xmlGetNoNsProp() for namespace aware processing. NOTE: This function doesn't allow to distinguish malloc failures from missing attributes. It's more robust to use <a href="libxml2-tree.html#xmlNodeGetAttrValue">xmlNodeGetAttrValue</a>.</p>
+<p>Search and get the value of an attribute associated to a node This does the entity substitution. This function looks in DTD attribute declaration for #FIXED or default declaration values. NOTE: This function acts independently of namespaces associated to the attribute. Use xmlGetNsProp() or xmlGetNoNsProp() for namespace aware processing. NOTE: This function doesn't allow to distinguish malloc failures from missing attributes. It's more robust to use <a href="libxml2-tree.html#xmlNodeGetAttrValue">xmlNodeGetAttrValue</a>.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -3165,11 +3172,11 @@
 </tr>
 <tr>
 <td><span class="term"><i><tt>name</tt></i>:</span></td>
-<td>the <a href="libxml2-SAX.html#attribute">attribute</a> name</td>
+<td>the attribute name</td>
 </tr>
 <tr>
 <td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td>the <a href="libxml2-SAX.html#attribute">attribute</a> value or NULL if not found or a memory allocation failed. It's up to the caller to free the memory with xmlFree().</td>
+<td>the attribute value or NULL if not found or a memory allocation failed. It's up to the caller to free the memory with xmlFree().</td>
 </tr>
 </tbody>
 </table></div>
@@ -3180,7 +3187,7 @@
 <a name="xmlHasNsProp"></a>xmlHasNsProp ()</h3>
 <pre class="programlisting"><a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a>	xmlHasNsProp		(const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * node, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * nameSpace)<br>
 </pre>
-<p>Search for an <a href="libxml2-SAX.html#attribute">attribute</a> associated to a node This <a href="libxml2-SAX.html#attribute">attribute</a> has to be anchored in the namespace specified. This does the entity substitution. This function looks in DTD <a href="libxml2-SAX.html#attribute">attribute</a> declaration for #FIXED or default declaration values. Note that a namespace of NULL indicates to use the default namespace.</p>
+<p>Search for an attribute associated to a node This attribute has to be anchored in the namespace specified. This does the entity substitution. This function looks in DTD attribute declaration for #FIXED or default declaration values. Note that a namespace of NULL indicates to use the default namespace.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -3190,7 +3197,7 @@
 </tr>
 <tr>
 <td><span class="term"><i><tt>name</tt></i>:</span></td>
-<td>the <a href="libxml2-SAX.html#attribute">attribute</a> name</td>
+<td>the attribute name</td>
 </tr>
 <tr>
 <td><span class="term"><i><tt>nameSpace</tt></i>:</span></td>
@@ -3198,7 +3205,7 @@
 </tr>
 <tr>
 <td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td>the <a href="libxml2-SAX.html#attribute">attribute</a> or the <a href="libxml2-SAX.html#attribute">attribute</a> declaration or NULL if neither was found. Also returns NULL if a memory allocation failed making this function unreliable.</td>
+<td>the attribute or the attribute declaration or NULL if neither was found. Also returns NULL if a memory allocation failed making this function unreliable.</td>
 </tr>
 </tbody>
 </table></div>
@@ -3209,7 +3216,7 @@
 <a name="xmlHasProp"></a>xmlHasProp ()</h3>
 <pre class="programlisting"><a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a>	xmlHasProp		(const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * node, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
 </pre>
-<p>Search an <a href="libxml2-SAX.html#attribute">attribute</a> associated to a node This function also looks in DTD <a href="libxml2-SAX.html#attribute">attribute</a> declaration for #FIXED or default declaration values.</p>
+<p>Search an attribute associated to a node This function also looks in DTD attribute declaration for #FIXED or default declaration values.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -3219,11 +3226,11 @@
 </tr>
 <tr>
 <td><span class="term"><i><tt>name</tt></i>:</span></td>
-<td>the <a href="libxml2-SAX.html#attribute">attribute</a> name</td>
+<td>the attribute name</td>
 </tr>
 <tr>
 <td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td>the <a href="libxml2-SAX.html#attribute">attribute</a> or the <a href="libxml2-SAX.html#attribute">attribute</a> declaration or NULL if neither was found. Also returns NULL if a memory allocation failed making this function unreliable.</td>
+<td>the attribute or the attribute declaration or NULL if neither was found. Also returns NULL if a memory allocation failed making this function unreliable.</td>
 </tr>
 </tbody>
 </table></div>
@@ -3330,7 +3337,7 @@
 <a name="xmlNewCharRef"></a>xmlNewCharRef ()</h3>
 <pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlNewCharRef		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
 </pre>
-<p>This function is MISNAMED. It doesn't create a character <a href="libxml2-SAX.html#reference">reference</a> but an entity <a href="libxml2-SAX.html#reference">reference</a>. Create an empty entity <a href="libxml2-SAX.html#reference">reference</a> node. This function doesn't attempt to look up the entity in @doc. Entity names like '&amp;entity;' are handled as well.</p>
+<p>This function is MISNAMED. It doesn't create a character reference but an entity reference. Create an empty entity reference node. This function doesn't attempt to look up the entity in @doc. Entity names like '&amp;entity;' are handled as well.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -3355,7 +3362,7 @@
 <a name="xmlNewChild"></a>xmlNewChild ()</h3>
 <pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlNewChild		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> parent, <br>					 <a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> ns, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br>
 </pre>
-<p>Create a new child element and append it to a parent element. If @ns is NULL, the newly created element inherits the namespace of the parent. If provided, @content is expected to be a valid XML <a href="libxml2-SAX.html#attribute">attribute</a> value possibly containing character and entity references. Text and entity <a href="libxml2-SAX.html#reference">reference</a> node will be added to the child element, see <a href="libxml2-tree.html#xmlNewDocNode">xmlNewDocNode</a>.</p>
+<p>Create a new child element and append it to a parent element. If @ns is NULL, the newly created element inherits the namespace of the parent. If provided, @content is expected to be a valid XML attribute value possibly containing character and entity references. Text and entity reference node will be added to the child element, see <a href="libxml2-tree.html#xmlNewDocNode">xmlNewDocNode</a>.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -3388,13 +3395,13 @@
 <a name="xmlNewComment"></a>xmlNewComment ()</h3>
 <pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlNewComment		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br>
 </pre>
-<p>Use of this function is DISCOURAGED in favor of <a href="libxml2-tree.html#xmlNewDocComment">xmlNewDocComment</a>. Create a <a href="libxml2-SAX.html#comment">comment</a> node.</p>
+<p>Use of this function is DISCOURAGED in favor of <a href="libxml2-tree.html#xmlNewDocComment">xmlNewDocComment</a>. Create a comment node.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
 <tr>
 <td><span class="term"><i><tt>content</tt></i>:</span></td>
-<td>the <a href="libxml2-SAX.html#comment">comment</a> content (optional)</td>
+<td>the comment content (optional)</td>
 </tr>
 <tr>
 <td><span class="term"><i><tt>Returns</tt></i>:</span></td>
@@ -3430,7 +3437,7 @@
 <a name="xmlNewDocComment"></a>xmlNewDocComment ()</h3>
 <pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlNewDocComment	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br>
 </pre>
-<p>Create a <a href="libxml2-SAX.html#comment">comment</a> node.</p>
+<p>Create a comment node.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -3440,7 +3447,7 @@
 </tr>
 <tr>
 <td><span class="term"><i><tt>content</tt></i>:</span></td>
-<td>the <a href="libxml2-SAX.html#comment">comment</a> content</td>
+<td>the comment content</td>
 </tr>
 <tr>
 <td><span class="term"><i><tt>Returns</tt></i>:</span></td>
@@ -3476,7 +3483,7 @@
 <a name="xmlNewDocNode"></a>xmlNewDocNode ()</h3>
 <pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlNewDocNode		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> ns, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br>
 </pre>
-<p>Create an element node. If provided, @content is expected to be a valid XML <a href="libxml2-SAX.html#attribute">attribute</a> value possibly containing character and entity references. Syntax errors and references to undeclared entities are ignored silently. Only references are handled, nested elements, comments or PIs are not. See <a href="libxml2-tree.html#xmlNewDocRawNode">xmlNewDocRawNode</a> for an alternative. General notes on object creation: Each node and all its children are associated with the same document. The document should be provided when creating nodes to avoid a performance penalty when adding the node to a document tree. Note that a document only owns nodes reachable from the root node. Unlinked subtrees must be freed manually.</p>
+<p>Create an element node. If provided, @content is expected to be a valid XML attribute value possibly containing character and entity references. Syntax errors and references to undeclared entities are ignored silently. Only references are handled, nested elements, comments or PIs are not. See <a href="libxml2-tree.html#xmlNewDocRawNode">xmlNewDocRawNode</a> for an alternative. General notes on object creation: Each node and all its children are associated with the same document. The document should be provided when creating nodes to avoid a performance penalty when adding the node to a document tree. Note that a document only owns nodes reachable from the root node. Unlinked subtrees must be freed manually.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -3571,7 +3578,7 @@
 <a name="xmlNewDocProp"></a>xmlNewDocProp ()</h3>
 <pre class="programlisting"><a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a>	xmlNewDocProp		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value)<br>
 </pre>
-<p>Create an <a href="libxml2-SAX.html#attribute">attribute</a> object. If provided, @value is expected to be a valid XML <a href="libxml2-SAX.html#attribute">attribute</a> value possibly containing character and entity references. Syntax errors and references to undeclared entities are ignored silently. If you want to pass a raw string, see <a href="libxml2-tree.html#xmlNewProp">xmlNewProp</a>.</p>
+<p>Create an attribute object. If provided, @value is expected to be a valid XML attribute value possibly containing character and entity references. Syntax errors and references to undeclared entities are ignored silently. If you want to pass a raw string, see <a href="libxml2-tree.html#xmlNewProp">xmlNewProp</a>.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -3581,17 +3588,15 @@
 </tr>
 <tr>
 <td><span class="term"><i><tt>name</tt></i>:</span></td>
-<td>the name of the <a href="libxml2-SAX.html#attribute">attribute</a>
-</td>
+<td>the name of the attribute</td>
 </tr>
 <tr>
 <td><span class="term"><i><tt>value</tt></i>:</span></td>
-<td>
-<a href="libxml2-SAX.html#attribute">attribute</a> value with XML references (optional)</td>
+<td>attribute value with XML references (optional)</td>
 </tr>
 <tr>
 <td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td>a pointer to the <a href="libxml2-SAX.html#attribute">attribute</a> or NULL if arguments are invalid or a memory allocation failed.</td>
+<td>a pointer to the attribute or NULL if arguments are invalid or a memory allocation failed.</td>
 </tr>
 </tbody>
 </table></div>
@@ -3719,35 +3724,6 @@
 <hr>
 <div class="refsect2" lang="en">
 <h3>
-<a name="xmlNewGlobalNs"></a>xmlNewGlobalNs ()</h3>
-<pre class="programlisting"><a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a>	xmlNewGlobalNs		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * href, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix)<br>
-</pre>
-<p>Creation of a Namespace, the old way using PI and without scoping DEPRECATED !!!</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 document carrying the namespace</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>href</tt></i>:</span></td>
-<td>the URI associated</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>prefix</tt></i>:</span></td>
-<td>the prefix for the namespace</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td>NULL this functionality had been removed</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
 <a name="xmlNewNode"></a>xmlNewNode ()</h3>
 <pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlNewNode		(<a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> ns, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
 </pre>
@@ -3830,7 +3806,7 @@
 <a name="xmlNewNsProp"></a>xmlNewNsProp ()</h3>
 <pre class="programlisting"><a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a>	xmlNewNsProp		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 <a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> ns, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value)<br>
 </pre>
-<p>Create an <a href="libxml2-SAX.html#attribute">attribute</a> object. If provided, @value should be a raw, unescaped string. If @node is provided, the created <a href="libxml2-SAX.html#attribute">attribute</a> will be appended without checking for duplicate names. It is an error if @node is not an element.</p>
+<p>Create an attribute object. If provided, @value should be a raw, unescaped string. If @node is provided, the created attribute will be appended without checking for duplicate names. It is an error if @node is not an element.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -3844,16 +3820,15 @@
 </tr>
 <tr>
 <td><span class="term"><i><tt>name</tt></i>:</span></td>
-<td>the local name of the <a href="libxml2-SAX.html#attribute">attribute</a>
-</td>
+<td>the local name of the attribute</td>
 </tr>
 <tr>
 <td><span class="term"><i><tt>value</tt></i>:</span></td>
-<td>the value of the <a href="libxml2-SAX.html#attribute">attribute</a> (optional)</td>
+<td>the value of the attribute (optional)</td>
 </tr>
 <tr>
 <td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td>a pointer to the <a href="libxml2-SAX.html#attribute">attribute</a> or NULL if arguments are invalid or a memory allocation failed.</td>
+<td>a pointer to the attribute or NULL if arguments are invalid or a memory allocation failed.</td>
 </tr>
 </tbody>
 </table></div>
@@ -3878,16 +3853,15 @@
 </tr>
 <tr>
 <td><span class="term"><i><tt>name</tt></i>:</span></td>
-<td>the local name of the <a href="libxml2-SAX.html#attribute">attribute</a>
-</td>
+<td>the local name of the attribute</td>
 </tr>
 <tr>
 <td><span class="term"><i><tt>value</tt></i>:</span></td>
-<td>the value of the <a href="libxml2-SAX.html#attribute">attribute</a> (optional)</td>
+<td>the value of the attribute (optional)</td>
 </tr>
 <tr>
 <td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td>a pointer to the <a href="libxml2-SAX.html#attribute">attribute</a> or NULL if arguments are invalid or a memory allocation failed.</td>
+<td>a pointer to the attribute or NULL if arguments are invalid or a memory allocation failed.</td>
 </tr>
 </tbody>
 </table></div>
@@ -3923,7 +3897,7 @@
 <a name="xmlNewProp"></a>xmlNewProp ()</h3>
 <pre class="programlisting"><a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a>	xmlNewProp		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value)<br>
 </pre>
-<p>Create an <a href="libxml2-SAX.html#attribute">attribute</a> node. If provided, @value should be a raw, unescaped string. If @node is provided, the created <a href="libxml2-SAX.html#attribute">attribute</a> will be appended without checking for duplicate names. It is an error if @node is not an element.</p>
+<p>Create an attribute node. If provided, @value should be a raw, unescaped string. If @node is provided, the created attribute will be appended without checking for duplicate names. It is an error if @node is not an element.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -3933,16 +3907,15 @@
 </tr>
 <tr>
 <td><span class="term"><i><tt>name</tt></i>:</span></td>
-<td>the name of the <a href="libxml2-SAX.html#attribute">attribute</a>
-</td>
+<td>the name of the attribute</td>
 </tr>
 <tr>
 <td><span class="term"><i><tt>value</tt></i>:</span></td>
-<td>the value of the <a href="libxml2-SAX.html#attribute">attribute</a> (optional)</td>
+<td>the value of the attribute (optional)</td>
 </tr>
 <tr>
 <td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td>a pointer to the <a href="libxml2-SAX.html#attribute">attribute</a> or NULL if arguments are invalid or a memory allocation failed.</td>
+<td>a pointer to the attribute or NULL if arguments are invalid or a memory allocation failed.</td>
 </tr>
 </tbody>
 </table></div>
@@ -3953,7 +3926,7 @@
 <a name="xmlNewReference"></a>xmlNewReference ()</h3>
 <pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlNewReference		(const <a href="libxml2-tree.html#xmlDoc">xmlDoc</a> * doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
 </pre>
-<p>Create a new entity <a href="libxml2-SAX.html#reference">reference</a> node, linking the result with the entity in @doc if found. Entity names like '&amp;entity;' are handled as well.</p>
+<p>Create a new entity reference node, linking the result with the entity in @doc if found. Entity names like '&amp;entity;' are handled as well.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -4231,7 +4204,7 @@
 <a name="xmlNodeGetAttrValue"></a>xmlNodeGetAttrValue ()</h3>
 <pre class="programlisting">int	xmlNodeGetAttrValue		(const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * node, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * nsUri, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** out)<br>
 </pre>
-<p>Search and get the value of an <a href="libxml2-SAX.html#attribute">attribute</a> associated to a node This <a href="libxml2-SAX.html#attribute">attribute</a> has to be anchored in the namespace specified. This does the entity substitution. The returned value must be freed by the caller. Available since 2.13.0.</p>
+<p>Search and get the value of an attribute associated to a node This attribute has to be anchored in the namespace specified. This does the entity substitution. The returned value must be freed by the caller. Available since 2.13.0.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -4241,7 +4214,7 @@
 </tr>
 <tr>
 <td><span class="term"><i><tt>name</tt></i>:</span></td>
-<td>the <a href="libxml2-SAX.html#attribute">attribute</a> name</td>
+<td>the attribute name</td>
 </tr>
 <tr>
 <td><span class="term"><i><tt>nsUri</tt></i>:</span></td>
@@ -4253,7 +4226,7 @@
 </tr>
 <tr>
 <td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td>0 on success, 1 if no <a href="libxml2-SAX.html#attribute">attribute</a> was found, -1 if a memory allocation failed.</td>
+<td>0 on success, 1 if no attribute was found, -1 if a memory allocation failed.</td>
 </tr>
 </tbody>
 </table></div>
@@ -4339,7 +4312,7 @@
 <a name="xmlNodeGetLang"></a>xmlNodeGetLang ()</h3>
 <pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlNodeGetLang		(const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * cur)<br>
 </pre>
-<p>Searches the language of a node, i.e. the values of the xml:lang <a href="libxml2-SAX.html#attribute">attribute</a> or the one carried by the nearest ancestor.</p>
+<p>Searches the language of a node, i.e. the values of the xml:lang attribute or the one carried by the nearest ancestor.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -4360,7 +4333,7 @@
 <a name="xmlNodeGetSpacePreserve"></a>xmlNodeGetSpacePreserve ()</h3>
 <pre class="programlisting">int	xmlNodeGetSpacePreserve		(const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * cur)<br>
 </pre>
-<p>Searches the space preserving behaviour of a node, i.e. the values of the xml:space <a href="libxml2-SAX.html#attribute">attribute</a> or the one carried by the nearest ancestor.</p>
+<p>Searches the space preserving behaviour of a node, i.e. the values of the xml:space attribute or the one carried by the nearest ancestor.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -4402,7 +4375,7 @@
 <a name="xmlNodeListGetRawString"></a>xmlNodeListGetRawString ()</h3>
 <pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlNodeListGetRawString	(const <a href="libxml2-tree.html#xmlDoc">xmlDoc</a> * doc, <br>					 const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * list, <br>					 int inLine)<br>
 </pre>
-<p>Serializes <a href="libxml2-SAX.html#attribute">attribute</a> children (text and entity <a href="libxml2-SAX.html#reference">reference</a> nodes) into a string. An empty list produces an empty string. If @inLine is true, entity references will be substituted. Otherwise, entity references will be kept and special <a href="libxml2-SAX.html#characters">characters</a> like '&amp;' will be escaped.</p>
+<p>Serializes attribute children (text and entity reference nodes) into a string. If @inLine is true, entity references will be substituted. Otherwise, entity references will be kept and special characters like '&amp;' will be escaped.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -4412,7 +4385,7 @@
 </tr>
 <tr>
 <td><span class="term"><i><tt>list</tt></i>:</span></td>
-<td>a node list of <a href="libxml2-SAX.html#attribute">attribute</a> children (optional)</td>
+<td>a node list of attribute children</td>
 </tr>
 <tr>
 <td><span class="term"><i><tt>inLine</tt></i>:</span></td>
@@ -4431,7 +4404,7 @@
 <a name="xmlNodeListGetString"></a>xmlNodeListGetString ()</h3>
 <pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlNodeListGetString	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * list, <br>					 int inLine)<br>
 </pre>
-<p>Serializes <a href="libxml2-SAX.html#attribute">attribute</a> children (text and entity <a href="libxml2-SAX.html#reference">reference</a> nodes) into a string. An empty list produces an empty string. If @inLine is true, entity references will be substituted. Otherwise, entity references will be kept and special <a href="libxml2-SAX.html#characters">characters</a> like '&amp;' as well as non-ASCII chars will be escaped. See <a href="libxml2-tree.html#xmlNodeListGetRawString">xmlNodeListGetRawString</a> for an alternative option.</p>
+<p>Serializes attribute children (text and entity reference nodes) into a string. If @inLine is true, entity references will be substituted. Otherwise, entity references will be kept and special characters like '&amp;' as well as non-ASCII chars will be escaped. See <a href="libxml2-tree.html#xmlNodeListGetRawString">xmlNodeListGetRawString</a> for an alternative option.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -4441,7 +4414,7 @@
 </tr>
 <tr>
 <td><span class="term"><i><tt>list</tt></i>:</span></td>
-<td>a node list of <a href="libxml2-SAX.html#attribute">attribute</a> children (optional)</td>
+<td>a node list of attribute children</td>
 </tr>
 <tr>
 <td><span class="term"><i><tt>inLine</tt></i>:</span></td>
@@ -4460,7 +4433,7 @@
 <a name="xmlNodeSetBase"></a>xmlNodeSetBase ()</h3>
 <pre class="programlisting">int	xmlNodeSetBase			(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * uri)<br>
 </pre>
-<p>Set (or reset) the base URI of a node, i.e. the value of the xml:base <a href="libxml2-SAX.html#attribute">attribute</a>.</p>
+<p>Set (or reset) the base URI of a node, i.e. the value of the xml:base attribute.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -4485,7 +4458,7 @@
 <a name="xmlNodeSetContent"></a>xmlNodeSetContent ()</h3>
 <pre class="programlisting">int	xmlNodeSetContent		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br>
 </pre>
-<p>Replace the text content of a node. Sets the raw text content of text, CDATA, <a href="libxml2-SAX.html#comment">comment</a> or PI nodes. For element and <a href="libxml2-SAX.html#attribute">attribute</a> nodes, removes all children and replaces them by parsing @content which is expected to be a valid XML <a href="libxml2-SAX.html#attribute">attribute</a> value possibly containing character and entity references. Syntax errors and references to undeclared entities are ignored silently. Unfortunately, there isn't an API to pass raw content directly. An inefficient work-around is to escape the content with <a href="libxml2-entities.html#xmlEncodeSpecialChars">xmlEncodeSpecialChars</a> before passing it. A better trick is clearing the old content with xmlNodeSetContent(node, NULL) first and then calling xmlNodeAddContent(node, content). Unlike this function, <a href="libxml2-tree.html#xmlNodeAddContent">xmlNodeAddContent</a> accepts raw text.</p>
+<p>Replace the text content of a node. Sets the raw text content of text, CDATA, comment or PI nodes. For element and attribute nodes, removes all children and replaces them by parsing @content which is expected to be a valid XML attribute value possibly containing character and entity references. Syntax errors and references to undeclared entities are ignored silently. Unfortunately, there isn't an API to pass raw content directly. An inefficient work-around is to escape the content with <a href="libxml2-entities.html#xmlEncodeSpecialChars">xmlEncodeSpecialChars</a> before passing it. A better trick is clearing the old content with xmlNodeSetContent(node, NULL) first and then calling xmlNodeAddContent(node, content). Unlike this function, <a href="libxml2-tree.html#xmlNodeAddContent">xmlNodeAddContent</a> accepts raw text.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -4539,7 +4512,7 @@
 <a name="xmlNodeSetLang"></a>xmlNodeSetLang ()</h3>
 <pre class="programlisting">int	xmlNodeSetLang			(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * lang)<br>
 </pre>
-<p>Set the language of a node, i.e. the values of the xml:lang <a href="libxml2-SAX.html#attribute">attribute</a>.</p>
+<p>Set the language of a node, i.e. the values of the xml:lang attribute.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -4585,7 +4558,7 @@
 <a name="xmlNodeSetSpacePreserve"></a>xmlNodeSetSpacePreserve ()</h3>
 <pre class="programlisting">int	xmlNodeSetSpacePreserve		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br>					 int val)<br>
 </pre>
-<p>Set (or reset) the space preserving behaviour of a node, i.e. the value of the xml:space <a href="libxml2-SAX.html#attribute">attribute</a>.</p>
+<p>Set (or reset) the space preserving behaviour of a node, i.e. the value of the xml:space attribute.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -4677,18 +4650,17 @@
 <a name="xmlRemoveProp"></a>xmlRemoveProp ()</h3>
 <pre class="programlisting">int	xmlRemoveProp			(<a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a> cur)<br>
 </pre>
-<p>Unlink and free an <a href="libxml2-SAX.html#attribute">attribute</a> including all children. Note this doesn't work for namespace declarations. The <a href="libxml2-SAX.html#attribute">attribute</a> must have a non-NULL parent pointer.</p>
+<p>Unlink and free an attribute including all children. Note this doesn't work for namespace declarations. The attribute must have a non-NULL parent pointer.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
 <tr>
 <td><span class="term"><i><tt>cur</tt></i>:</span></td>
-<td>an <a href="libxml2-SAX.html#attribute">attribute</a>
-</td>
+<td>an attribute</td>
 </tr>
 <tr>
 <td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td>0 on success or -1 if the <a href="libxml2-SAX.html#attribute">attribute</a> was not found or arguments are invalid.</td>
+<td>0 on success or -1 if the attribute was not found or arguments are invalid.</td>
 </tr>
 </tbody>
 </table></div>
@@ -4960,7 +4932,7 @@
 <a name="xmlSetBufferAllocationScheme"></a>xmlSetBufferAllocationScheme ()</h3>
 <pre class="programlisting">void	xmlSetBufferAllocationScheme	(<a href="libxml2-tree.html#xmlBufferAllocationScheme">xmlBufferAllocationScheme</a> scheme)<br>
 </pre>
-<p>Set the buffer allocation method. Types are <a href="libxml2-tree.html#XML_BUFFER_ALLOC_EXACT">XML_BUFFER_ALLOC_EXACT</a> - use exact sizes, keeps memory usage down <a href="libxml2-tree.html#XML_BUFFER_ALLOC_DOUBLEIT">XML_BUFFER_ALLOC_DOUBLEIT</a> - double buffer when extra needed, improves performance</p>
+<p>DEPRECATED: Use <a href="libxml2-tree.html#xmlBufferSetAllocationScheme">xmlBufferSetAllocationScheme</a>. Set the buffer allocation method. Types are <a href="libxml2-tree.html#XML_BUFFER_ALLOC_EXACT">XML_BUFFER_ALLOC_EXACT</a> - use exact sizes, keeps memory usage down <a href="libxml2-tree.html#XML_BUFFER_ALLOC_DOUBLEIT">XML_BUFFER_ALLOC_DOUBLEIT</a> - double buffer when extra needed, improves performance</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody><tr>
@@ -5036,7 +5008,7 @@
 <a name="xmlSetNs"></a>xmlSetNs ()</h3>
 <pre class="programlisting">void	xmlSetNs			(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 <a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> ns)<br>
 </pre>
-<p>Set the namespace of an element or <a href="libxml2-SAX.html#attribute">attribute</a> node. Passing a NULL namespace unsets the namespace.</p>
+<p>Set the namespace of an element or attribute node. Passing a NULL namespace unsets the namespace.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -5057,7 +5029,7 @@
 <a name="xmlSetNsProp"></a>xmlSetNsProp ()</h3>
 <pre class="programlisting"><a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a>	xmlSetNsProp		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 <a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> ns, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value)<br>
 </pre>
-<p>Set (or reset) an <a href="libxml2-SAX.html#attribute">attribute</a> carried by a node. The ns structure must be in scope, this is not checked</p>
+<p>Set (or reset) an attribute carried by a node. The ns structure must be in scope, this is not checked</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -5071,15 +5043,15 @@
 </tr>
 <tr>
 <td><span class="term"><i><tt>name</tt></i>:</span></td>
-<td>the <a href="libxml2-SAX.html#attribute">attribute</a> name</td>
+<td>the attribute name</td>
 </tr>
 <tr>
 <td><span class="term"><i><tt>value</tt></i>:</span></td>
-<td>the <a href="libxml2-SAX.html#attribute">attribute</a> value</td>
+<td>the attribute value</td>
 </tr>
 <tr>
 <td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td>the <a href="libxml2-SAX.html#attribute">attribute</a> pointer.</td>
+<td>the attribute pointer.</td>
 </tr>
 </tbody>
 </table></div>
@@ -5090,7 +5062,7 @@
 <a name="xmlSetProp"></a>xmlSetProp ()</h3>
 <pre class="programlisting"><a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a>	xmlSetProp		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value)<br>
 </pre>
-<p>Set (or reset) an <a href="libxml2-SAX.html#attribute">attribute</a> carried by a node. If @name has a prefix, then the corresponding namespace-binding will be used, if in scope; it is an error it there's no such ns-binding for the prefix in scope.</p>
+<p>Set (or reset) an attribute carried by a node. If @name has a prefix, then the corresponding namespace-binding will be used, if in scope; it is an error it there's no such ns-binding for the prefix in scope.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -5100,15 +5072,15 @@
 </tr>
 <tr>
 <td><span class="term"><i><tt>name</tt></i>:</span></td>
-<td>the <a href="libxml2-SAX.html#attribute">attribute</a> name (a QName)</td>
+<td>the attribute name (a QName)</td>
 </tr>
 <tr>
 <td><span class="term"><i><tt>value</tt></i>:</span></td>
-<td>the <a href="libxml2-SAX.html#attribute">attribute</a> value</td>
+<td>the attribute value</td>
 </tr>
 <tr>
 <td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td>the <a href="libxml2-SAX.html#attribute">attribute</a> pointer.</td>
+<td>the attribute pointer.</td>
 </tr>
 </tbody>
 </table></div>
@@ -5194,7 +5166,7 @@
 <a name="xmlStringGetNodeList"></a>xmlStringGetNodeList ()</h3>
 <pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlStringGetNodeList	(const <a href="libxml2-tree.html#xmlDoc">xmlDoc</a> * doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value)<br>
 </pre>
-<p>DEPRECATED: Use <a href="libxml2-tree.html#xmlNodeSetContent">xmlNodeSetContent</a>. Parse an <a href="libxml2-SAX.html#attribute">attribute</a> value and build a node list containing only text and entity <a href="libxml2-SAX.html#reference">reference</a> nodes. The resulting nodes will be associated with the document if provided. The document is also used to look up entities. The input is not validated. Syntax errors or references to undeclared entities will be ignored silently with unspecified results.</p>
+<p>DEPRECATED: Use <a href="libxml2-tree.html#xmlNodeSetContent">xmlNodeSetContent</a>. Parse an attribute value and build a node list containing only text and entity reference nodes. The resulting nodes will be associated with the document if provided. The document is also used to look up entities. The input is not validated. Syntax errors or references to undeclared entities will be ignored silently with unspecified results.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -5204,11 +5176,11 @@
 </tr>
 <tr>
 <td><span class="term"><i><tt>value</tt></i>:</span></td>
-<td>an <a href="libxml2-SAX.html#attribute">attribute</a> value</td>
+<td>an attribute value</td>
 </tr>
 <tr>
 <td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td>a pointer to the first child or NULL if a memory allocation failed.</td>
+<td>a pointer to the first child or NULL if the value if empty or a memory allocation failed.</td>
 </tr>
 </tbody>
 </table></div>
@@ -5229,15 +5201,15 @@
 </tr>
 <tr>
 <td><span class="term"><i><tt>value</tt></i>:</span></td>
-<td>an <a href="libxml2-SAX.html#attribute">attribute</a> value</td>
+<td>an attribute value</td>
 </tr>
 <tr>
 <td><span class="term"><i><tt>len</tt></i>:</span></td>
-<td>maximum length of the <a href="libxml2-SAX.html#attribute">attribute</a> value</td>
+<td>maximum length of the attribute value</td>
 </tr>
 <tr>
 <td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td>a pointer to the first child or NULL if a memory allocation failed.</td>
+<td>a pointer to the first child or NULL if the value if empty or a memory allocation failed.</td>
 </tr>
 </tbody>
 </table></div>
@@ -5277,7 +5249,7 @@
 <a name="xmlTextMerge"></a>xmlTextMerge ()</h3>
 <pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlTextMerge		(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> first, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> second)<br>
 </pre>
-<p>Merge the second text node into the first. The second node is unlinked and freed.</p>
+<p>Merge the second text node into the first. If @first is NULL, @second is returned. Otherwise, the second node is unlinked and freed.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -5299,48 +5271,6 @@
 <hr>
 <div class="refsect2" lang="en">
 <h3>
-<a name="xmlThrDefBufferAllocScheme"></a>xmlThrDefBufferAllocScheme ()</h3>
-<pre class="programlisting"><a href="libxml2-tree.html#xmlBufferAllocationScheme">xmlBufferAllocationScheme</a>	xmlThrDefBufferAllocScheme	(<a href="libxml2-tree.html#xmlBufferAllocationScheme">xmlBufferAllocationScheme</a> v)<br>
-</pre>
-<p></p>
-<div class="variablelist"><table border="0">
-<col align="left">
-<tbody>
-<tr>
-<td><span class="term"><i><tt>v</tt></i>:</span></td>
-<td></td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td></td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
-<a name="xmlThrDefDefaultBufferSize"></a>xmlThrDefDefaultBufferSize ()</h3>
-<pre class="programlisting">int	xmlThrDefDefaultBufferSize	(int v)<br>
-</pre>
-<p></p>
-<div class="variablelist"><table border="0">
-<col align="left">
-<tbody>
-<tr>
-<td><span class="term"><i><tt>v</tt></i>:</span></td>
-<td></td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td></td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
 <a name="xmlThrDefDeregisterNodeDefault"></a>xmlThrDefDeregisterNodeDefault ()</h3>
 <pre class="programlisting"><a href="libxml2-tree.html#xmlDeregisterNodeFunc">xmlDeregisterNodeFunc</a>	xmlThrDefDeregisterNodeDefault	(<a href="libxml2-tree.html#xmlDeregisterNodeFunc">xmlDeregisterNodeFunc</a> func)<br>
 </pre>
@@ -5401,7 +5331,7 @@
 <a name="xmlUnsetNsProp"></a>xmlUnsetNsProp ()</h3>
 <pre class="programlisting">int	xmlUnsetNsProp			(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 <a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> ns, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
 </pre>
-<p>Remove an <a href="libxml2-SAX.html#attribute">attribute</a> carried by a node.</p>
+<p>Remove an attribute carried by a node.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -5415,7 +5345,7 @@
 </tr>
 <tr>
 <td><span class="term"><i><tt>name</tt></i>:</span></td>
-<td>the <a href="libxml2-SAX.html#attribute">attribute</a> name</td>
+<td>the attribute name</td>
 </tr>
 <tr>
 <td><span class="term"><i><tt>Returns</tt></i>:</span></td>
@@ -5430,7 +5360,7 @@
 <a name="xmlUnsetProp"></a>xmlUnsetProp ()</h3>
 <pre class="programlisting">int	xmlUnsetProp			(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
 </pre>
-<p>Remove an <a href="libxml2-SAX.html#attribute">attribute</a> carried by a node. This handles only attributes in no namespace.</p>
+<p>Remove an attribute carried by a node. This handles only attributes in no namespace.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -5440,7 +5370,7 @@
 </tr>
 <tr>
 <td><span class="term"><i><tt>name</tt></i>:</span></td>
-<td>the <a href="libxml2-SAX.html#attribute">attribute</a> name</td>
+<td>the attribute name</td>
 </tr>
 <tr>
 <td><span class="term"><i><tt>Returns</tt></i>:</span></td>
diff --git a/doc/devhelp/libxml2-uri.html b/doc/devhelp/libxml2-uri.html
index 04f9089..f2a1005 100644
--- a/doc/devhelp/libxml2-uri.html
+++ b/doc/devhelp/libxml2-uri.html
@@ -52,17 +52,17 @@
 <h3>
 <a name="xmlURI">Structure </a>xmlURI</h3>
 <pre class="programlisting">struct _xmlURI {
-    char *	scheme	: the URI scheme
-    char *	opaque	: opaque part
-    char *	authority	: the authority part
-    char *	server	: the server part
-    char *	user	: the user part
-    int	port	: the port number
-    char *	path	: the path string
-    char *	query	: the query string (deprecated - use with caution)
-    char *	fragment	: the fragment identifier
-    int	cleanup	: parsing potentially unclean URI
-    char *	query_raw	: the query string (as it appears in the URI)
+    char *	scheme
+    char *	opaque
+    char *	authority
+    char *	server
+    char *	user
+    int	port
+    char *	path
+    char *	query
+    char *	fragment
+    int	cleanup
+    char *	query_raw
 } xmlURI;
 </pre>
 <p></p>
@@ -87,7 +87,7 @@
 <tbody>
 <tr>
 <td><span class="term"><i><tt>URI</tt></i>:</span></td>
-<td>the URI <a href="libxml2-SAX.html#reference">reference</a> under consideration</td>
+<td>the URI reference under consideration</td>
 </tr>
 <tr>
 <td><span class="term"><i><tt>base</tt></i>:</span></td>
@@ -106,13 +106,13 @@
 <a name="xmlBuildRelativeURISafe"></a>xmlBuildRelativeURISafe ()</h3>
 <pre class="programlisting">int	xmlBuildRelativeURISafe		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URI, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * base, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** valPtr)<br>
 </pre>
-<p>Expresses the URI of the <a href="libxml2-SAX.html#reference">reference</a> in terms relative to the base. Some examples of this operation include: base = "http://site1.com/docs/book1.html" URI input URI returned docs/pic1.gif pic1.gif docs/img/pic1.gif img/pic1.gif img/pic1.gif ../img/pic1.gif http://site1.com/docs/pic1.gif pic1.gif http://site2.com/docs/pic1.gif http://site2.com/docs/pic1.gif base = "docs/book1.html" URI input URI returned docs/pic1.gif pic1.gif docs/img/pic1.gif img/pic1.gif img/pic1.gif ../img/pic1.gif http://site1.com/docs/pic1.gif http://site1.com/docs/pic1.gif Note: if the URI <a href="libxml2-SAX.html#reference">reference</a> is really weird or complicated, it may be worthwhile to first convert it into a "nice" one by calling <a href="libxml2-uri.html#xmlBuildURI">xmlBuildURI</a> (using 'base') before calling this routine, since this routine (for reasonable efficiency) assumes URI has already been through some validation. Available since 2.13.0.</p>
+<p>Expresses the URI of the reference in terms relative to the base. Some examples of this operation include: base = "http://site1.com/docs/book1.html" URI input URI returned http://site1.com/docs/pic1.gif pic1.gif http://site2.com/docs/pic1.gif http://site2.com/docs/pic1.gif base = "docs/book1.html" URI input URI returned docs/pic1.gif pic1.gif docs/img/pic1.gif img/pic1.gif img/pic1.gif ../img/pic1.gif http://site1.com/docs/pic1.gif http://site1.com/docs/pic1.gif Available since 2.13.0.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
 <tr>
 <td><span class="term"><i><tt>URI</tt></i>:</span></td>
-<td>the URI <a href="libxml2-SAX.html#reference">reference</a> under consideration</td>
+<td>the URI reference under consideration</td>
 </tr>
 <tr>
 <td><span class="term"><i><tt>base</tt></i>:</span></td>
@@ -135,7 +135,7 @@
 <a name="xmlBuildURI"></a>xmlBuildURI ()</h3>
 <pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlBuildURI		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URI, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * base)<br>
 </pre>
-<p>Computes he final URI of the <a href="libxml2-SAX.html#reference">reference</a> done by checking that the given URI is valid, and building the final URI using the base URI. This is processed according to section 5.2 of the RFC 2396 5.2. Resolving Relative References to Absolute Form</p>
+<p>Computes he final URI of the reference done by checking that the given URI is valid, and building the final URI using the base URI. This is processed according to section 5.2 of the RFC 2396 5.2. Resolving Relative References to Absolute Form</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -160,7 +160,7 @@
 <a name="xmlBuildURISafe"></a>xmlBuildURISafe ()</h3>
 <pre class="programlisting">int	xmlBuildURISafe			(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URI, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * base, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** valPtr)<br>
 </pre>
-<p>Computes he final URI of the <a href="libxml2-SAX.html#reference">reference</a> done by checking that the given URI is valid, and building the final URI using the base URI. This is processed according to section 5.2 of the RFC 2396 5.2. Resolving Relative References to Absolute Form Available since 2.13.0.</p>
+<p>Computes he final URI of the reference done by checking that the given URI is valid, and building the final URI using the base URI. This is processed according to section 5.2 of the RFC 2396 5.2. Resolving Relative References to Absolute Form Available since 2.13.0.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -308,7 +308,7 @@
 <a name="xmlParseURIReference"></a>xmlParseURIReference ()</h3>
 <pre class="programlisting">int	xmlParseURIReference		(<a href="libxml2-uri.html#xmlURIPtr">xmlURIPtr</a> uri, <br>					 const char * str)<br>
 </pre>
-<p>Parse an URI <a href="libxml2-SAX.html#reference">reference</a> string based on RFC 3986 and fills in the appropriate fields of the @uri structure URI-reference = URI / relative-ref</p>
+<p>Parse an URI reference string based on RFC 3986 and fills in the appropriate fields of the @uri structure URI-reference = URI / relative-ref</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -444,7 +444,7 @@
 <a name="xmlURIEscapeStr"></a>xmlURIEscapeStr ()</h3>
 <pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlURIEscapeStr		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * list)<br>
 </pre>
-<p>This routine escapes a string to hex, ignoring unreserved <a href="libxml2-SAX.html#characters">characters</a> a-z, A-Z, 0-9, "-._~", a few sub-delims "!*'()", the gen-delim "@" (why?) and the <a href="libxml2-SAX.html#characters">characters</a> in the exception list.</p>
+<p>This routine escapes a string to hex, ignoring unreserved characters a-z, A-Z, 0-9, "-._~", a few sub-delims "!*'()", the gen-delim "@" (why?) and the characters in the exception list.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
diff --git a/doc/devhelp/libxml2-valid.html b/doc/devhelp/libxml2-valid.html
index a66eb8f..eeef7c9 100644
--- a/doc/devhelp/libxml2-valid.html
+++ b/doc/devhelp/libxml2-valid.html
@@ -88,7 +88,7 @@
 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlValidNormalizeAttributeValue">xmlValidNormalizeAttributeValue</a>	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>						 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value);
 int	<a href="#xmlValidateAttributeDecl">xmlValidateAttributeDecl</a>	(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlAttributePtr">xmlAttributePtr</a> attr);
 int	<a href="#xmlValidateAttributeValue">xmlValidateAttributeValue</a>	(<a href="libxml2-tree.html#xmlAttributeType">xmlAttributeType</a> type, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value);
-int	<a href="#xmlValidateDocument">xmlValidateDocument</a>		(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc);
+int	<a href="#xmlValidateDocument">xmlValidateDocument</a>		(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> vctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc);
 int	<a href="#xmlValidateDocumentFinal">xmlValidateDocumentFinal</a>	(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc);
 int	<a href="#xmlValidateDtd">xmlValidateDtd</a>			(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd);
 int	<a href="#xmlValidateDtdFinal">xmlValidateDtdFinal</a>		(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc);
@@ -209,22 +209,22 @@
 <h3>
 <a name="xmlValidCtxt">Structure </a>xmlValidCtxt</h3>
 <pre class="programlisting">struct _xmlValidCtxt {
-    void *	userData	: user specific data block
-    <a href="libxml2-valid.html#xmlValidityErrorFunc">xmlValidityErrorFunc</a>	error	: the callback in case of errors
-    <a href="libxml2-valid.html#xmlValidityWarningFunc">xmlValidityWarningFunc</a>	warning	: the callback in case of warning Node analysis stack used when validat
-    <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	node	: Current parsed Node
-    int	nodeNr	: Depth of the parsing stack
-    int	nodeMax	: Max depth of the parsing stack
-    <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> *	nodeTab	: array of nodes
-    unsigned int	flags	: internal flags
-    <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	doc	: the document
-    int	valid	: temporary validity check result state state used for non-determinist
-    <a href="libxml2-valid.html#xmlValidState">xmlValidState</a> *	vstate	: current state
-    int	vstateNr	: Depth of the validation stack
-    int	vstateMax	: Max depth of the validation stack
-    <a href="libxml2-valid.html#xmlValidState">xmlValidState</a> *	vstateTab	: array of validation states
-    <a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a>	am	: the automata
-    <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	state	: used to build the automata
+    void *	userData
+    <a href="libxml2-valid.html#xmlValidityErrorFunc">xmlValidityErrorFunc</a>	error
+    <a href="libxml2-valid.html#xmlValidityWarningFunc">xmlValidityWarningFunc</a>	warning
+    <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	node
+    int	nodeNr
+    int	nodeMax
+    <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> *	nodeTab
+    unsigned int	flags
+    <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	doc
+    int	valid
+    <a href="libxml2-valid.html#xmlValidState">xmlValidState</a> *	vstate
+    int	vstateNr
+    int	vstateMax
+    <a href="libxml2-valid.html#xmlValidState">xmlValidState</a> *	vstateTab
+    <a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a>	am
+    <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>	state
     void *	am
     void *	state
 } xmlValidCtxt;
@@ -313,7 +313,7 @@
 <a name="xmlAddAttributeDecl"></a>xmlAddAttributeDecl ()</h3>
 <pre class="programlisting"><a href="libxml2-tree.html#xmlAttributePtr">xmlAttributePtr</a>	xmlAddAttributeDecl	(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * elem, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ns, <br>					 <a href="libxml2-tree.html#xmlAttributeType">xmlAttributeType</a> type, <br>					 <a href="libxml2-tree.html#xmlAttributeDefault">xmlAttributeDefault</a> def, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * defaultValue, <br>					 <a href="libxml2-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a> tree)<br>
 </pre>
-<p>Register a new <a href="libxml2-SAX.html#attribute">attribute</a> declaration Note that @tree becomes the ownership of the DTD</p>
+<p>DEPRECATED: Internal function, don't use. Register a new attribute declaration Note that @tree becomes the ownership of the DTD</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -331,23 +331,23 @@
 </tr>
 <tr>
 <td><span class="term"><i><tt>name</tt></i>:</span></td>
-<td>the <a href="libxml2-SAX.html#attribute">attribute</a> name</td>
+<td>the attribute name</td>
 </tr>
 <tr>
 <td><span class="term"><i><tt>ns</tt></i>:</span></td>
-<td>the <a href="libxml2-SAX.html#attribute">attribute</a> namespace prefix</td>
+<td>the attribute namespace prefix</td>
 </tr>
 <tr>
 <td><span class="term"><i><tt>type</tt></i>:</span></td>
-<td>the <a href="libxml2-SAX.html#attribute">attribute</a> type</td>
+<td>the attribute type</td>
 </tr>
 <tr>
 <td><span class="term"><i><tt>def</tt></i>:</span></td>
-<td>the <a href="libxml2-SAX.html#attribute">attribute</a> default type</td>
+<td>the attribute default type</td>
 </tr>
 <tr>
 <td><span class="term"><i><tt>defaultValue</tt></i>:</span></td>
-<td>the <a href="libxml2-SAX.html#attribute">attribute</a> default value</td>
+<td>the attribute default value</td>
 </tr>
 <tr>
 <td><span class="term"><i><tt>tree</tt></i>:</span></td>
@@ -355,7 +355,7 @@
 </tr>
 <tr>
 <td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td>NULL if not new, otherwise the <a href="libxml2-SAX.html#attribute">attribute</a> decl</td>
+<td>NULL if not new, otherwise the attribute decl</td>
 </tr>
 </tbody>
 </table></div>
@@ -366,7 +366,7 @@
 <a name="xmlAddElementDecl"></a>xmlAddElementDecl ()</h3>
 <pre class="programlisting"><a href="libxml2-tree.html#xmlElementPtr">xmlElementPtr</a>	xmlAddElementDecl	(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 <a href="libxml2-tree.html#xmlElementTypeVal">xmlElementTypeVal</a> type, <br>					 <a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> content)<br>
 </pre>
-<p>Register a new element declaration</p>
+<p>DEPRECATED: Internal function, don't use. Register a new element declaration</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -421,7 +421,7 @@
 </tr>
 <tr>
 <td><span class="term"><i><tt>attr</tt></i>:</span></td>
-<td>the <a href="libxml2-SAX.html#attribute">attribute</a> holding the ID</td>
+<td>the attribute holding the ID</td>
 </tr>
 <tr>
 <td><span class="term"><i><tt>Returns</tt></i>:</span></td>
@@ -443,11 +443,11 @@
 <tbody>
 <tr>
 <td><span class="term"><i><tt>attr</tt></i>:</span></td>
-<td>the <a href="libxml2-SAX.html#attribute">attribute</a> holding the ID</td>
+<td>the attribute holding the ID</td>
 </tr>
 <tr>
 <td><span class="term"><i><tt>value</tt></i>:</span></td>
-<td>the <a href="libxml2-SAX.html#attribute">attribute</a> (ID) value</td>
+<td>the attribute (ID) value</td>
 </tr>
 <tr>
 <td><span class="term"><i><tt>Returns</tt></i>:</span></td>
@@ -462,7 +462,7 @@
 <a name="xmlAddNotationDecl"></a>xmlAddNotationDecl ()</h3>
 <pre class="programlisting"><a href="libxml2-tree.html#xmlNotationPtr">xmlNotationPtr</a>	xmlAddNotationDecl	(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * PublicID, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * SystemID)<br>
 </pre>
-<p>Register a new notation declaration</p>
+<p>DEPRECATED: Internal function, don't use. Register a new notation declaration</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -517,7 +517,7 @@
 </tr>
 <tr>
 <td><span class="term"><i><tt>attr</tt></i>:</span></td>
-<td>the <a href="libxml2-SAX.html#attribute">attribute</a> holding the Ref</td>
+<td>the attribute holding the Ref</td>
 </tr>
 <tr>
 <td><span class="term"><i><tt>Returns</tt></i>:</span></td>
@@ -533,13 +533,13 @@
 <a name="xmlCopyAttributeTable"></a>xmlCopyAttributeTable ()</h3>
 <pre class="programlisting"><a href="libxml2-valid.html#xmlAttributeTablePtr">xmlAttributeTablePtr</a>	xmlCopyAttributeTable	(<a href="libxml2-valid.html#xmlAttributeTablePtr">xmlAttributeTablePtr</a> table)<br>
 </pre>
-<p>Build a copy of an <a href="libxml2-SAX.html#attribute">attribute</a> table.</p>
+<p>DEPRECATED: Internal function, don't use. Build a copy of an attribute table.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
 <tr>
 <td><span class="term"><i><tt>table</tt></i>:</span></td>
-<td>An <a href="libxml2-SAX.html#attribute">attribute</a> table</td>
+<td>An attribute table</td>
 </tr>
 <tr>
 <td><span class="term"><i><tt>Returns</tt></i>:</span></td>
@@ -554,7 +554,7 @@
 <a name="xmlCopyDocElementContent"></a>xmlCopyDocElementContent ()</h3>
 <pre class="programlisting"><a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a>	xmlCopyDocElementContent	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>							 <a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> cur)<br>
 </pre>
-<p>Build a copy of an element content description.</p>
+<p>DEPRECATED: Internal function, don't use. Build a copy of an element content description.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -579,7 +579,7 @@
 <a name="xmlCopyElementContent"></a>xmlCopyElementContent ()</h3>
 <pre class="programlisting"><a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a>	xmlCopyElementContent	(<a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> cur)<br>
 </pre>
-<p>Build a copy of an element content description. Deprecated, use <a href="libxml2-valid.html#xmlCopyDocElementContent">xmlCopyDocElementContent</a> instead</p>
+<p>DEPRECATED: Internal function, don't use. Build a copy of an element content description. Deprecated, use <a href="libxml2-valid.html#xmlCopyDocElementContent">xmlCopyDocElementContent</a> instead</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -600,7 +600,7 @@
 <a name="xmlCopyElementTable"></a>xmlCopyElementTable ()</h3>
 <pre class="programlisting"><a href="libxml2-valid.html#xmlElementTablePtr">xmlElementTablePtr</a>	xmlCopyElementTable	(<a href="libxml2-valid.html#xmlElementTablePtr">xmlElementTablePtr</a> table)<br>
 </pre>
-<p>Build a copy of an element table.</p>
+<p>DEPRECATED: Internal function, don't use. Build a copy of an element table.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -621,7 +621,7 @@
 <a name="xmlCopyEnumeration"></a>xmlCopyEnumeration ()</h3>
 <pre class="programlisting"><a href="libxml2-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a>	xmlCopyEnumeration	(<a href="libxml2-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a> cur)<br>
 </pre>
-<p>Copy an enumeration <a href="libxml2-SAX.html#attribute">attribute</a> node (recursive).</p>
+<p>DEPRECATED: Internal function, don't use. Copy an enumeration attribute node (recursive).</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -642,7 +642,7 @@
 <a name="xmlCopyNotationTable"></a>xmlCopyNotationTable ()</h3>
 <pre class="programlisting"><a href="libxml2-valid.html#xmlNotationTablePtr">xmlNotationTablePtr</a>	xmlCopyNotationTable	(<a href="libxml2-valid.html#xmlNotationTablePtr">xmlNotationTablePtr</a> table)<br>
 </pre>
-<p>Build a copy of a notation table.</p>
+<p>DEPRECATED: Internal function, don't use. Build a copy of a notation table.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -663,7 +663,7 @@
 <a name="xmlCreateEnumeration"></a>xmlCreateEnumeration ()</h3>
 <pre class="programlisting"><a href="libxml2-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a>	xmlCreateEnumeration	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
 </pre>
-<p>create and initialize an enumeration <a href="libxml2-SAX.html#attribute">attribute</a> node.</p>
+<p>DEPRECATED: Internal function, don't use. create and initialize an enumeration attribute node.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -684,7 +684,7 @@
 <a name="xmlDumpAttributeDecl"></a>xmlDumpAttributeDecl ()</h3>
 <pre class="programlisting">void	xmlDumpAttributeDecl		(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>					 <a href="libxml2-tree.html#xmlAttributePtr">xmlAttributePtr</a> attr)<br>
 </pre>
-<p>DEPRECATED: Use <a href="libxml2-xmlsave.html#xmlSaveTree">xmlSaveTree</a>. This will dump the content of the <a href="libxml2-SAX.html#attribute">attribute</a> declaration as an XML DTD definition</p>
+<p>DEPRECATED: Use <a href="libxml2-xmlsave.html#xmlSaveTree">xmlSaveTree</a>. This will dump the content of the attribute declaration as an XML DTD definition</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -694,7 +694,7 @@
 </tr>
 <tr>
 <td><span class="term"><i><tt>attr</tt></i>:</span></td>
-<td>An <a href="libxml2-SAX.html#attribute">attribute</a> declaration</td>
+<td>An attribute declaration</td>
 </tr>
 </tbody>
 </table></div>
@@ -705,7 +705,7 @@
 <a name="xmlDumpAttributeTable"></a>xmlDumpAttributeTable ()</h3>
 <pre class="programlisting">void	xmlDumpAttributeTable		(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>					 <a href="libxml2-valid.html#xmlAttributeTablePtr">xmlAttributeTablePtr</a> table)<br>
 </pre>
-<p>DEPRECATED: Don't use. This will dump the content of the <a href="libxml2-SAX.html#attribute">attribute</a> table as an XML DTD definition</p>
+<p>DEPRECATED: Don't use. This will dump the content of the attribute table as an XML DTD definition</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -715,7 +715,7 @@
 </tr>
 <tr>
 <td><span class="term"><i><tt>table</tt></i>:</span></td>
-<td>An <a href="libxml2-SAX.html#attribute">attribute</a> table</td>
+<td>An attribute table</td>
 </tr>
 </tbody>
 </table></div>
@@ -810,12 +810,12 @@
 <a name="xmlFreeAttributeTable"></a>xmlFreeAttributeTable ()</h3>
 <pre class="programlisting">void	xmlFreeAttributeTable		(<a href="libxml2-valid.html#xmlAttributeTablePtr">xmlAttributeTablePtr</a> table)<br>
 </pre>
-<p>Deallocate the memory used by an entities hash table.</p>
+<p>DEPRECATED: Internal function, don't use. Deallocate the memory used by an entities hash table.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody><tr>
 <td><span class="term"><i><tt>table</tt></i>:</span></td>
-<td>An <a href="libxml2-SAX.html#attribute">attribute</a> table</td>
+<td>An attribute table</td>
 </tr></tbody>
 </table></div>
 </div>
@@ -825,7 +825,7 @@
 <a name="xmlFreeDocElementContent"></a>xmlFreeDocElementContent ()</h3>
 <pre class="programlisting">void	xmlFreeDocElementContent	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> cur)<br>
 </pre>
-<p>Free an element content structure. The whole subtree is removed.</p>
+<p>DEPRECATED: Internal function, don't use. Free an element content structure. The whole subtree is removed.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -846,7 +846,7 @@
 <a name="xmlFreeElementContent"></a>xmlFreeElementContent ()</h3>
 <pre class="programlisting">void	xmlFreeElementContent		(<a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> cur)<br>
 </pre>
-<p>Free an element content structure. The whole subtree is removed. Deprecated, use <a href="libxml2-valid.html#xmlFreeDocElementContent">xmlFreeDocElementContent</a> instead</p>
+<p>DEPRECATED: Internal function, don't use. Free an element content structure. The whole subtree is removed. Deprecated, use <a href="libxml2-valid.html#xmlFreeDocElementContent">xmlFreeDocElementContent</a> instead</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody><tr>
@@ -861,7 +861,7 @@
 <a name="xmlFreeElementTable"></a>xmlFreeElementTable ()</h3>
 <pre class="programlisting">void	xmlFreeElementTable		(<a href="libxml2-valid.html#xmlElementTablePtr">xmlElementTablePtr</a> table)<br>
 </pre>
-<p>Deallocate the memory used by an element hash table.</p>
+<p>DEPRECATED: Internal function, don't use. Deallocate the memory used by an element hash table.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody><tr>
@@ -876,7 +876,7 @@
 <a name="xmlFreeEnumeration"></a>xmlFreeEnumeration ()</h3>
 <pre class="programlisting">void	xmlFreeEnumeration		(<a href="libxml2-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a> cur)<br>
 </pre>
-<p>free an enumeration <a href="libxml2-SAX.html#attribute">attribute</a> node (recursive).</p>
+<p>free an enumeration attribute node (recursive).</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody><tr>
@@ -906,7 +906,7 @@
 <a name="xmlFreeNotationTable"></a>xmlFreeNotationTable ()</h3>
 <pre class="programlisting">void	xmlFreeNotationTable		(<a href="libxml2-valid.html#xmlNotationTablePtr">xmlNotationTablePtr</a> table)<br>
 </pre>
-<p>Deallocate the memory used by an entities hash table.</p>
+<p>DEPRECATED: Internal function, don't use. Deallocate the memory used by an entities hash table.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody><tr>
@@ -951,7 +951,7 @@
 <a name="xmlGetDtdAttrDesc"></a>xmlGetDtdAttrDesc ()</h3>
 <pre class="programlisting"><a href="libxml2-tree.html#xmlAttributePtr">xmlAttributePtr</a>	xmlGetDtdAttrDesc	(<a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * elem, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
 </pre>
-<p>Search the DTD for the description of this <a href="libxml2-SAX.html#attribute">attribute</a> on this element.</p>
+<p>Search the DTD for the description of this attribute on this element.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -965,7 +965,7 @@
 </tr>
 <tr>
 <td><span class="term"><i><tt>name</tt></i>:</span></td>
-<td>the <a href="libxml2-SAX.html#attribute">attribute</a> name</td>
+<td>the attribute name</td>
 </tr>
 <tr>
 <td><span class="term"><i><tt>Returns</tt></i>:</span></td>
@@ -1030,7 +1030,7 @@
 <a name="xmlGetDtdQAttrDesc"></a>xmlGetDtdQAttrDesc ()</h3>
 <pre class="programlisting"><a href="libxml2-tree.html#xmlAttributePtr">xmlAttributePtr</a>	xmlGetDtdQAttrDesc	(<a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * elem, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix)<br>
 </pre>
-<p>Search the DTD for the description of this qualified <a href="libxml2-SAX.html#attribute">attribute</a> on this element.</p>
+<p>Search the DTD for the description of this qualified attribute on this element.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -1044,11 +1044,11 @@
 </tr>
 <tr>
 <td><span class="term"><i><tt>name</tt></i>:</span></td>
-<td>the <a href="libxml2-SAX.html#attribute">attribute</a> name</td>
+<td>the attribute name</td>
 </tr>
 <tr>
 <td><span class="term"><i><tt>prefix</tt></i>:</span></td>
-<td>the <a href="libxml2-SAX.html#attribute">attribute</a> namespace prefix</td>
+<td>the attribute namespace prefix</td>
 </tr>
 <tr>
 <td><span class="term"><i><tt>Returns</tt></i>:</span></td>
@@ -1092,7 +1092,7 @@
 <a name="xmlGetID"></a>xmlGetID ()</h3>
 <pre class="programlisting"><a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a>	xmlGetID		(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ID)<br>
 </pre>
-<p>Search the <a href="libxml2-SAX.html#attribute">attribute</a> declaring the given ID</p>
+<p>Search the attribute declaring the given ID</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -1142,7 +1142,7 @@
 <a name="xmlIsID"></a>xmlIsID ()</h3>
 <pre class="programlisting">int	xmlIsID			(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem, <br>					 <a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr)<br>
 </pre>
-<p>Determine whether an <a href="libxml2-SAX.html#attribute">attribute</a> is of type ID. In case we have DTD(s) then this is done if DTD loading has been requested. In the case of HTML documents parsed with the HTML parser, then ID detection is done systematically.</p>
+<p>Determine whether an attribute is of type ID. In case we have DTD(s) then this is done if DTD loading has been requested. In the case of HTML documents parsed with the HTML parser, then ID detection is done systematically.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -1152,13 +1152,11 @@
 </tr>
 <tr>
 <td><span class="term"><i><tt>elem</tt></i>:</span></td>
-<td>the element carrying the <a href="libxml2-SAX.html#attribute">attribute</a>
-</td>
+<td>the element carrying the attribute</td>
 </tr>
 <tr>
 <td><span class="term"><i><tt>attr</tt></i>:</span></td>
-<td>the <a href="libxml2-SAX.html#attribute">attribute</a>
-</td>
+<td>the attribute</td>
 </tr>
 <tr>
 <td><span class="term"><i><tt>Returns</tt></i>:</span></td>
@@ -1198,7 +1196,7 @@
 <a name="xmlIsRef"></a>xmlIsRef ()</h3>
 <pre class="programlisting">int	xmlIsRef			(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem, <br>					 <a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr)<br>
 </pre>
-<p>DEPRECATED, do not use. This function will be removed from the public API. Determine whether an <a href="libxml2-SAX.html#attribute">attribute</a> is of type Ref. In case we have DTD(s) then this is simple, otherwise we use an heuristic: name Ref (upper or lowercase).</p>
+<p>DEPRECATED, do not use. This function will be removed from the public API. Determine whether an attribute is of type Ref. In case we have DTD(s) then this is simple, otherwise we use an heuristic: name Ref (upper or lowercase).</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -1208,13 +1206,11 @@
 </tr>
 <tr>
 <td><span class="term"><i><tt>elem</tt></i>:</span></td>
-<td>the element carrying the <a href="libxml2-SAX.html#attribute">attribute</a>
-</td>
+<td>the element carrying the attribute</td>
 </tr>
 <tr>
 <td><span class="term"><i><tt>attr</tt></i>:</span></td>
-<td>the <a href="libxml2-SAX.html#attribute">attribute</a>
-</td>
+<td>the attribute</td>
 </tr>
 <tr>
 <td><span class="term"><i><tt>Returns</tt></i>:</span></td>
@@ -1229,7 +1225,7 @@
 <a name="xmlNewDocElementContent"></a>xmlNewDocElementContent ()</h3>
 <pre class="programlisting"><a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a>	xmlNewDocElementContent	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>						 <a href="libxml2-tree.html#xmlElementContentType">xmlElementContentType</a> type)<br>
 </pre>
-<p>Allocate an element content structure for the document.</p>
+<p>DEPRECATED: Internal function, don't use. Allocate an element content structure for the document.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -1258,7 +1254,7 @@
 <a name="xmlNewElementContent"></a>xmlNewElementContent ()</h3>
 <pre class="programlisting"><a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a>	xmlNewElementContent	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>						 <a href="libxml2-tree.html#xmlElementContentType">xmlElementContentType</a> type)<br>
 </pre>
-<p>Allocate an element content structure. Deprecated in favor of <a href="libxml2-valid.html#xmlNewDocElementContent">xmlNewDocElementContent</a></p>
+<p>DEPRECATED: Internal function, don't use. Allocate an element content structure. Deprecated in favor of <a href="libxml2-valid.html#xmlNewDocElementContent">xmlNewDocElementContent</a></p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -1298,7 +1294,7 @@
 <a name="xmlRemoveID"></a>xmlRemoveID ()</h3>
 <pre class="programlisting">int	xmlRemoveID			(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr)<br>
 </pre>
-<p>Remove the given <a href="libxml2-SAX.html#attribute">attribute</a> from the ID table maintained internally.</p>
+<p>Remove the given attribute from the ID table maintained internally.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -1308,8 +1304,7 @@
 </tr>
 <tr>
 <td><span class="term"><i><tt>attr</tt></i>:</span></td>
-<td>the <a href="libxml2-SAX.html#attribute">attribute</a>
-</td>
+<td>the attribute</td>
 </tr>
 <tr>
 <td><span class="term"><i><tt>Returns</tt></i>:</span></td>
@@ -1324,7 +1319,7 @@
 <a name="xmlRemoveRef"></a>xmlRemoveRef ()</h3>
 <pre class="programlisting">int	xmlRemoveRef			(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr)<br>
 </pre>
-<p>DEPRECATED, do not use. This function will be removed from the public API. Remove the given <a href="libxml2-SAX.html#attribute">attribute</a> from the Ref table maintained internally.</p>
+<p>DEPRECATED, do not use. This function will be removed from the public API. Remove the given attribute from the Ref table maintained internally.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -1334,8 +1329,7 @@
 </tr>
 <tr>
 <td><span class="term"><i><tt>attr</tt></i>:</span></td>
-<td>the <a href="libxml2-SAX.html#attribute">attribute</a>
-</td>
+<td>the attribute</td>
 </tr>
 <tr>
 <td><span class="term"><i><tt>Returns</tt></i>:</span></td>
@@ -1350,7 +1344,7 @@
 <a name="xmlSnprintfElementContent"></a>xmlSnprintfElementContent ()</h3>
 <pre class="programlisting">void	xmlSnprintfElementContent	(char * buf, <br>					 int size, <br>					 <a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> content, <br>					 int englob)<br>
 </pre>
-<p>This will dump the content of the element content definition Intended just for the debug routine</p>
+<p>DEPRECATED: Internal function, don't use. This will dump the content of the element content definition Intended just for the debug routine</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -1379,7 +1373,7 @@
 <a name="xmlSprintfElementContent"></a>xmlSprintfElementContent ()</h3>
 <pre class="programlisting">void	xmlSprintfElementContent	(char * buf, <br>					 <a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> content, <br>					 int englob)<br>
 </pre>
-<p>Deprecated, unsafe, use <a href="libxml2-valid.html#xmlSnprintfElementContent">xmlSnprintfElementContent</a></p>
+<p>DEPRECATED: Internal function, don't use. Deprecated, unsafe, use <a href="libxml2-valid.html#xmlSnprintfElementContent">xmlSnprintfElementContent</a></p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -1429,7 +1423,7 @@
 <a name="xmlValidCtxtNormalizeAttributeValue"></a>xmlValidCtxtNormalizeAttributeValue ()</h3>
 <pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlValidCtxtNormalizeAttributeValue	(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br>							 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>							 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem, <br>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value)<br>
 </pre>
-<p>DEPRECATED: Internal function, don't use. Does the validation related extra step of the normalization of <a href="libxml2-SAX.html#attribute">attribute</a> values: If the declared value is not CDATA, then the XML processor must further process the normalized <a href="libxml2-SAX.html#attribute">attribute</a> value by discarding any leading and trailing space (#x20) characters, and by replacing sequences of space (#x20) <a href="libxml2-SAX.html#characters">characters</a> by single space (#x20) character. Also check VC: Standalone Document Declaration in P32, and update ctxt-&gt;valid accordingly</p>
+<p>DEPRECATED: Internal function, don't use. Does the validation related extra step of the normalization of attribute values: If the declared value is not CDATA, then the XML processor must further process the normalized attribute value by discarding any leading and trailing space (#x20) characters, and by replacing sequences of space (#x20) characters by single space (#x20) character. Also check VC: Standalone Document Declaration in P32, and update ctxt-&gt;valid accordingly</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -1447,11 +1441,11 @@
 </tr>
 <tr>
 <td><span class="term"><i><tt>name</tt></i>:</span></td>
-<td>the <a href="libxml2-SAX.html#attribute">attribute</a> name</td>
+<td>the attribute name</td>
 </tr>
 <tr>
 <td><span class="term"><i><tt>value</tt></i>:</span></td>
-<td>the <a href="libxml2-SAX.html#attribute">attribute</a> value</td>
+<td>the attribute value</td>
 </tr>
 <tr>
 <td><span class="term"><i><tt>Returns</tt></i>:</span></td>
@@ -1532,7 +1526,7 @@
 <a name="xmlValidNormalizeAttributeValue"></a>xmlValidNormalizeAttributeValue ()</h3>
 <pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlValidNormalizeAttributeValue	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>						 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value)<br>
 </pre>
-<p>DEPRECATED: Internal function, don't use. Does the validation related extra step of the normalization of <a href="libxml2-SAX.html#attribute">attribute</a> values: If the declared value is not CDATA, then the XML processor must further process the normalized <a href="libxml2-SAX.html#attribute">attribute</a> value by discarding any leading and trailing space (#x20) characters, and by replacing sequences of space (#x20) <a href="libxml2-SAX.html#characters">characters</a> by single space (#x20) character.</p>
+<p>DEPRECATED: Internal function, don't use. Does the validation related extra step of the normalization of attribute values: If the declared value is not CDATA, then the XML processor must further process the normalized attribute value by discarding any leading and trailing space (#x20) characters, and by replacing sequences of space (#x20) characters by single space (#x20) character.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -1546,11 +1540,11 @@
 </tr>
 <tr>
 <td><span class="term"><i><tt>name</tt></i>:</span></td>
-<td>the <a href="libxml2-SAX.html#attribute">attribute</a> name</td>
+<td>the attribute name</td>
 </tr>
 <tr>
 <td><span class="term"><i><tt>value</tt></i>:</span></td>
-<td>the <a href="libxml2-SAX.html#attribute">attribute</a> value</td>
+<td>the attribute value</td>
 </tr>
 <tr>
 <td><span class="term"><i><tt>Returns</tt></i>:</span></td>
@@ -1565,7 +1559,7 @@
 <a name="xmlValidateAttributeDecl"></a>xmlValidateAttributeDecl ()</h3>
 <pre class="programlisting">int	xmlValidateAttributeDecl	(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlAttributePtr">xmlAttributePtr</a> attr)<br>
 </pre>
-<p>DEPRECATED: Internal function, don't use. Try to validate a single <a href="libxml2-SAX.html#attribute">attribute</a> definition basically it does the following checks as described by the XML-1.0 recommendation: - [ VC: Attribute Default Legal ] - [ VC: Enumeration ] - [ VC: ID Attribute Default ] The ID/IDREF uniqueness and matching are done separately</p>
+<p>DEPRECATED: Internal function, don't use. Try to validate a single attribute definition basically it does the following checks as described by the XML-1.0 recommendation: - [ VC: Attribute Default Legal ] - [ VC: Enumeration ] - [ VC: ID Attribute Default ] The ID/IDREF uniqueness and matching are done separately</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -1579,7 +1573,7 @@
 </tr>
 <tr>
 <td><span class="term"><i><tt>attr</tt></i>:</span></td>
-<td>an <a href="libxml2-SAX.html#attribute">attribute</a> definition</td>
+<td>an attribute definition</td>
 </tr>
 <tr>
 <td><span class="term"><i><tt>Returns</tt></i>:</span></td>
@@ -1594,17 +1588,17 @@
 <a name="xmlValidateAttributeValue"></a>xmlValidateAttributeValue ()</h3>
 <pre class="programlisting">int	xmlValidateAttributeValue	(<a href="libxml2-tree.html#xmlAttributeType">xmlAttributeType</a> type, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value)<br>
 </pre>
-<p>DEPRECATED: Internal function, don't use. Validate that the given <a href="libxml2-SAX.html#attribute">attribute</a> value match the proper production [ VC: ID ] Values of type ID must match the Name production.... [ VC: IDREF ] Values of type IDREF must match the Name production, and values of type IDREFS must match Names ... [ VC: Entity Name ] Values of type ENTITY must match the Name production, values of type ENTITIES must match Names ... [ VC: Name Token ] Values of type NMTOKEN must match the Nmtoken production; values of type NMTOKENS must match Nmtokens.</p>
+<p>DEPRECATED: Internal function, don't use. Validate that the given attribute value match the proper production [ VC: ID ] Values of type ID must match the Name production.... [ VC: IDREF ] Values of type IDREF must match the Name production, and values of type IDREFS must match Names ... [ VC: Entity Name ] Values of type ENTITY must match the Name production, values of type ENTITIES must match Names ... [ VC: Name Token ] Values of type NMTOKEN must match the Nmtoken production; values of type NMTOKENS must match Nmtokens.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
 <tr>
 <td><span class="term"><i><tt>type</tt></i>:</span></td>
-<td>an <a href="libxml2-SAX.html#attribute">attribute</a> type</td>
+<td>an attribute type</td>
 </tr>
 <tr>
 <td><span class="term"><i><tt>value</tt></i>:</span></td>
-<td>an <a href="libxml2-SAX.html#attribute">attribute</a> value</td>
+<td>an attribute value</td>
 </tr>
 <tr>
 <td><span class="term"><i><tt>Returns</tt></i>:</span></td>
@@ -1617,14 +1611,14 @@
 <div class="refsect2" lang="en">
 <h3>
 <a name="xmlValidateDocument"></a>xmlValidateDocument ()</h3>
-<pre class="programlisting">int	xmlValidateDocument		(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br>
+<pre class="programlisting">int	xmlValidateDocument		(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> vctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br>
 </pre>
-<p>Try to validate the document instance basically it does the all the checks described by the XML Rec i.e. validates the internal and external subset (if present) and validate the document tree.</p>
+<p>DEPRECATED: This function can't report malloc or other failures. Use <a href="libxml2-parser.html#xmlCtxtValidateDocument">xmlCtxtValidateDocument</a>. Try to validate the document instance basically it does the all the checks described by the XML Rec i.e. validates the internal and external subset (if present) and validate the document tree.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
 <tr>
-<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td><span class="term"><i><tt>vctxt</tt></i>:</span></td>
 <td>the validation context</td>
 </tr>
 <tr>
@@ -1923,7 +1917,7 @@
 <a name="xmlValidateOneAttribute"></a>xmlValidateOneAttribute ()</h3>
 <pre class="programlisting">int	xmlValidateOneAttribute		(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem, <br>					 <a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value)<br>
 </pre>
-<p>DEPRECATED: Internal function, don't use. Try to validate a single <a href="libxml2-SAX.html#attribute">attribute</a> for an element basically it does the following checks as described by the XML-1.0 recommendation: - [ VC: Attribute Value Type ] - [ VC: Fixed Attribute Default ] - [ VC: Entity Name ] - [ VC: Name Token ] - [ VC: ID ] - [ VC: IDREF ] - [ VC: Entity Name ] - [ VC: Notation Attributes ] The ID/IDREF uniqueness and matching are done separately</p>
+<p>DEPRECATED: Internal function, don't use. Try to validate a single attribute for an element basically it does the following checks as described by the XML-1.0 recommendation: - [ VC: Attribute Value Type ] - [ VC: Fixed Attribute Default ] - [ VC: Entity Name ] - [ VC: Name Token ] - [ VC: ID ] - [ VC: IDREF ] - [ VC: Entity Name ] - [ VC: Notation Attributes ] The ID/IDREF uniqueness and matching are done separately</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -1941,11 +1935,11 @@
 </tr>
 <tr>
 <td><span class="term"><i><tt>attr</tt></i>:</span></td>
-<td>an <a href="libxml2-SAX.html#attribute">attribute</a> instance</td>
+<td>an attribute instance</td>
 </tr>
 <tr>
 <td><span class="term"><i><tt>value</tt></i>:</span></td>
-<td>the <a href="libxml2-SAX.html#attribute">attribute</a> value (without entities processing)</td>
+<td>the attribute value (without entities processing)</td>
 </tr>
 <tr>
 <td><span class="term"><i><tt>Returns</tt></i>:</span></td>
@@ -1960,7 +1954,7 @@
 <a name="xmlValidateOneElement"></a>xmlValidateOneElement ()</h3>
 <pre class="programlisting">int	xmlValidateOneElement		(<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem)<br>
 </pre>
-<p>DEPRECATED: Internal function, don't use. Try to validate a single element and it's attributes, basically it does the following checks as described by the XML-1.0 recommendation: - [ VC: Element Valid ] - [ VC: Required Attribute ] Then call xmlValidateOneAttribute() for each <a href="libxml2-SAX.html#attribute">attribute</a> present. The ID/IDREF checkings are done separately</p>
+<p>DEPRECATED: Internal function, don't use. Try to validate a single element and it's attributes, basically it does the following checks as described by the XML-1.0 recommendation: - [ VC: Element Valid ] - [ VC: Required Attribute ] Then call xmlValidateOneAttribute() for each attribute present. The ID/IDREF checkings are done separately</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -2015,7 +2009,7 @@
 </tr>
 <tr>
 <td><span class="term"><i><tt>value</tt></i>:</span></td>
-<td>the <a href="libxml2-SAX.html#attribute">attribute</a> value (without entities processing)</td>
+<td>the attribute value (without entities processing)</td>
 </tr>
 <tr>
 <td><span class="term"><i><tt>Returns</tt></i>:</span></td>
diff --git a/doc/devhelp/libxml2-xinclude.html b/doc/devhelp/libxml2-xinclude.html
index eba01b7..6bdf768 100644
--- a/doc/devhelp/libxml2-xinclude.html
+++ b/doc/devhelp/libxml2-xinclude.html
@@ -46,6 +46,7 @@
 int	<a href="#xmlXIncludeProcessTreeFlagsData">xmlXIncludeProcessTreeFlagsData</a>	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> tree, <br>					 int flags, <br>					 void * data);
 void	<a href="#xmlXIncludeSetErrorHandler">xmlXIncludeSetErrorHandler</a>	(<a href="libxml2-xinclude.html#xmlXIncludeCtxtPtr">xmlXIncludeCtxtPtr</a> ctxt, <br>					 <a href="libxml2-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a> handler, <br>					 void * data);
 int	<a href="#xmlXIncludeSetFlags">xmlXIncludeSetFlags</a>		(<a href="libxml2-xinclude.html#xmlXIncludeCtxtPtr">xmlXIncludeCtxtPtr</a> ctxt, <br>					 int flags);
+void	<a href="#xmlXIncludeSetResourceLoader">xmlXIncludeSetResourceLoader</a>	(<a href="libxml2-xinclude.html#xmlXIncludeCtxtPtr">xmlXIncludeCtxtPtr</a> ctxt, <br>					 <a href="libxml2-parser.html#xmlResourceLoader">xmlResourceLoader</a> loader, <br>					 void * data);
 </pre>
 </div>
 <div class="refsect1" lang="en"><h2>Description</h2></div>
@@ -432,6 +433,31 @@
 </table></div>
 </div>
 <hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXIncludeSetResourceLoader"></a>xmlXIncludeSetResourceLoader ()</h3>
+<pre class="programlisting">void	xmlXIncludeSetResourceLoader	(<a href="libxml2-xinclude.html#xmlXIncludeCtxtPtr">xmlXIncludeCtxtPtr</a> ctxt, <br>					 <a href="libxml2-parser.html#xmlResourceLoader">xmlResourceLoader</a> loader, <br>					 void * data)<br>
+</pre>
+<p>Register a callback function that will be called to load included documents. Available since 2.14.0.</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 XInclude processing context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>loader</tt></i>:</span></td>
+<td>resource loader</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>data</tt></i>:</span></td>
+<td>user data which will be passed to the loader</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
 </div>
 </div>
 </body>
diff --git a/doc/devhelp/libxml2-xlink.html b/doc/devhelp/libxml2-xlink.html
index 4162a9a..35796d0 100644
--- a/doc/devhelp/libxml2-xlink.html
+++ b/doc/devhelp/libxml2-xlink.html
@@ -296,7 +296,7 @@
 <a name="xlinkGetDefaultDetect"></a>xlinkGetDefaultDetect ()</h3>
 <pre class="programlisting"><a href="libxml2-xlink.html#xlinkNodeDetectFunc">xlinkNodeDetectFunc</a>	xlinkGetDefaultDetect	(void)<br>
 </pre>
-<p>Get the default xlink detection routine</p>
+<p>DEPRECATED: Don't use. Get the default xlink detection routine</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody><tr>
@@ -311,7 +311,7 @@
 <a name="xlinkGetDefaultHandler"></a>xlinkGetDefaultHandler ()</h3>
 <pre class="programlisting"><a href="libxml2-xlink.html#xlinkHandlerPtr">xlinkHandlerPtr</a>	xlinkGetDefaultHandler	(void)<br>
 </pre>
-<p>Get the default xlink handler.</p>
+<p>DEPRECATED: Don't use. Get the default xlink handler.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody><tr>
@@ -351,7 +351,7 @@
 <a name="xlinkSetDefaultDetect"></a>xlinkSetDefaultDetect ()</h3>
 <pre class="programlisting">void	xlinkSetDefaultDetect		(<a href="libxml2-xlink.html#xlinkNodeDetectFunc">xlinkNodeDetectFunc</a> func)<br>
 </pre>
-<p>Set the default xlink detection routine</p>
+<p>DEPRECATED: Don't use. Set the default xlink detection routine</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody><tr>
@@ -366,7 +366,7 @@
 <a name="xlinkSetDefaultHandler"></a>xlinkSetDefaultHandler ()</h3>
 <pre class="programlisting">void	xlinkSetDefaultHandler		(<a href="libxml2-xlink.html#xlinkHandlerPtr">xlinkHandlerPtr</a> handler)<br>
 </pre>
-<p>Set the default xlink handlers</p>
+<p>DEPRECATED: Don't use. Set the default xlink handlers</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody><tr>
diff --git a/doc/devhelp/libxml2-xmlIO.html b/doc/devhelp/libxml2-xmlIO.html
index cd8424f..223c43c 100644
--- a/doc/devhelp/libxml2-xmlIO.html
+++ b/doc/devhelp/libxml2-xmlIO.html
@@ -33,10 +33,6 @@
 void *	<a href="#xmlFileOpen">xmlFileOpen</a>			(const char * filename);
 int	<a href="#xmlFileRead">xmlFileRead</a>			(void * context, <br>					 char * buffer, <br>					 int len);
 void	<a href="#xmlFreeParserInputBuffer">xmlFreeParserInputBuffer</a>	(<a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> in);
-int	<a href="#xmlIOFTPClose">xmlIOFTPClose</a>			(void * context);
-int	<a href="#xmlIOFTPMatch">xmlIOFTPMatch</a>			(const char * filename);
-void *	<a href="#xmlIOFTPOpen">xmlIOFTPOpen</a>			(const char * filename);
-int	<a href="#xmlIOFTPRead">xmlIOFTPRead</a>			(void * context, <br>					 char * buffer, <br>					 int len);
 int	<a href="#xmlIOHTTPClose">xmlIOHTTPClose</a>			(void * context);
 int	<a href="#xmlIOHTTPMatch">xmlIOHTTPMatch</a>			(const char * filename);
 void *	<a href="#xmlIOHTTPOpen">xmlIOHTTPOpen</a>			(const char * filename);
@@ -59,7 +55,7 @@
 int	<a href="#xmlOutputBufferFlush">xmlOutputBufferFlush</a>		(<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> out);
 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	<a href="#xmlOutputBufferGetContent">xmlOutputBufferGetContent</a>	(<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> out);
 size_t	<a href="#xmlOutputBufferGetSize">xmlOutputBufferGetSize</a>		(<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> out);
-int	<a href="#xmlOutputBufferWrite">xmlOutputBufferWrite</a>		(<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> out, <br>					 int len, <br>					 const char * buf);
+int	<a href="#xmlOutputBufferWrite">xmlOutputBufferWrite</a>		(<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> out, <br>					 int len, <br>					 const char * data);
 int	<a href="#xmlOutputBufferWriteEscape">xmlOutputBufferWriteEscape</a>	(<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> out, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br>					 <a href="libxml2-encoding.html#xmlCharEncodingOutputFunc">xmlCharEncodingOutputFunc</a> escaping);
 int	<a href="#xmlOutputBufferWriteString">xmlOutputBufferWriteString</a>	(<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> out, <br>					 const char * str);
 typedef int <a href="#xmlOutputCloseCallback">xmlOutputCloseCallback</a>		(void * context);
@@ -336,7 +332,7 @@
 <a name="xmlAllocOutputBuffer"></a>xmlAllocOutputBuffer ()</h3>
 <pre class="programlisting"><a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a>	xmlAllocOutputBuffer	(<a href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> encoder)<br>
 </pre>
-<p>Create a buffered parser output</p>
+<p>Create a buffered parser output Consumes @encoder even in error case.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -357,7 +353,7 @@
 <a name="xmlAllocParserInputBuffer"></a>xmlAllocParserInputBuffer ()</h3>
 <pre class="programlisting"><a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a>	xmlAllocParserInputBuffer	(<a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc)<br>
 </pre>
-<p>Create a buffered parser input for progressive parsing. The encoding argument is deprecated and should be set to <a href="libxml2-encoding.html#XML_CHAR_ENCODING_NONE">XML_CHAR_ENCODING_NONE</a>. The encoding can be changed with <a href="libxml2-parserInternals.html#xmlSwitchEncoding">xmlSwitchEncoding</a> or <a href="libxml2-parserInternals.html#xmlSwitchEncodingName">xmlSwitchEncodingName</a> later on.</p>
+<p>DEPRECATED: Use xmlNewInputFrom*. Create a buffered parser input for progressive parsing. The encoding argument is deprecated and should be set to <a href="libxml2-encoding.html#XML_CHAR_ENCODING_NONE">XML_CHAR_ENCODING_NONE</a>. The encoding can be changed with <a href="libxml2-parserInternals.html#xmlSwitchEncoding">xmlSwitchEncoding</a> or <a href="libxml2-parserInternals.html#xmlSwitchEncodingName">xmlSwitchEncodingName</a> later on.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -544,98 +540,6 @@
 <hr>
 <div class="refsect2" lang="en">
 <h3>
-<a name="xmlIOFTPClose"></a>xmlIOFTPClose ()</h3>
-<pre class="programlisting">int	xmlIOFTPClose			(void * context)<br>
-</pre>
-<p>DEPRECATED: Internal function, don't use. Close an FTP I/O channel</p>
-<div class="variablelist"><table border="0">
-<col align="left">
-<tbody>
-<tr>
-<td><span class="term"><i><tt>context</tt></i>:</span></td>
-<td>the I/O context</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td>0</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
-<a name="xmlIOFTPMatch"></a>xmlIOFTPMatch ()</h3>
-<pre class="programlisting">int	xmlIOFTPMatch			(const char * filename)<br>
-</pre>
-<p>DEPRECATED: Internal function, don't use. check if the URI matches an FTP one</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 URI for matching</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td>1 if matches, 0 otherwise</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
-<a name="xmlIOFTPOpen"></a>xmlIOFTPOpen ()</h3>
-<pre class="programlisting">void *	xmlIOFTPOpen			(const char * filename)<br>
-</pre>
-<p>DEPRECATED: Internal function, don't use. open an FTP I/O channel</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 URI for matching</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td>an I/O context or NULL in case of error</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
-<a name="xmlIOFTPRead"></a>xmlIOFTPRead ()</h3>
-<pre class="programlisting">int	xmlIOFTPRead			(void * context, <br>					 char * buffer, <br>					 int len)<br>
-</pre>
-<p>DEPRECATED: Internal function, don't use. Read @len bytes to @buffer from the I/O channel.</p>
-<div class="variablelist"><table border="0">
-<col align="left">
-<tbody>
-<tr>
-<td><span class="term"><i><tt>context</tt></i>:</span></td>
-<td>the I/O context</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>buffer</tt></i>:</span></td>
-<td>where to drop data</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>len</tt></i>:</span></td>
-<td>number of bytes to write</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td>the number of bytes written</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
 <a name="xmlIOHTTPClose"></a>xmlIOHTTPClose ()</h3>
 <pre class="programlisting">int	xmlIOHTTPClose			(void * context)<br>
 </pre>
@@ -756,7 +660,7 @@
 <a name="xmlNoNetExternalEntityLoader"></a>xmlNoNetExternalEntityLoader ()</h3>
 <pre class="programlisting"><a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>	xmlNoNetExternalEntityLoader	(const char * URL, <br>							 const char * ID, <br>							 <a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
 </pre>
-<p>A specific entity loader disabling network accesses, though still allowing local catalog accesses for resolution.</p>
+<p>DEPRECATED: Use <a href="libxml2-parser.html#XML_PARSE_NONET">XML_PARSE_NONET</a>. A specific entity loader disabling network accesses, though still allowing local catalog accesses for resolution.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -827,7 +731,7 @@
 <a name="xmlOutputBufferCreateBuffer"></a>xmlOutputBufferCreateBuffer ()</h3>
 <pre class="programlisting"><a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a>	xmlOutputBufferCreateBuffer	(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buffer, <br>							 <a href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> encoder)<br>
 </pre>
-<p>Create a buffered output for the progressive saving to a <a href="libxml2-tree.html#xmlBuffer">xmlBuffer</a></p>
+<p>Create a buffered output for the progressive saving to a <a href="libxml2-tree.html#xmlBuffer">xmlBuffer</a> Consumes @encoder even in error case.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -853,7 +757,7 @@
 <a name="xmlOutputBufferCreateFd"></a>xmlOutputBufferCreateFd ()</h3>
 <pre class="programlisting"><a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a>	xmlOutputBufferCreateFd	(int fd, <br>						 <a href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> encoder)<br>
 </pre>
-<p>Create a buffered output for the progressive saving to a file descriptor</p>
+<p>Create a buffered output for the progressive saving to a file descriptor Consumes @encoder even in error case.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -878,7 +782,7 @@
 <a name="xmlOutputBufferCreateFile"></a>xmlOutputBufferCreateFile ()</h3>
 <pre class="programlisting"><a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a>	xmlOutputBufferCreateFile	(FILE * file, <br>							 <a href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> encoder)<br>
 </pre>
-<p>Create a buffered output for the progressive saving to a FILE * buffered C I/O</p>
+<p>Create a buffered output for the progressive saving to a FILE * buffered C I/O Consumes @encoder even in error case.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -903,7 +807,7 @@
 <a name="xmlOutputBufferCreateFilename"></a>xmlOutputBufferCreateFilename ()</h3>
 <pre class="programlisting"><a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a>	xmlOutputBufferCreateFilename	(const char * URI, <br>							 <a href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> encoder, <br>							 int compression)<br>
 </pre>
-<p>Create a buffered output for the progressive saving of a file If filename is "-' then we use stdout as the output. Automatic support for ZLIB/Compress compressed document is provided by default if found at compile-time. TODO: currently if compression is set, the library only support writing to a local file.</p>
+<p>Create a buffered output for the progressive saving of a file If filename is "-' then we use stdout as the output. Automatic support for ZLIB/Compress compressed document is provided by default if found at compile-time. TODO: currently if compression is set, the library only support writing to a local file. Consumes @encoder even in error case.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -953,7 +857,7 @@
 <a name="xmlOutputBufferCreateIO"></a>xmlOutputBufferCreateIO ()</h3>
 <pre class="programlisting"><a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a>	xmlOutputBufferCreateIO	(<a href="libxml2-xmlIO.html#xmlOutputWriteCallback">xmlOutputWriteCallback</a> iowrite, <br>						 <a href="libxml2-xmlIO.html#xmlOutputCloseCallback">xmlOutputCloseCallback</a> ioclose, <br>						 void * ioctx, <br>						 <a href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> encoder)<br>
 </pre>
-<p>Create a buffered output for the progressive saving to an I/O handler</p>
+<p>Create a buffered output for the progressive saving to an I/O handler Consumes @encoder even in error case.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -1049,7 +953,7 @@
 <div class="refsect2" lang="en">
 <h3>
 <a name="xmlOutputBufferWrite"></a>xmlOutputBufferWrite ()</h3>
-<pre class="programlisting">int	xmlOutputBufferWrite		(<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> out, <br>					 int len, <br>					 const char * buf)<br>
+<pre class="programlisting">int	xmlOutputBufferWrite		(<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> out, <br>					 int len, <br>					 const char * data)<br>
 </pre>
 <p>Write the content of the array in the output I/O buffer This routine handle the I18N transcoding from internal UTF-8 The buffer is lossless, i.e. will store in case of partial or delayed writes.</p>
 <div class="variablelist"><table border="0">
@@ -1064,7 +968,7 @@
 <td>the size in bytes of the array.</td>
 </tr>
 <tr>
-<td><span class="term"><i><tt>buf</tt></i>:</span></td>
+<td><span class="term"><i><tt>data</tt></i>:</span></td>
 <td>an char array</td>
 </tr>
 <tr>
@@ -1080,7 +984,7 @@
 <a name="xmlOutputBufferWriteEscape"></a>xmlOutputBufferWriteEscape ()</h3>
 <pre class="programlisting">int	xmlOutputBufferWriteEscape	(<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> out, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br>					 <a href="libxml2-encoding.html#xmlCharEncodingOutputFunc">xmlCharEncodingOutputFunc</a> escaping)<br>
 </pre>
-<p>Write the content of the string in the output I/O buffer This routine escapes the <a href="libxml2-SAX.html#characters">characters</a> and then handle the I18N transcoding from internal UTF-8 The buffer is lossless, i.e. will store in case of partial or delayed writes.</p>
+<p>Write the content of the string in the output I/O buffer This routine escapes the characters and then handle the I18N transcoding from internal UTF-8 The buffer is lossless, i.e. will store in case of partial or delayed writes.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -1155,7 +1059,7 @@
 <a name="xmlParserInputBufferCreateFd"></a>xmlParserInputBufferCreateFd ()</h3>
 <pre class="programlisting"><a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a>	xmlParserInputBufferCreateFd	(int fd, <br>							 <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc)<br>
 </pre>
-<p>Create a buffered parser input for the progressive parsing for the input from a file descriptor The encoding argument is deprecated and should be set to <a href="libxml2-encoding.html#XML_CHAR_ENCODING_NONE">XML_CHAR_ENCODING_NONE</a>. The encoding can be changed with <a href="libxml2-parserInternals.html#xmlSwitchEncoding">xmlSwitchEncoding</a> or <a href="libxml2-parserInternals.html#xmlSwitchEncodingName">xmlSwitchEncodingName</a> later on.</p>
+<p>DEPRECATED: Use <a href="libxml2-parser.html#xmlNewInputFromFd">xmlNewInputFromFd</a>. Create a buffered parser input for the progressive parsing for the input from a file descriptor The encoding argument is deprecated and should be set to <a href="libxml2-encoding.html#XML_CHAR_ENCODING_NONE">XML_CHAR_ENCODING_NONE</a>. The encoding can be changed with <a href="libxml2-parserInternals.html#xmlSwitchEncoding">xmlSwitchEncoding</a> or <a href="libxml2-parserInternals.html#xmlSwitchEncodingName">xmlSwitchEncodingName</a> later on.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -1180,7 +1084,7 @@
 <a name="xmlParserInputBufferCreateFile"></a>xmlParserInputBufferCreateFile ()</h3>
 <pre class="programlisting"><a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a>	xmlParserInputBufferCreateFile	(FILE * file, <br>							 <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc)<br>
 </pre>
-<p>Create a buffered parser input for the progressive parsing of a FILE * buffered C I/O The encoding argument is deprecated and should be set to <a href="libxml2-encoding.html#XML_CHAR_ENCODING_NONE">XML_CHAR_ENCODING_NONE</a>. The encoding can be changed with <a href="libxml2-parserInternals.html#xmlSwitchEncoding">xmlSwitchEncoding</a> or <a href="libxml2-parserInternals.html#xmlSwitchEncodingName">xmlSwitchEncodingName</a> later on.</p>
+<p>DEPRECATED: Don't use. Create a buffered parser input for the progressive parsing of a FILE * buffered C I/O The encoding argument is deprecated and should be set to <a href="libxml2-encoding.html#XML_CHAR_ENCODING_NONE">XML_CHAR_ENCODING_NONE</a>. The encoding can be changed with <a href="libxml2-parserInternals.html#xmlSwitchEncoding">xmlSwitchEncoding</a> or <a href="libxml2-parserInternals.html#xmlSwitchEncodingName">xmlSwitchEncodingName</a> later on.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -1205,7 +1109,7 @@
 <a name="xmlParserInputBufferCreateFilename"></a>xmlParserInputBufferCreateFilename ()</h3>
 <pre class="programlisting"><a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a>	xmlParserInputBufferCreateFilename	(const char * URI, <br>							 <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc)<br>
 </pre>
-<p>Create a buffered parser input for the progressive parsing of a file Automatic support for ZLIB/Compress compressed document is provided by default if found at compile-time. Do an encoding check if enc == <a href="libxml2-encoding.html#XML_CHAR_ENCODING_NONE">XML_CHAR_ENCODING_NONE</a></p>
+<p>DEPRECATED: Use <a href="libxml2-parser.html#xmlNewInputFromUrl">xmlNewInputFromUrl</a>. Create a buffered parser input for the progressive parsing of a file Automatic support for ZLIB/Compress compressed document is provided by default if found at compile-time. Do an encoding check if enc == <a href="libxml2-encoding.html#XML_CHAR_ENCODING_NONE">XML_CHAR_ENCODING_NONE</a></p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -1230,7 +1134,7 @@
 <a name="xmlParserInputBufferCreateFilenameDefault"></a>xmlParserInputBufferCreateFilenameDefault ()</h3>
 <pre class="programlisting"><a href="libxml2-xmlIO.html#xmlParserInputBufferCreateFilenameFunc">xmlParserInputBufferCreateFilenameFunc</a>	xmlParserInputBufferCreateFilenameDefault	(<a href="libxml2-xmlIO.html#xmlParserInputBufferCreateFilenameFunc">xmlParserInputBufferCreateFilenameFunc</a> func)<br>
 </pre>
-<p>Registers a callback for URI input file handling</p>
+<p>DEPRECATED: Use <a href="libxml2-parser.html#xmlCtxtSetResourceLoader">xmlCtxtSetResourceLoader</a> or similar functions. Registers a callback for URI input file handling</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -1251,7 +1155,7 @@
 <a name="xmlParserInputBufferCreateIO"></a>xmlParserInputBufferCreateIO ()</h3>
 <pre class="programlisting"><a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a>	xmlParserInputBufferCreateIO	(<a href="libxml2-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a> ioread, <br>							 <a href="libxml2-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a> ioclose, <br>							 void * ioctx, <br>							 <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc)<br>
 </pre>
-<p>Create a buffered parser input for the progressive parsing for the input from an I/O handler The encoding argument is deprecated and should be set to <a href="libxml2-encoding.html#XML_CHAR_ENCODING_NONE">XML_CHAR_ENCODING_NONE</a>. The encoding can be changed with <a href="libxml2-parserInternals.html#xmlSwitchEncoding">xmlSwitchEncoding</a> or <a href="libxml2-parserInternals.html#xmlSwitchEncodingName">xmlSwitchEncodingName</a> later on.</p>
+<p>DEPRECATED: Use <a href="libxml2-parser.html#xmlNewInputFromIO">xmlNewInputFromIO</a>. Create a buffered parser input for the progressive parsing for the input from an I/O handler The encoding argument is deprecated and should be set to <a href="libxml2-encoding.html#XML_CHAR_ENCODING_NONE">XML_CHAR_ENCODING_NONE</a>. The encoding can be changed with <a href="libxml2-parserInternals.html#xmlSwitchEncoding">xmlSwitchEncoding</a> or <a href="libxml2-parserInternals.html#xmlSwitchEncodingName">xmlSwitchEncodingName</a> later on.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -1284,7 +1188,7 @@
 <a name="xmlParserInputBufferCreateMem"></a>xmlParserInputBufferCreateMem ()</h3>
 <pre class="programlisting"><a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a>	xmlParserInputBufferCreateMem	(const char * mem, <br>							 int size, <br>							 <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc)<br>
 </pre>
-<p>Create a parser input buffer for parsing from a memory area. This function makes a copy of the whole input buffer. If you are sure that the contents of the buffer will remain valid until the document was parsed, you can avoid the copy by using <a href="libxml2-xmlIO.html#xmlParserInputBufferCreateStatic">xmlParserInputBufferCreateStatic</a>. The encoding argument is deprecated and should be set to <a href="libxml2-encoding.html#XML_CHAR_ENCODING_NONE">XML_CHAR_ENCODING_NONE</a>. The encoding can be changed with <a href="libxml2-parserInternals.html#xmlSwitchEncoding">xmlSwitchEncoding</a> or <a href="libxml2-parserInternals.html#xmlSwitchEncodingName">xmlSwitchEncodingName</a> later on.</p>
+<p>DEPRECATED: Use <a href="libxml2-parser.html#xmlNewInputFromMemory">xmlNewInputFromMemory</a>. Create a parser input buffer for parsing from a memory area. This function makes a copy of the whole input buffer. If you are sure that the contents of the buffer will remain valid until the document was parsed, you can avoid the copy by using <a href="libxml2-xmlIO.html#xmlParserInputBufferCreateStatic">xmlParserInputBufferCreateStatic</a>. The encoding argument is deprecated and should be set to <a href="libxml2-encoding.html#XML_CHAR_ENCODING_NONE">XML_CHAR_ENCODING_NONE</a>. The encoding can be changed with <a href="libxml2-parserInternals.html#xmlSwitchEncoding">xmlSwitchEncoding</a> or <a href="libxml2-parserInternals.html#xmlSwitchEncodingName">xmlSwitchEncodingName</a> later on.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -1313,7 +1217,7 @@
 <a name="xmlParserInputBufferCreateStatic"></a>xmlParserInputBufferCreateStatic ()</h3>
 <pre class="programlisting"><a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a>	xmlParserInputBufferCreateStatic	(const char * mem, <br>							 int size, <br>							 <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc)<br>
 </pre>
-<p>Create a parser input buffer for parsing from a memory area. This functions assumes that the contents of the input buffer remain valid until the document was parsed. Use <a href="libxml2-xmlIO.html#xmlParserInputBufferCreateMem">xmlParserInputBufferCreateMem</a> otherwise. The encoding argument is deprecated and should be set to <a href="libxml2-encoding.html#XML_CHAR_ENCODING_NONE">XML_CHAR_ENCODING_NONE</a>. The encoding can be changed with <a href="libxml2-parserInternals.html#xmlSwitchEncoding">xmlSwitchEncoding</a> or <a href="libxml2-parserInternals.html#xmlSwitchEncodingName">xmlSwitchEncodingName</a> later on.</p>
+<p>DEPRECATED: Use <a href="libxml2-parser.html#xmlNewInputFromMemory">xmlNewInputFromMemory</a>. Create a parser input buffer for parsing from a memory area. This functions assumes that the contents of the input buffer remain valid until the document was parsed. Use <a href="libxml2-xmlIO.html#xmlParserInputBufferCreateMem">xmlParserInputBufferCreateMem</a> otherwise. The encoding argument is deprecated and should be set to <a href="libxml2-encoding.html#XML_CHAR_ENCODING_NONE">XML_CHAR_ENCODING_NONE</a>. The encoding can be changed with <a href="libxml2-parserInternals.html#xmlSwitchEncoding">xmlSwitchEncoding</a> or <a href="libxml2-parserInternals.html#xmlSwitchEncodingName">xmlSwitchEncodingName</a> later on.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -1342,7 +1246,7 @@
 <a name="xmlParserInputBufferGrow"></a>xmlParserInputBufferGrow ()</h3>
 <pre class="programlisting">int	xmlParserInputBufferGrow	(<a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> in, <br>					 int len)<br>
 </pre>
-<p>Grow up the content of the input buffer, the old data are preserved This routine handle the I18N transcoding to internal UTF-8 This routine is used when operating the parser in normal (pull) mode TODO: one should be able to remove one extra copy by copying directly onto in-&gt;buffer or in-&gt;raw</p>
+<p>DEPRECATED: Internal function, don't use. Grow up the content of the input buffer, the old data are preserved This routine handle the I18N transcoding to internal UTF-8 This routine is used when operating the parser in normal (pull) mode</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -1367,7 +1271,7 @@
 <a name="xmlParserInputBufferPush"></a>xmlParserInputBufferPush ()</h3>
 <pre class="programlisting">int	xmlParserInputBufferPush	(<a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> in, <br>					 int len, <br>					 const char * buf)<br>
 </pre>
-<p>Push the content of the arry in the input buffer This routine handle the I18N transcoding to internal UTF-8 This is used when operating the parser in progressive (push) mode.</p>
+<p>DEPRECATED: Internal function, don't use. Push the content of the arry in the input buffer This routine handle the I18N transcoding to internal UTF-8 This is used when operating the parser in progressive (push) mode.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -1396,7 +1300,7 @@
 <a name="xmlParserInputBufferRead"></a>xmlParserInputBufferRead ()</h3>
 <pre class="programlisting">int	xmlParserInputBufferRead	(<a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> in, <br>					 int len)<br>
 </pre>
-<p>Refresh the content of the input buffer, the old data are considered consumed This routine handle the I18N transcoding to internal UTF-8</p>
+<p>DEPRECATED: Internal function, don't use. Same as <a href="libxml2-xmlIO.html#xmlParserInputBufferGrow">xmlParserInputBufferGrow</a>.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -1475,7 +1379,7 @@
 <a name="xmlRegisterInputCallbacks"></a>xmlRegisterInputCallbacks ()</h3>
 <pre class="programlisting">int	xmlRegisterInputCallbacks	(<a href="libxml2-xmlIO.html#xmlInputMatchCallback">xmlInputMatchCallback</a> matchFunc, <br>					 <a href="libxml2-xmlIO.html#xmlInputOpenCallback">xmlInputOpenCallback</a> openFunc, <br>					 <a href="libxml2-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a> readFunc, <br>					 <a href="libxml2-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a> closeFunc)<br>
 </pre>
-<p>Register a new set of I/O callback for handling parser input.</p>
+<p>DEPRECATED: Use <a href="libxml2-parser.html#xmlCtxtSetResourceLoader">xmlCtxtSetResourceLoader</a> or similar functions. Register a new set of I/O callback for handling parser input.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
diff --git a/doc/devhelp/libxml2-xmlerror.html b/doc/devhelp/libxml2-xmlerror.html
index 173f026..69e1a03 100644
--- a/doc/devhelp/libxml2-xmlerror.html
+++ b/doc/devhelp/libxml2-xmlerror.html
@@ -22,12 +22,12 @@
 <p>Author(s): Daniel Veillard </p>
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
-<pre class="synopsis">typedef struct _xmlError <a href="#xmlError">xmlError</a>;
+<pre class="synopsis">#define <a href="#initGenericErrorDefaultFunc">initGenericErrorDefaultFunc</a>;
+typedef struct _xmlError <a href="#xmlError">xmlError</a>;
 typedef enum <a href="#xmlErrorDomain">xmlErrorDomain</a>;
 typedef enum <a href="#xmlErrorLevel">xmlErrorLevel</a>;
 typedef <a href="libxml2-xmlerror.html#xmlError">xmlError</a> * <a href="#xmlErrorPtr">xmlErrorPtr</a>;
 typedef enum <a href="#xmlParserErrors">xmlParserErrors</a>;
-void	<a href="#initGenericErrorDefaultFunc">initGenericErrorDefaultFunc</a>	(<a href="libxml2-xmlerror.html#xmlGenericErrorFunc">xmlGenericErrorFunc</a> * handler);
 int	<a href="#xmlCopyError">xmlCopyError</a>			(const <a href="libxml2-xmlerror.html#xmlError">xmlError</a> * from, <br>					 <a href="libxml2-xmlerror.html#xmlErrorPtr">xmlErrorPtr</a> to);
 const <a href="libxml2-xmlerror.html#xmlError">xmlError</a> *	<a href="#xmlCtxtGetLastError">xmlCtxtGetLastError</a>	(void * ctx);
 void	<a href="#xmlCtxtResetLastError">xmlCtxtResetLastError</a>		(void * ctx);
@@ -55,21 +55,29 @@
 <div class="refsect2" lang="en">
 <div class="refsect2" lang="en">
 <h3>
+<a name="initGenericErrorDefaultFunc">Macro </a>initGenericErrorDefaultFunc</h3>
+<pre class="programlisting">#define <a href="#initGenericErrorDefaultFunc">initGenericErrorDefaultFunc</a>;
+</pre>
+<p></p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
 <a name="xmlError">Structure </a>xmlError</h3>
 <pre class="programlisting">struct _xmlError {
-    int	domain	: What part of the library raised this error
-    int	code	: The error code, e.g. an <a href="libxml2-xmlerror.html#xmlParserError">xmlParserError</a>
-    char *	message	: human-readable informative error message
-    <a href="libxml2-xmlerror.html#xmlErrorLevel">xmlErrorLevel</a>	level	: how consequent is the error
-    char *	file	: the filename
-    int	line	: the line number if available
-    char *	str1	: extra string information
-    char *	str2	: extra string information
-    char *	str3	: extra string information
-    int	int1	: extra number information
-    int	int2	: error column # or 0 if N/A (todo: rename field when we would brk ABI)
-    void *	ctxt	: the parser context if available
-    void *	node	: the node in the tree
+    int	domain
+    int	code
+    char *	message
+    <a href="libxml2-xmlerror.html#xmlErrorLevel">xmlErrorLevel</a>	level
+    char *	file
+    int	line
+    char *	str1
+    char *	str2
+    char *	str3
+    int	int1
+    int	int2
+    void *	ctxt
+    void *	node
 } xmlError;
 </pre>
 <p></p>
@@ -936,21 +944,6 @@
 <hr>
 <div class="refsect2" lang="en">
 <h3>
-<a name="initGenericErrorDefaultFunc"></a>initGenericErrorDefaultFunc ()</h3>
-<pre class="programlisting">void	initGenericErrorDefaultFunc	(<a href="libxml2-xmlerror.html#xmlGenericErrorFunc">xmlGenericErrorFunc</a> * handler)<br>
-</pre>
-<p>DEPRECATED: Use <a href="libxml2-xmlerror.html#xmlSetGenericErrorFunc">xmlSetGenericErrorFunc</a>. Set or reset (if NULL) the default handler for generic errors to the builtin error function.</p>
-<div class="variablelist"><table border="0">
-<col align="left">
-<tbody><tr>
-<td><span class="term"><i><tt>handler</tt></i>:</span></td>
-<td>the handler</td>
-</tr></tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
 <a name="xmlCopyError"></a>xmlCopyError ()</h3>
 <pre class="programlisting">int	xmlCopyError			(const <a href="libxml2-xmlerror.html#xmlError">xmlError</a> * from, <br>					 <a href="libxml2-xmlerror.html#xmlErrorPtr">xmlErrorPtr</a> to)<br>
 </pre>
diff --git a/doc/devhelp/libxml2-xmlmemory.html b/doc/devhelp/libxml2-xmlmemory.html
index 57457aa..c26a88b 100644
--- a/doc/devhelp/libxml2-xmlmemory.html
+++ b/doc/devhelp/libxml2-xmlmemory.html
@@ -188,7 +188,7 @@
 <a name="xmlGcMemGet"></a>xmlGcMemGet ()</h3>
 <pre class="programlisting">int	xmlGcMemGet			(<a href="libxml2-xmlmemory.html#xmlFreeFunc">xmlFreeFunc</a> * freeFunc, <br>					 <a href="libxml2-xmlmemory.html#xmlMallocFunc">xmlMallocFunc</a> * mallocFunc, <br>					 <a href="libxml2-xmlmemory.html#xmlMallocFunc">xmlMallocFunc</a> * mallocAtomicFunc, <br>					 <a href="libxml2-xmlmemory.html#xmlReallocFunc">xmlReallocFunc</a> * reallocFunc, <br>					 <a href="libxml2-xmlmemory.html#xmlStrdupFunc">xmlStrdupFunc</a> * strdupFunc)<br>
 </pre>
-<p>Provides the memory access functions set currently in use The mallocAtomicFunc is specialized for atomic block allocations (i.e. of areas useful for garbage collected memory allocators</p>
+<p>DEPRECATED: <a href="libxml2-xmlmemory.html#xmlMemGet">xmlMemGet</a>. Provides the memory access functions set currently in use The mallocAtomicFunc is specialized for atomic block allocations (i.e. of areas useful for garbage collected memory allocators</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -225,7 +225,7 @@
 <a name="xmlGcMemSetup"></a>xmlGcMemSetup ()</h3>
 <pre class="programlisting">int	xmlGcMemSetup			(<a href="libxml2-xmlmemory.html#xmlFreeFunc">xmlFreeFunc</a> freeFunc, <br>					 <a href="libxml2-xmlmemory.html#xmlMallocFunc">xmlMallocFunc</a> mallocFunc, <br>					 <a href="libxml2-xmlmemory.html#xmlMallocFunc">xmlMallocFunc</a> mallocAtomicFunc, <br>					 <a href="libxml2-xmlmemory.html#xmlReallocFunc">xmlReallocFunc</a> reallocFunc, <br>					 <a href="libxml2-xmlmemory.html#xmlStrdupFunc">xmlStrdupFunc</a> strdupFunc)<br>
 </pre>
-<p>Override the default memory access functions with a new set This has to be called before any other libxml routines ! The mallocAtomicFunc is specialized for atomic block allocations (i.e. of areas useful for garbage collected memory allocators Should this be blocked if there was already some allocations done ?</p>
+<p>DEPRECATED: Use <a href="libxml2-xmlmemory.html#xmlMemSetup">xmlMemSetup</a>. Override the default memory access functions with a new set This has to be called before any other libxml routines ! The mallocAtomicFunc is specialized for atomic block allocations (i.e. of areas useful for garbage collected memory allocators Should this be blocked if there was already some allocations done ?</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
diff --git a/doc/devhelp/libxml2-xmlreader.html b/doc/devhelp/libxml2-xmlreader.html
index e3be724..50c8ceb 100644
--- a/doc/devhelp/libxml2-xmlreader.html
+++ b/doc/devhelp/libxml2-xmlreader.html
@@ -112,6 +112,7 @@
 void	<a href="#xmlTextReaderSetErrorHandler">xmlTextReaderSetErrorHandler</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>					 <a href="libxml2-xmlreader.html#xmlTextReaderErrorFunc">xmlTextReaderErrorFunc</a> f, <br>					 void * arg);
 void	<a href="#xmlTextReaderSetMaxAmplification">xmlTextReaderSetMaxAmplification</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>						 unsigned maxAmpl);
 int	<a href="#xmlTextReaderSetParserProp">xmlTextReaderSetParserProp</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>					 int prop, <br>					 int value);
+void	<a href="#xmlTextReaderSetResourceLoader">xmlTextReaderSetResourceLoader</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>					 <a href="libxml2-parser.html#xmlResourceLoader">xmlResourceLoader</a> loader, <br>					 void * data);
 int	<a href="#xmlTextReaderSetSchema">xmlTextReaderSetSchema</a>		(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>					 <a href="libxml2-xmlschemas.html#xmlSchemaPtr">xmlSchemaPtr</a> schema);
 void	<a href="#xmlTextReaderSetStructuredErrorHandler">xmlTextReaderSetStructuredErrorHandler</a>	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>						 <a href="libxml2-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a> f, <br>						 void * arg);
 int	<a href="#xmlTextReaderSetup">xmlTextReaderSetup</a>		(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>					 <a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> input, <br>					 const char * URL, <br>					 const char * encoding, <br>					 int options);
@@ -746,7 +747,7 @@
 </tr>
 <tr>
 <td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td>0 i no attributes, -1 in case of error or the <a href="libxml2-SAX.html#attribute">attribute</a> count</td>
+<td>0 i no attributes, -1 in case of error or the attribute count</td>
 </tr>
 </tbody>
 </table></div>
@@ -778,7 +779,7 @@
 <a name="xmlTextReaderByteConsumed"></a>xmlTextReaderByteConsumed ()</h3>
 <pre class="programlisting">long	xmlTextReaderByteConsumed	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
 </pre>
-<p>This function provides the current index of the parser used by the reader, relative to the start of the current entity. This function actually just wraps a call to xmlBytesConsumed() for the parser context associated with the reader. See xmlBytesConsumed() for more information.</p>
+<p>DEPRECATED: The returned value is mostly random and useless. It reflects the parser reading ahead and is in no way related to the current node. This function provides the current index of the parser used by the reader, relative to the start of the current entity. This function actually just wraps a call to xmlBytesConsumed() for the parser context associated with the reader. See xmlBytesConsumed() for more information.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -925,7 +926,7 @@
 <a name="xmlTextReaderConstPrefix"></a>xmlTextReaderConstPrefix ()</h3>
 <pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlTextReaderConstPrefix	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
 </pre>
-<p>A shorthand <a href="libxml2-SAX.html#reference">reference</a> to the namespace associated with the node.</p>
+<p>A shorthand reference to the namespace associated with the node.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -1118,7 +1119,7 @@
 <a name="xmlTextReaderGetAttribute"></a>xmlTextReaderGetAttribute ()</h3>
 <pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlTextReaderGetAttribute	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
 </pre>
-<p>Provides the value of the <a href="libxml2-SAX.html#attribute">attribute</a> with the specified qualified name.</p>
+<p>Provides the value of the attribute with the specified qualified name.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -1128,7 +1129,7 @@
 </tr>
 <tr>
 <td><span class="term"><i><tt>name</tt></i>:</span></td>
-<td>the qualified name of the <a href="libxml2-SAX.html#attribute">attribute</a>.</td>
+<td>the qualified name of the attribute.</td>
 </tr>
 <tr>
 <td><span class="term"><i><tt>Returns</tt></i>:</span></td>
@@ -1143,7 +1144,7 @@
 <a name="xmlTextReaderGetAttributeNo"></a>xmlTextReaderGetAttributeNo ()</h3>
 <pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlTextReaderGetAttributeNo	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>						 int no)<br>
 </pre>
-<p>Provides the value of the <a href="libxml2-SAX.html#attribute">attribute</a> with the specified index relative to the containing element.</p>
+<p>Provides the value of the attribute with the specified index relative to the containing element.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -1153,7 +1154,7 @@
 </tr>
 <tr>
 <td><span class="term"><i><tt>no</tt></i>:</span></td>
-<td>the zero-based index of the <a href="libxml2-SAX.html#attribute">attribute</a> relative to the containing element</td>
+<td>the zero-based index of the attribute relative to the containing element</td>
 </tr>
 <tr>
 <td><span class="term"><i><tt>Returns</tt></i>:</span></td>
@@ -1168,7 +1169,7 @@
 <a name="xmlTextReaderGetAttributeNs"></a>xmlTextReaderGetAttributeNs ()</h3>
 <pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlTextReaderGetAttributeNs	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * localName, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * namespaceURI)<br>
 </pre>
-<p>Provides the value of the specified <a href="libxml2-SAX.html#attribute">attribute</a></p>
+<p>Provides the value of the specified attribute</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -1178,11 +1179,11 @@
 </tr>
 <tr>
 <td><span class="term"><i><tt>localName</tt></i>:</span></td>
-<td>the local name of the <a href="libxml2-SAX.html#attribute">attribute</a>.</td>
+<td>the local name of the attribute.</td>
 </tr>
 <tr>
 <td><span class="term"><i><tt>namespaceURI</tt></i>:</span></td>
-<td>the namespace URI of the <a href="libxml2-SAX.html#attribute">attribute</a>.</td>
+<td>the namespace URI of the attribute.</td>
 </tr>
 <tr>
 <td><span class="term"><i><tt>Returns</tt></i>:</span></td>
@@ -1415,7 +1416,7 @@
 <a name="xmlTextReaderIsNamespaceDecl"></a>xmlTextReaderIsNamespaceDecl ()</h3>
 <pre class="programlisting">int	xmlTextReaderIsNamespaceDecl	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
 </pre>
-<p>Determine whether the current node is a namespace declaration rather than a regular <a href="libxml2-SAX.html#attribute">attribute</a>.</p>
+<p>Determine whether the current node is a namespace declaration rather than a regular attribute.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -1425,7 +1426,7 @@
 </tr>
 <tr>
 <td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td>1 if the current node is a namespace declaration, 0 if it is a regular <a href="libxml2-SAX.html#attribute">attribute</a> or other type of node, or -1 in case of error.</td>
+<td>1 if the current node is a namespace declaration, 0 if it is a regular attribute or other type of node, or -1 in case of error.</td>
 </tr>
 </tbody>
 </table></div>
@@ -1545,7 +1546,7 @@
 <a name="xmlTextReaderMoveToAttribute"></a>xmlTextReaderMoveToAttribute ()</h3>
 <pre class="programlisting">int	xmlTextReaderMoveToAttribute	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
 </pre>
-<p>Moves the position of the current instance to the <a href="libxml2-SAX.html#attribute">attribute</a> with the specified qualified name.</p>
+<p>Moves the position of the current instance to the attribute with the specified qualified name.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -1555,7 +1556,7 @@
 </tr>
 <tr>
 <td><span class="term"><i><tt>name</tt></i>:</span></td>
-<td>the qualified name of the <a href="libxml2-SAX.html#attribute">attribute</a>.</td>
+<td>the qualified name of the attribute.</td>
 </tr>
 <tr>
 <td><span class="term"><i><tt>Returns</tt></i>:</span></td>
@@ -1570,7 +1571,7 @@
 <a name="xmlTextReaderMoveToAttributeNo"></a>xmlTextReaderMoveToAttributeNo ()</h3>
 <pre class="programlisting">int	xmlTextReaderMoveToAttributeNo	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>					 int no)<br>
 </pre>
-<p>Moves the position of the current instance to the <a href="libxml2-SAX.html#attribute">attribute</a> with the specified index relative to the containing element.</p>
+<p>Moves the position of the current instance to the attribute with the specified index relative to the containing element.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -1580,7 +1581,7 @@
 </tr>
 <tr>
 <td><span class="term"><i><tt>no</tt></i>:</span></td>
-<td>the zero-based index of the <a href="libxml2-SAX.html#attribute">attribute</a> relative to the containing element.</td>
+<td>the zero-based index of the attribute relative to the containing element.</td>
 </tr>
 <tr>
 <td><span class="term"><i><tt>Returns</tt></i>:</span></td>
@@ -1595,7 +1596,7 @@
 <a name="xmlTextReaderMoveToAttributeNs"></a>xmlTextReaderMoveToAttributeNs ()</h3>
 <pre class="programlisting">int	xmlTextReaderMoveToAttributeNs	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * localName, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * namespaceURI)<br>
 </pre>
-<p>Moves the position of the current instance to the <a href="libxml2-SAX.html#attribute">attribute</a> with the specified local name and namespace URI.</p>
+<p>Moves the position of the current instance to the attribute with the specified local name and namespace URI.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -1605,11 +1606,11 @@
 </tr>
 <tr>
 <td><span class="term"><i><tt>localName</tt></i>:</span></td>
-<td>the local name of the <a href="libxml2-SAX.html#attribute">attribute</a>.</td>
+<td>the local name of the attribute.</td>
 </tr>
 <tr>
 <td><span class="term"><i><tt>namespaceURI</tt></i>:</span></td>
-<td>the namespace URI of the <a href="libxml2-SAX.html#attribute">attribute</a>.</td>
+<td>the namespace URI of the attribute.</td>
 </tr>
 <tr>
 <td><span class="term"><i><tt>Returns</tt></i>:</span></td>
@@ -1645,7 +1646,7 @@
 <a name="xmlTextReaderMoveToFirstAttribute"></a>xmlTextReaderMoveToFirstAttribute ()</h3>
 <pre class="programlisting">int	xmlTextReaderMoveToFirstAttribute	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
 </pre>
-<p>Moves the position of the current instance to the first <a href="libxml2-SAX.html#attribute">attribute</a> associated with the current node.</p>
+<p>Moves the position of the current instance to the first attribute associated with the current node.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -1666,7 +1667,7 @@
 <a name="xmlTextReaderMoveToNextAttribute"></a>xmlTextReaderMoveToNextAttribute ()</h3>
 <pre class="programlisting">int	xmlTextReaderMoveToNextAttribute	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
 </pre>
-<p>Moves the position of the current instance to the next <a href="libxml2-SAX.html#attribute">attribute</a> associated with the current node.</p>
+<p>Moves the position of the current instance to the next attribute associated with the current node.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -1792,7 +1793,7 @@
 <a name="xmlTextReaderNormalization"></a>xmlTextReaderNormalization ()</h3>
 <pre class="programlisting">int	xmlTextReaderNormalization	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
 </pre>
-<p>The value indicating whether to normalize white space and <a href="libxml2-SAX.html#attribute">attribute</a> values. Since <a href="libxml2-SAX.html#attribute">attribute</a> value and end of line normalizations are a MUST in the XML specification only the value true is accepted. The broken behaviour of accepting out of range character entities like &amp;#0; is of course not supported either.</p>
+<p>The value indicating whether to normalize white space and attribute values. Since attribute value and end of line normalizations are a MUST in the XML specification only the value true is accepted. The broken behaviour of accepting out of range character entities like &amp;#0; is of course not supported either.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -1813,7 +1814,7 @@
 <a name="xmlTextReaderPrefix"></a>xmlTextReaderPrefix ()</h3>
 <pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlTextReaderPrefix	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
 </pre>
-<p>A shorthand <a href="libxml2-SAX.html#reference">reference</a> to the namespace associated with the node.</p>
+<p>A shorthand reference to the namespace associated with the node.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -1884,7 +1885,7 @@
 <a name="xmlTextReaderQuoteChar"></a>xmlTextReaderQuoteChar ()</h3>
 <pre class="programlisting">int	xmlTextReaderQuoteChar		(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
 </pre>
-<p>The quotation mark character used to enclose the value of an <a href="libxml2-SAX.html#attribute">attribute</a>.</p>
+<p>The quotation mark character used to enclose the value of an attribute.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -1926,7 +1927,7 @@
 <a name="xmlTextReaderReadAttributeValue"></a>xmlTextReaderReadAttributeValue ()</h3>
 <pre class="programlisting">int	xmlTextReaderReadAttributeValue	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
 </pre>
-<p>Parses an <a href="libxml2-SAX.html#attribute">attribute</a> value into one or more Text and EntityReference nodes.</p>
+<p>Parses an attribute value into one or more Text and EntityReference nodes.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -1936,7 +1937,7 @@
 </tr>
 <tr>
 <td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td>1 in case of success, 0 if the reader was not positioned on an <a href="libxml2-SAX.html#attribute">attribute</a> node or all the <a href="libxml2-SAX.html#attribute">attribute</a> values have been read, or -1 in case of error.</td>
+<td>1 in case of success, 0 if the reader was not positioned on an attribute node or all the attribute values have been read, or -1 in case of error.</td>
 </tr>
 </tbody>
 </table></div>
@@ -2020,7 +2021,7 @@
 </tr>
 <tr>
 <td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td>a string containing the contents of the Element or Text node, or NULL if the reader is positioned on any other type of node. The string must be deallocated by the caller.</td>
+<td>a string containing the contents of the non-empty Element or Text node (including CDATA sections), or NULL if the reader is positioned on any other type of node. The string must be deallocated by the caller.</td>
 </tr>
 </tbody>
 </table></div>
@@ -2236,6 +2237,31 @@
 <hr>
 <div class="refsect2" lang="en">
 <h3>
+<a name="xmlTextReaderSetResourceLoader"></a>xmlTextReaderSetResourceLoader ()</h3>
+<pre class="programlisting">void	xmlTextReaderSetResourceLoader	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>					 <a href="libxml2-parser.html#xmlResourceLoader">xmlResourceLoader</a> loader, <br>					 void * data)<br>
+</pre>
+<p>Register a callback function that will be called to load external resources like entities. Available since 2.14.0.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>reader</tt></i>:</span></td>
+<td>thr reader</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>loader</tt></i>:</span></td>
+<td>resource loader</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>data</tt></i>:</span></td>
+<td>user data which will be passed to the loader</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
 <a name="xmlTextReaderSetSchema"></a>xmlTextReaderSetSchema ()</h3>
 <pre class="programlisting">int	xmlTextReaderSetSchema		(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>					 <a href="libxml2-xmlschemas.html#xmlSchemaPtr">xmlSchemaPtr</a> schema)<br>
 </pre>
diff --git a/doc/devhelp/libxml2-xmlregexp.html b/doc/devhelp/libxml2-xmlregexp.html
index 1286692..14b6eea 100644
--- a/doc/devhelp/libxml2-xmlregexp.html
+++ b/doc/devhelp/libxml2-xmlregexp.html
@@ -22,34 +22,10 @@
 <p>Author(s): Daniel Veillard </p>
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
-<pre class="synopsis">typedef struct _xmlExpCtxt <a href="#xmlExpCtxt">xmlExpCtxt</a>;
-typedef <a href="libxml2-xmlregexp.html#xmlExpCtxt">xmlExpCtxt</a> * <a href="#xmlExpCtxtPtr">xmlExpCtxtPtr</a>;
-typedef struct _xmlExpNode <a href="#xmlExpNode">xmlExpNode</a>;
-typedef <a href="libxml2-xmlregexp.html#xmlExpNode">xmlExpNode</a> * <a href="#xmlExpNodePtr">xmlExpNodePtr</a>;
-typedef enum <a href="#xmlExpNodeType">xmlExpNodeType</a>;
-typedef struct _xmlRegExecCtxt <a href="#xmlRegExecCtxt">xmlRegExecCtxt</a>;
+<pre class="synopsis">typedef struct _xmlRegExecCtxt <a href="#xmlRegExecCtxt">xmlRegExecCtxt</a>;
 typedef <a href="libxml2-xmlregexp.html#xmlRegExecCtxt">xmlRegExecCtxt</a> * <a href="#xmlRegExecCtxtPtr">xmlRegExecCtxtPtr</a>;
 typedef struct _xmlRegexp <a href="#xmlRegexp">xmlRegexp</a>;
 typedef <a href="libxml2-xmlregexp.html#xmlRegexp">xmlRegexp</a> * <a href="#xmlRegexpPtr">xmlRegexpPtr</a>;
-int	<a href="#xmlExpCtxtNbCons">xmlExpCtxtNbCons</a>		(<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt);
-int	<a href="#xmlExpCtxtNbNodes">xmlExpCtxtNbNodes</a>		(<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt);
-void	<a href="#xmlExpDump">xmlExpDump</a>			(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>					 <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> expr);
-<a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a>	<a href="#xmlExpExpDerive">xmlExpExpDerive</a>		(<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt, <br>					 <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> exp, <br>					 <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> sub);
-void	<a href="#xmlExpFree">xmlExpFree</a>			(<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt, <br>					 <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> exp);
-void	<a href="#xmlExpFreeCtxt">xmlExpFreeCtxt</a>			(<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt);
-int	<a href="#xmlExpGetLanguage">xmlExpGetLanguage</a>		(<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt, <br>					 <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> exp, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** langList, <br>					 int len);
-int	<a href="#xmlExpGetStart">xmlExpGetStart</a>			(<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt, <br>					 <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> exp, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** tokList, <br>					 int len);
-int	<a href="#xmlExpIsNillable">xmlExpIsNillable</a>		(<a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> exp);
-int	<a href="#xmlExpMaxToken">xmlExpMaxToken</a>			(<a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> expr);
-<a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a>	<a href="#xmlExpNewAtom">xmlExpNewAtom</a>		(<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 int len);
-<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a>	<a href="#xmlExpNewCtxt">xmlExpNewCtxt</a>		(int maxNodes, <br>					 <a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> dict);
-<a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a>	<a href="#xmlExpNewOr">xmlExpNewOr</a>		(<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt, <br>					 <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> left, <br>					 <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> right);
-<a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a>	<a href="#xmlExpNewRange">xmlExpNewRange</a>		(<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt, <br>					 <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> subset, <br>					 int min, <br>					 int max);
-<a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a>	<a href="#xmlExpNewSeq">xmlExpNewSeq</a>		(<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt, <br>					 <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> left, <br>					 <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> right);
-<a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a>	<a href="#xmlExpParse">xmlExpParse</a>		(<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt, <br>					 const char * expr);
-void	<a href="#xmlExpRef">xmlExpRef</a>			(<a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> exp);
-<a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a>	<a href="#xmlExpStringDerive">xmlExpStringDerive</a>	(<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt, <br>					 <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> exp, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br>					 int len);
-int	<a href="#xmlExpSubsume">xmlExpSubsume</a>			(<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt, <br>					 <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> exp, <br>					 <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> sub);
 typedef void <a href="#xmlRegExecCallbacks">xmlRegExecCallbacks</a>		(<a href="libxml2-xmlregexp.html#xmlRegExecCtxtPtr">xmlRegExecCtxtPtr</a> exec, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * token, <br>					 void * transdata, <br>					 void * inputdata);
 int	<a href="#xmlRegExecErrInfo">xmlRegExecErrInfo</a>		(<a href="libxml2-xmlregexp.html#xmlRegExecCtxtPtr">xmlRegExecCtxtPtr</a> exec, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** string, <br>					 int * nbval, <br>					 int * nbneg, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** values, <br>					 int * terminal);
 int	<a href="#xmlRegExecNextValues">xmlRegExecNextValues</a>		(<a href="libxml2-xmlregexp.html#xmlRegExecCtxtPtr">xmlRegExecCtxtPtr</a> exec, <br>					 int * nbval, <br>					 int * nbneg, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** values, <br>					 int * terminal);
@@ -70,57 +46,6 @@
 <div class="refsect2" lang="en">
 <div class="refsect2" lang="en">
 <h3>
-<a name="xmlExpCtxt">Structure </a>xmlExpCtxt</h3>
-<pre class="programlisting">struct _xmlExpCtxt {
-The content of this structure is not made public by the API.
-} xmlExpCtxt;
-</pre>
-<p></p>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
-<a name="xmlExpCtxtPtr">Typedef </a>xmlExpCtxtPtr</h3>
-<pre class="programlisting"><a href="libxml2-xmlregexp.html#xmlExpCtxt">xmlExpCtxt</a> * xmlExpCtxtPtr;
-</pre>
-<p></p>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
-<a name="xmlExpNode">Structure </a>xmlExpNode</h3>
-<pre class="programlisting">struct _xmlExpNode {
-The content of this structure is not made public by the API.
-} xmlExpNode;
-</pre>
-<p></p>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
-<a name="xmlExpNodePtr">Typedef </a>xmlExpNodePtr</h3>
-<pre class="programlisting"><a href="libxml2-xmlregexp.html#xmlExpNode">xmlExpNode</a> * xmlExpNodePtr;
-</pre>
-<p></p>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
-<a name="xmlExpNodeType">Enum </a>xmlExpNodeType</h3>
-<pre class="programlisting">enum <a href="#xmlExpNodeType">xmlExpNodeType</a> {
-    <a name="XML_EXP_EMPTY">XML_EXP_EMPTY</a> = 0
-    <a name="XML_EXP_FORBID">XML_EXP_FORBID</a> = 1
-    <a name="XML_EXP_ATOM">XML_EXP_ATOM</a> = 2
-    <a name="XML_EXP_SEQ">XML_EXP_SEQ</a> = 3
-    <a name="XML_EXP_OR">XML_EXP_OR</a> = 4
-    <a name="XML_EXP_COUNT">XML_EXP_COUNT</a> = 5
-};
-</pre>
-<p></p>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
 <a name="xmlRegExecCtxt">Structure </a>xmlRegExecCtxt</h3>
 <pre class="programlisting">struct _xmlRegExecCtxt {
 The content of this structure is not made public by the API.
@@ -186,505 +111,6 @@
 <hr>
 <div class="refsect2" lang="en">
 <h3>
-<a name="emptyExp">Variable </a>emptyExp</h3>
-<pre class="programlisting"><a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> emptyExp;
-</pre>
-<p></p>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
-<a name="forbiddenExp">Variable </a>forbiddenExp</h3>
-<pre class="programlisting"><a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> forbiddenExp;
-</pre>
-<p></p>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
-<a name="xmlExpCtxtNbCons"></a>xmlExpCtxtNbCons ()</h3>
-<pre class="programlisting">int	xmlExpCtxtNbCons		(<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt)<br>
-</pre>
-<p>Debugging facility provides the number of allocated nodes over lifetime</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 expression context</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td>the number of nodes ever allocated or -1 in case of error</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
-<a name="xmlExpCtxtNbNodes"></a>xmlExpCtxtNbNodes ()</h3>
-<pre class="programlisting">int	xmlExpCtxtNbNodes		(<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt)<br>
-</pre>
-<p>Debugging facility provides the number of allocated nodes at a that point</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 expression context</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td>the number of nodes in use or -1 in case of error</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
-<a name="xmlExpDump"></a>xmlExpDump ()</h3>
-<pre class="programlisting">void	xmlExpDump			(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>					 <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> expr)<br>
-</pre>
-<p>Serialize the expression as compiled to the buffer</p>
-<div class="variablelist"><table border="0">
-<col align="left">
-<tbody>
-<tr>
-<td><span class="term"><i><tt>buf</tt></i>:</span></td>
-<td>a buffer to receive the output</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>expr</tt></i>:</span></td>
-<td>the compiled expression</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
-<a name="xmlExpExpDerive"></a>xmlExpExpDerive ()</h3>
-<pre class="programlisting"><a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a>	xmlExpExpDerive		(<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt, <br>					 <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> exp, <br>					 <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> sub)<br>
-</pre>
-<p>Evaluates the expression resulting from @exp consuming a sub expression @sub Based on algebraic derivation and sometimes direct Brzozowski derivation it usually takes less than linear time and can handle expressions generating infinite languages.</p>
-<div class="variablelist"><table border="0">
-<col align="left">
-<tbody>
-<tr>
-<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
-<td>the expressions context</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>exp</tt></i>:</span></td>
-<td>the englobing expression</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>sub</tt></i>:</span></td>
-<td>the subexpression</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td>the resulting expression or NULL in case of internal error, the result must be freed</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
-<a name="xmlExpFree"></a>xmlExpFree ()</h3>
-<pre class="programlisting">void	xmlExpFree			(<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt, <br>					 <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> exp)<br>
-</pre>
-<p>Dereference the expression</p>
-<div class="variablelist"><table border="0">
-<col align="left">
-<tbody>
-<tr>
-<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
-<td>the expression context</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>exp</tt></i>:</span></td>
-<td>the expression</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
-<a name="xmlExpFreeCtxt"></a>xmlExpFreeCtxt ()</h3>
-<pre class="programlisting">void	xmlExpFreeCtxt			(<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt)<br>
-</pre>
-<p>Free an expression 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 expression context</td>
-</tr></tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
-<a name="xmlExpGetLanguage"></a>xmlExpGetLanguage ()</h3>
-<pre class="programlisting">int	xmlExpGetLanguage		(<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt, <br>					 <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> exp, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** langList, <br>					 int len)<br>
-</pre>
-<p>Find all the strings used in @exp and store them in @list</p>
-<div class="variablelist"><table border="0">
-<col align="left">
-<tbody>
-<tr>
-<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
-<td>the expression context</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>exp</tt></i>:</span></td>
-<td>the expression</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>langList</tt></i>:</span></td>
-<td>where to store the tokens</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>len</tt></i>:</span></td>
-<td>the allocated length of @list</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td>the number of unique strings found, -1 in case of errors and -2 if there is more than @len strings</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
-<a name="xmlExpGetStart"></a>xmlExpGetStart ()</h3>
-<pre class="programlisting">int	xmlExpGetStart			(<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt, <br>					 <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> exp, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** tokList, <br>					 int len)<br>
-</pre>
-<p>Find all the strings that appears at the start of the languages accepted by @exp and store them in @list. E.g. for (a, b) | c it will return the list [a, c]</p>
-<div class="variablelist"><table border="0">
-<col align="left">
-<tbody>
-<tr>
-<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
-<td>the expression context</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>exp</tt></i>:</span></td>
-<td>the expression</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>tokList</tt></i>:</span></td>
-<td>where to store the tokens</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>len</tt></i>:</span></td>
-<td>the allocated length of @list</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td>the number of unique strings found, -1 in case of errors and -2 if there is more than @len strings</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
-<a name="xmlExpIsNillable"></a>xmlExpIsNillable ()</h3>
-<pre class="programlisting">int	xmlExpIsNillable		(<a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> exp)<br>
-</pre>
-<p>Finds if the expression is nillable, i.e. if it accepts the empty sequence</p>
-<div class="variablelist"><table border="0">
-<col align="left">
-<tbody>
-<tr>
-<td><span class="term"><i><tt>exp</tt></i>:</span></td>
-<td>the expression</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td>1 if nillable, 0 if not and -1 in case of error</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
-<a name="xmlExpMaxToken"></a>xmlExpMaxToken ()</h3>
-<pre class="programlisting">int	xmlExpMaxToken			(<a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> expr)<br>
-</pre>
-<p>Indicate the maximum number of input a expression can accept</p>
-<div class="variablelist"><table border="0">
-<col align="left">
-<tbody>
-<tr>
-<td><span class="term"><i><tt>expr</tt></i>:</span></td>
-<td>a compiled expression</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td>the maximum length or -1 in case of error</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
-<a name="xmlExpNewAtom"></a>xmlExpNewAtom ()</h3>
-<pre class="programlisting"><a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a>	xmlExpNewAtom		(<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 int len)<br>
-</pre>
-<p>Get the atom associated to this name from that 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>the expression context</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>name</tt></i>:</span></td>
-<td>the atom name</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>len</tt></i>:</span></td>
-<td>the atom name length in byte (or -1);</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td>the node or NULL in case of error</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
-<a name="xmlExpNewCtxt"></a>xmlExpNewCtxt ()</h3>
-<pre class="programlisting"><a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a>	xmlExpNewCtxt		(int maxNodes, <br>					 <a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> dict)<br>
-</pre>
-<p>Creates a new context for manipulating expressions</p>
-<div class="variablelist"><table border="0">
-<col align="left">
-<tbody>
-<tr>
-<td><span class="term"><i><tt>maxNodes</tt></i>:</span></td>
-<td>the maximum number of nodes</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>dict</tt></i>:</span></td>
-<td>optional dictionary to use internally</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td>the context or NULL in case of error</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
-<a name="xmlExpNewOr"></a>xmlExpNewOr ()</h3>
-<pre class="programlisting"><a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a>	xmlExpNewOr		(<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt, <br>					 <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> left, <br>					 <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> right)<br>
-</pre>
-<p>Get the atom associated to the choice @left | @right Note that @left and @right are consumed in the operation, to keep an handle on them use xmlExpRef() and use xmlExpFree() to release them, this is true even in case of failure (unless ctxt == NULL).</p>
-<div class="variablelist"><table border="0">
-<col align="left">
-<tbody>
-<tr>
-<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
-<td>the expression context</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>left</tt></i>:</span></td>
-<td>left expression</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>right</tt></i>:</span></td>
-<td>right expression</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td>the node or NULL in case of error</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
-<a name="xmlExpNewRange"></a>xmlExpNewRange ()</h3>
-<pre class="programlisting"><a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a>	xmlExpNewRange		(<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt, <br>					 <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> subset, <br>					 int min, <br>					 int max)<br>
-</pre>
-<p>Get the atom associated to the range (@subset){@min, @max} Note that @subset is consumed in the operation, to keep an handle on it use xmlExpRef() and use xmlExpFree() to release it, this is true even in case of failure (unless ctxt == NULL).</p>
-<div class="variablelist"><table border="0">
-<col align="left">
-<tbody>
-<tr>
-<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
-<td>the expression context</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>subset</tt></i>:</span></td>
-<td>the expression to be repeated</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>min</tt></i>:</span></td>
-<td>the lower bound for the repetition</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>max</tt></i>:</span></td>
-<td>the upper bound for the repetition, -1 means infinite</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td>the node or NULL in case of error</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
-<a name="xmlExpNewSeq"></a>xmlExpNewSeq ()</h3>
-<pre class="programlisting"><a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a>	xmlExpNewSeq		(<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt, <br>					 <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> left, <br>					 <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> right)<br>
-</pre>
-<p>Get the atom associated to the sequence @left , @right Note that @left and @right are consumed in the operation, to keep an handle on them use xmlExpRef() and use xmlExpFree() to release them, this is true even in case of failure (unless ctxt == NULL).</p>
-<div class="variablelist"><table border="0">
-<col align="left">
-<tbody>
-<tr>
-<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
-<td>the expression context</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>left</tt></i>:</span></td>
-<td>left expression</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>right</tt></i>:</span></td>
-<td>right expression</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td>the node or NULL in case of error</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
-<a name="xmlExpParse"></a>xmlExpParse ()</h3>
-<pre class="programlisting"><a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a>	xmlExpParse		(<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt, <br>					 const char * expr)<br>
-</pre>
-<p>Minimal parser for regexps, it understand the following constructs - string terminals - choice operator | - sequence operator , - subexpressions (...) - usual cardinality operators + * and ? - finite sequences { min, max } - infinite sequences { min, * } There is minimal checkings made especially no checking on strings values</p>
-<div class="variablelist"><table border="0">
-<col align="left">
-<tbody>
-<tr>
-<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
-<td>the expressions context</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>expr</tt></i>:</span></td>
-<td>the 0 terminated string</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td>a new expression or NULL in case of failure</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
-<a name="xmlExpRef"></a>xmlExpRef ()</h3>
-<pre class="programlisting">void	xmlExpRef			(<a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> exp)<br>
-</pre>
-<p>Increase the <a href="libxml2-SAX.html#reference">reference</a> count of the expression</p>
-<div class="variablelist"><table border="0">
-<col align="left">
-<tbody><tr>
-<td><span class="term"><i><tt>exp</tt></i>:</span></td>
-<td>the expression</td>
-</tr></tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
-<a name="xmlExpStringDerive"></a>xmlExpStringDerive ()</h3>
-<pre class="programlisting"><a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a>	xmlExpStringDerive	(<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt, <br>					 <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> exp, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br>					 int len)<br>
-</pre>
-<p>Do one step of Brzozowski derivation of the expression @exp with respect to the input string</p>
-<div class="variablelist"><table border="0">
-<col align="left">
-<tbody>
-<tr>
-<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
-<td>the expression context</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>exp</tt></i>:</span></td>
-<td>the expression</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>str</tt></i>:</span></td>
-<td>the string</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>len</tt></i>:</span></td>
-<td>the string len in bytes if available</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td>the resulting expression or NULL in case of internal error</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
-<a name="xmlExpSubsume"></a>xmlExpSubsume ()</h3>
-<pre class="programlisting">int	xmlExpSubsume			(<a href="libxml2-xmlregexp.html#xmlExpCtxtPtr">xmlExpCtxtPtr</a> ctxt, <br>					 <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> exp, <br>					 <a href="libxml2-xmlregexp.html#xmlExpNodePtr">xmlExpNodePtr</a> sub)<br>
-</pre>
-<p>Check whether @exp accepts all the languages accepted by @sub the input being a subexpression.</p>
-<div class="variablelist"><table border="0">
-<col align="left">
-<tbody>
-<tr>
-<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
-<td>the expressions context</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>exp</tt></i>:</span></td>
-<td>the englobing expression</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>sub</tt></i>:</span></td>
-<td>the subexpression</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td>1 if true 0 if false and -1 in case of failure.</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
 <a name="xmlRegExecErrInfo"></a>xmlRegExecErrInfo ()</h3>
 <pre class="programlisting">int	xmlRegExecErrInfo		(<a href="libxml2-xmlregexp.html#xmlRegExecCtxtPtr">xmlRegExecCtxtPtr</a> exec, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** string, <br>					 int * nbval, <br>					 int * nbneg, <br>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** values, <br>					 int * terminal)<br>
 </pre>
@@ -954,7 +380,7 @@
 <a name="xmlRegexpPrint"></a>xmlRegexpPrint ()</h3>
 <pre class="programlisting">void	xmlRegexpPrint			(FILE * output, <br>					 <a href="libxml2-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a> regexp)<br>
 </pre>
-<p>Print the content of the compiled regular expression</p>
+<p>DEPRECATED: Don't use. No-op since 2.14.0.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
diff --git a/doc/devhelp/libxml2-xmlsave.html b/doc/devhelp/libxml2-xmlsave.html
index 083d0be..d4c4ce8 100644
--- a/doc/devhelp/libxml2-xmlsave.html
+++ b/doc/devhelp/libxml2-xmlsave.html
@@ -27,10 +27,11 @@
 typedef enum <a href="#xmlSaveOption">xmlSaveOption</a>;
 int	<a href="#xmlSaveClose">xmlSaveClose</a>			(<a href="libxml2-xmlsave.html#xmlSaveCtxtPtr">xmlSaveCtxtPtr</a> ctxt);
 long	<a href="#xmlSaveDoc">xmlSaveDoc</a>			(<a href="libxml2-xmlsave.html#xmlSaveCtxtPtr">xmlSaveCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc);
-int	<a href="#xmlSaveFinish">xmlSaveFinish</a>			(<a href="libxml2-xmlsave.html#xmlSaveCtxtPtr">xmlSaveCtxtPtr</a> ctxt);
+<a href="libxml2-xmlerror.html#xmlParserErrors">xmlParserErrors</a>	<a href="#xmlSaveFinish">xmlSaveFinish</a>		(<a href="libxml2-xmlsave.html#xmlSaveCtxtPtr">xmlSaveCtxtPtr</a> ctxt);
 int	<a href="#xmlSaveFlush">xmlSaveFlush</a>			(<a href="libxml2-xmlsave.html#xmlSaveCtxtPtr">xmlSaveCtxtPtr</a> ctxt);
 int	<a href="#xmlSaveSetAttrEscape">xmlSaveSetAttrEscape</a>		(<a href="libxml2-xmlsave.html#xmlSaveCtxtPtr">xmlSaveCtxtPtr</a> ctxt, <br>					 <a href="libxml2-encoding.html#xmlCharEncodingOutputFunc">xmlCharEncodingOutputFunc</a> escape);
 int	<a href="#xmlSaveSetEscape">xmlSaveSetEscape</a>		(<a href="libxml2-xmlsave.html#xmlSaveCtxtPtr">xmlSaveCtxtPtr</a> ctxt, <br>					 <a href="libxml2-encoding.html#xmlCharEncodingOutputFunc">xmlCharEncodingOutputFunc</a> escape);
+int	<a href="#xmlSaveSetIndentString">xmlSaveSetIndentString</a>		(<a href="libxml2-xmlsave.html#xmlSaveCtxtPtr">xmlSaveCtxtPtr</a> ctxt, <br>					 const char * indent);
 <a href="libxml2-xmlsave.html#xmlSaveCtxtPtr">xmlSaveCtxtPtr</a>	<a href="#xmlSaveToBuffer">xmlSaveToBuffer</a>		(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buffer, <br>					 const char * encoding, <br>					 int options);
 <a href="libxml2-xmlsave.html#xmlSaveCtxtPtr">xmlSaveCtxtPtr</a>	<a href="#xmlSaveToFd">xmlSaveToFd</a>		(int fd, <br>					 const char * encoding, <br>					 int options);
 <a href="libxml2-xmlsave.html#xmlSaveCtxtPtr">xmlSaveCtxtPtr</a>	<a href="#xmlSaveToFilename">xmlSaveToFilename</a>	(const char * filename, <br>					 const char * encoding, <br>					 int options);
@@ -74,7 +75,10 @@
     <a name="XML_SAVE_XHTML">XML_SAVE_XHTML</a> = 16 /* force XHTML1 specific rules */
     <a name="XML_SAVE_AS_XML">XML_SAVE_AS_XML</a> = 32 /* force XML serialization on HTML doc */
     <a name="XML_SAVE_AS_HTML">XML_SAVE_AS_HTML</a> = 64 /* force HTML serialization on XML doc */
-    <a name="XML_SAVE_WSNONSIG">XML_SAVE_WSNONSIG</a> = 128 /*  format with non-significant whitespace */
+    <a name="XML_SAVE_WSNONSIG">XML_SAVE_WSNONSIG</a> = 128 /* format with non-significant whitespace Available since 2.14.0 */
+    <a name="XML_SAVE_EMPTY">XML_SAVE_EMPTY</a> = 256 /* force empty tags, overriding global */
+    <a name="XML_SAVE_NO_INDENT">XML_SAVE_NO_INDENT</a> = 512 /* disable indenting */
+    <a name="XML_SAVE_INDENT">XML_SAVE_INDENT</a> = 1024 /*  force indenting, overriding global */
 };
 </pre>
 <p></p>
@@ -129,7 +133,7 @@
 <div class="refsect2" lang="en">
 <h3>
 <a name="xmlSaveFinish"></a>xmlSaveFinish ()</h3>
-<pre class="programlisting">int	xmlSaveFinish			(<a href="libxml2-xmlsave.html#xmlSaveCtxtPtr">xmlSaveCtxtPtr</a> ctxt)<br>
+<pre class="programlisting"><a href="libxml2-xmlerror.html#xmlParserErrors">xmlParserErrors</a>	xmlSaveFinish		(<a href="libxml2-xmlsave.html#xmlSaveCtxtPtr">xmlSaveCtxtPtr</a> ctxt)<br>
 </pre>
 <p>Close a document saving context, i.e. make sure that all bytes have been output and free the associated data. Available since 2.13.0.</p>
 <div class="variablelist"><table border="0">
@@ -173,7 +177,7 @@
 <a name="xmlSaveSetAttrEscape"></a>xmlSaveSetAttrEscape ()</h3>
 <pre class="programlisting">int	xmlSaveSetAttrEscape		(<a href="libxml2-xmlsave.html#xmlSaveCtxtPtr">xmlSaveCtxtPtr</a> ctxt, <br>					 <a href="libxml2-encoding.html#xmlCharEncodingOutputFunc">xmlCharEncodingOutputFunc</a> escape)<br>
 </pre>
-<p>Set a custom escaping function to be used for text in <a href="libxml2-SAX.html#attribute">attribute</a> content</p>
+<p>DEPRECATED: Don't use. Has no effect.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -198,7 +202,7 @@
 <a name="xmlSaveSetEscape"></a>xmlSaveSetEscape ()</h3>
 <pre class="programlisting">int	xmlSaveSetEscape		(<a href="libxml2-xmlsave.html#xmlSaveCtxtPtr">xmlSaveCtxtPtr</a> ctxt, <br>					 <a href="libxml2-encoding.html#xmlCharEncodingOutputFunc">xmlCharEncodingOutputFunc</a> escape)<br>
 </pre>
-<p>Set a custom escaping function to be used for text in element content</p>
+<p>DEPRECATED: Don't use. Set a custom escaping function to be used for text in element content</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -220,6 +224,31 @@
 <hr>
 <div class="refsect2" lang="en">
 <h3>
+<a name="xmlSaveSetIndentString"></a>xmlSaveSetIndentString ()</h3>
+<pre class="programlisting">int	xmlSaveSetIndentString		(<a href="libxml2-xmlsave.html#xmlSaveCtxtPtr">xmlSaveCtxtPtr</a> ctxt, <br>					 const char * indent)<br>
+</pre>
+<p>Sets the indent string. Available since 2.14.0.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>save context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>indent</tt></i>:</span></td>
+<td>indent string</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 on success, -1 if the string is NULL, empty or too long.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
 <a name="xmlSaveToBuffer"></a>xmlSaveToBuffer ()</h3>
 <pre class="programlisting"><a href="libxml2-xmlsave.html#xmlSaveCtxtPtr">xmlSaveCtxtPtr</a>	xmlSaveToBuffer		(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buffer, <br>					 const char * encoding, <br>					 int options)<br>
 </pre>
diff --git a/doc/devhelp/libxml2-xmlschemas.html b/doc/devhelp/libxml2-xmlschemas.html
index 77f1cfc..92e0e07 100644
--- a/doc/devhelp/libxml2-xmlschemas.html
+++ b/doc/devhelp/libxml2-xmlschemas.html
@@ -48,6 +48,7 @@
 int	<a href="#xmlSchemaSAXUnplug">xmlSchemaSAXUnplug</a>		(<a href="libxml2-xmlschemas.html#xmlSchemaSAXPlugPtr">xmlSchemaSAXPlugPtr</a> plug);
 void	<a href="#xmlSchemaSetParserErrors">xmlSchemaSetParserErrors</a>	(<a href="libxml2-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a> ctxt, <br>					 <a href="libxml2-xmlschemas.html#xmlSchemaValidityErrorFunc">xmlSchemaValidityErrorFunc</a> err, <br>					 <a href="libxml2-xmlschemas.html#xmlSchemaValidityWarningFunc">xmlSchemaValidityWarningFunc</a> warn, <br>					 void * ctx);
 void	<a href="#xmlSchemaSetParserStructuredErrors">xmlSchemaSetParserStructuredErrors</a>	(<a href="libxml2-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a> ctxt, <br>						 <a href="libxml2-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a> serror, <br>						 void * ctx);
+void	<a href="#xmlSchemaSetResourceLoader">xmlSchemaSetResourceLoader</a>	(<a href="libxml2-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a> ctxt, <br>					 <a href="libxml2-parser.html#xmlResourceLoader">xmlResourceLoader</a> loader, <br>					 void * data);
 void	<a href="#xmlSchemaSetValidErrors">xmlSchemaSetValidErrors</a>		(<a href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-xmlschemas.html#xmlSchemaValidityErrorFunc">xmlSchemaValidityErrorFunc</a> err, <br>					 <a href="libxml2-xmlschemas.html#xmlSchemaValidityWarningFunc">xmlSchemaValidityWarningFunc</a> warn, <br>					 void * ctx);
 int	<a href="#xmlSchemaSetValidOptions">xmlSchemaSetValidOptions</a>	(<a href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt, <br>					 int options);
 void	<a href="#xmlSchemaSetValidStructuredErrors">xmlSchemaSetValidStructuredErrors</a>	(<a href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt, <br>						 <a href="libxml2-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a> serror, <br>						 void * ctx);
@@ -58,7 +59,7 @@
 int	<a href="#xmlSchemaValidateOneElement">xmlSchemaValidateOneElement</a>	(<a href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem);
 void	<a href="#xmlSchemaValidateSetFilename">xmlSchemaValidateSetFilename</a>	(<a href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> vctxt, <br>					 const char * filename);
 void	<a href="#xmlSchemaValidateSetLocator">xmlSchemaValidateSetLocator</a>	(<a href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> vctxt, <br>					 <a href="libxml2-xmlschemas.html#xmlSchemaValidityLocatorFunc">xmlSchemaValidityLocatorFunc</a> f, <br>					 void * ctxt);
-int	<a href="#xmlSchemaValidateStream">xmlSchemaValidateStream</a>		(<a href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> input, <br>					 <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc, <br>					 <a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br>					 void * user_data);
+int	<a href="#xmlSchemaValidateStream">xmlSchemaValidateStream</a>		(<a href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> input, <br>					 <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc, <br>					 const <a href="libxml2-tree.html#xmlSAXHandler">xmlSAXHandler</a> * sax, <br>					 void * user_data);
 typedef void <a href="#xmlSchemaValidityErrorFunc">xmlSchemaValidityErrorFunc</a>	(void * ctx, <br>					 const char * msg, <br>					 ... ...);
 typedef int <a href="#xmlSchemaValidityLocatorFunc">xmlSchemaValidityLocatorFunc</a>	(void * ctx, <br>					 const char ** file, <br>					 unsigned long * line);
 typedef void <a href="#xmlSchemaValidityWarningFunc">xmlSchemaValidityWarningFunc</a>	(void * ctx, <br>					 const char * msg, <br>					 ... ...);
@@ -72,10 +73,10 @@
 <h3>
 <a name="xmlSchema">Structure </a>xmlSchema</h3>
 <pre class="programlisting">struct _xmlSchema {
-    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	name	: schema name
-    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	targetNamespace	: the target namespace
+    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	name
+    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	targetNamespace
     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	version
-    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	id	: Obsolete
+    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	id
     <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	doc
     <a href="libxml2-schemasInternals.html#xmlSchemaAnnotPtr">xmlSchemaAnnotPtr</a>	annot
     int	flags
@@ -85,14 +86,14 @@
     <a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a>	elemDecl
     <a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a>	notaDecl
     <a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a>	schemasImports
-    void *	_private	: unused by the library for users or bindings
+    void *	_private
     <a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a>	groupDecl
     <a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a>	dict
-    void *	includes	: the includes, this is opaque for now
-    int	preserve	: whether to free the document
-    int	counter	: used to give anonymous components unique names
-    <a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a>	idcDef	: All identity-constraint defs.
-    void *	volatiles	: Obsolete
+    void *	includes
+    int	preserve
+    int	counter
+    <a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a>	idcDef
+    void *	volatiles
 } xmlSchema;
 </pre>
 <p></p>
@@ -654,6 +655,31 @@
 <hr>
 <div class="refsect2" lang="en">
 <h3>
+<a name="xmlSchemaSetResourceLoader"></a>xmlSchemaSetResourceLoader ()</h3>
+<pre class="programlisting">void	xmlSchemaSetResourceLoader	(<a href="libxml2-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a> ctxt, <br>					 <a href="libxml2-parser.html#xmlResourceLoader">xmlResourceLoader</a> loader, <br>					 void * data)<br>
+</pre>
+<p>Register a callback function that will be called to load documents or external entities. Available since 2.14.0.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>schema parser</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>loader</tt></i>:</span></td>
+<td>resource loader</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>data</tt></i>:</span></td>
+<td>user data which will be passed to the loader</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
 <a name="xmlSchemaSetValidErrors"></a>xmlSchemaSetValidErrors ()</h3>
 <pre class="programlisting">void	xmlSchemaSetValidErrors		(<a href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-xmlschemas.html#xmlSchemaValidityErrorFunc">xmlSchemaValidityErrorFunc</a> err, <br>					 <a href="libxml2-xmlschemas.html#xmlSchemaValidityWarningFunc">xmlSchemaValidityWarningFunc</a> warn, <br>					 void * ctx)<br>
 </pre>
@@ -902,7 +928,7 @@
 <div class="refsect2" lang="en">
 <h3>
 <a name="xmlSchemaValidateStream"></a>xmlSchemaValidateStream ()</h3>
-<pre class="programlisting">int	xmlSchemaValidateStream		(<a href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> input, <br>					 <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc, <br>					 <a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br>					 void * user_data)<br>
+<pre class="programlisting">int	xmlSchemaValidateStream		(<a href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> input, <br>					 <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc, <br>					 const <a href="libxml2-tree.html#xmlSAXHandler">xmlSAXHandler</a> * sax, <br>					 void * user_data)<br>
 </pre>
 <p>Validate an input based on a flow of SAX event from the parser and forward the events to the @sax handler with the provided @user_data the user provided @sax handler must be a SAX2 one.</p>
 <div class="variablelist"><table border="0">
diff --git a/doc/devhelp/libxml2-xmlstring.html b/doc/devhelp/libxml2-xmlstring.html
index 1476ed2..2636a51 100644
--- a/doc/devhelp/libxml2-xmlstring.html
+++ b/doc/devhelp/libxml2-xmlstring.html
@@ -13,7 +13,7 @@
 <td><a accesskey="p" href="libxml2-xmlschemastypes.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
 <td><a accesskey="u" href="general.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
 <td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
-<td><a accesskey="n" href="libxml2-xmlunicode.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
+<td><a accesskey="n" href="libxml2-xmlversion.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
 <th width="100%" align="center">libxml2 Reference Manual</th>
 </tr></table>
 <h2><span class="refentrytitle">xmlstring</span></h2>
@@ -220,7 +220,7 @@
 </tr>
 <tr>
 <td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td>the number of <a href="libxml2-SAX.html#characters">characters</a> written to @buf or -1 if an error occurs.</td>
+<td>the number of characters written to @buf or -1 if an error occurs.</td>
 </tr>
 </tbody>
 </table></div>
@@ -282,7 +282,7 @@
 </tr>
 <tr>
 <td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td>the number of <a href="libxml2-SAX.html#characters">characters</a> written to @buf or -1 if an error occurs.</td>
+<td>the number of characters written to @buf or -1 if an error occurs.</td>
 </tr>
 </tbody>
 </table></div>
@@ -712,7 +712,7 @@
 </tr>
 <tr>
 <td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td>the number of <a href="libxml2-SAX.html#characters">characters</a> in the string or -1 in case of error</td>
+<td>the number of characters in the string or -1 in case of error</td>
 </tr>
 </tbody>
 </table></div>
@@ -808,11 +808,11 @@
 </tr>
 <tr>
 <td><span class="term"><i><tt>len</tt></i>:</span></td>
-<td>the number of <a href="libxml2-SAX.html#characters">characters</a> in the array</td>
+<td>the number of characters in the array</td>
 </tr>
 <tr>
 <td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td>the storage size of the first 'len' <a href="libxml2-SAX.html#characters">characters</a> of ARRAY</td>
+<td>the storage size of the first 'len' characters of ARRAY</td>
 </tr>
 </tbody>
 </table></div>
diff --git a/doc/devhelp/libxml2-xmlversion.html b/doc/devhelp/libxml2-xmlversion.html
index 73a0208..8cb1963 100644
--- a/doc/devhelp/libxml2-xmlversion.html
+++ b/doc/devhelp/libxml2-xmlversion.html
@@ -10,7 +10,7 @@
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
 <table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle">
-<td><a accesskey="p" href="libxml2-xmlunicode.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
+<td><a accesskey="p" href="libxml2-xmlstring.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
 <td><a accesskey="u" href="general.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
 <td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
 <td><a accesskey="n" href="libxml2-xmlwriter.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
@@ -27,13 +27,11 @@
 #define <a href="#LIBXML_CATALOG_ENABLED">LIBXML_CATALOG_ENABLED</a>;
 #define <a href="#LIBXML_DEBUG_ENABLED">LIBXML_DEBUG_ENABLED</a>;
 #define <a href="#LIBXML_DOTTED_VERSION">LIBXML_DOTTED_VERSION</a>;
-#define <a href="#LIBXML_FTP_ENABLED">LIBXML_FTP_ENABLED</a>;
 #define <a href="#LIBXML_HTML_ENABLED">LIBXML_HTML_ENABLED</a>;
 #define <a href="#LIBXML_HTTP_ENABLED">LIBXML_HTTP_ENABLED</a>;
 #define <a href="#LIBXML_ICONV_ENABLED">LIBXML_ICONV_ENABLED</a>;
 #define <a href="#LIBXML_ICU_ENABLED">LIBXML_ICU_ENABLED</a>;
 #define <a href="#LIBXML_ISO8859X_ENABLED">LIBXML_ISO8859X_ENABLED</a>;
-#define <a href="#LIBXML_LEGACY_ENABLED">LIBXML_LEGACY_ENABLED</a>;
 #define <a href="#LIBXML_LZMA_ENABLED">LIBXML_LZMA_ENABLED</a>;
 #define <a href="#LIBXML_MODULES_ENABLED">LIBXML_MODULES_ENABLED</a>;
 #define <a href="#LIBXML_MODULE_EXTENSION">LIBXML_MODULE_EXTENSION</a>;
@@ -42,6 +40,7 @@
 #define <a href="#LIBXML_PUSH_ENABLED">LIBXML_PUSH_ENABLED</a>;
 #define <a href="#LIBXML_READER_ENABLED">LIBXML_READER_ENABLED</a>;
 #define <a href="#LIBXML_REGEXP_ENABLED">LIBXML_REGEXP_ENABLED</a>;
+#define <a href="#LIBXML_RELAXNG_ENABLED">LIBXML_RELAXNG_ENABLED</a>;
 #define <a href="#LIBXML_SAX1_ENABLED">LIBXML_SAX1_ENABLED</a>;
 #define <a href="#LIBXML_SCHEMAS_ENABLED">LIBXML_SCHEMAS_ENABLED</a>;
 #define <a href="#LIBXML_SCHEMATRON_ENABLED">LIBXML_SCHEMATRON_ENABLED</a>;
@@ -49,7 +48,6 @@
 #define <a href="#LIBXML_THREAD_ALLOC_ENABLED">LIBXML_THREAD_ALLOC_ENABLED</a>;
 #define <a href="#LIBXML_THREAD_ENABLED">LIBXML_THREAD_ENABLED</a>;
 #define <a href="#LIBXML_TREE_ENABLED">LIBXML_TREE_ENABLED</a>;
-#define <a href="#LIBXML_UNICODE_ENABLED">LIBXML_UNICODE_ENABLED</a>;
 #define <a href="#LIBXML_VALID_ENABLED">LIBXML_VALID_ENABLED</a>;
 #define <a href="#LIBXML_VERSION">LIBXML_VERSION</a>;
 #define <a href="#LIBXML_VERSION_EXTRA">LIBXML_VERSION_EXTRA</a>;
@@ -58,7 +56,6 @@
 #define <a href="#LIBXML_XINCLUDE_ENABLED">LIBXML_XINCLUDE_ENABLED</a>;
 #define <a href="#LIBXML_XPATH_ENABLED">LIBXML_XPATH_ENABLED</a>;
 #define <a href="#LIBXML_XPTR_ENABLED">LIBXML_XPTR_ENABLED</a>;
-#define <a href="#LIBXML_XPTR_LOCS_ENABLED">LIBXML_XPTR_LOCS_ENABLED</a>;
 #define <a href="#LIBXML_ZLIB_ENABLED">LIBXML_ZLIB_ENABLED</a>;
 </pre>
 </div>
@@ -108,14 +105,6 @@
 <hr>
 <div class="refsect2" lang="en">
 <h3>
-<a name="LIBXML_FTP_ENABLED">Macro </a>LIBXML_FTP_ENABLED</h3>
-<pre class="programlisting">#define <a href="#LIBXML_FTP_ENABLED">LIBXML_FTP_ENABLED</a>;
-</pre>
-<p>Whether the FTP support is configured in</p>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
 <a name="LIBXML_HTML_ENABLED">Macro </a>LIBXML_HTML_ENABLED</h3>
 <pre class="programlisting">#define <a href="#LIBXML_HTML_ENABLED">LIBXML_HTML_ENABLED</a>;
 </pre>
@@ -156,14 +145,6 @@
 <hr>
 <div class="refsect2" lang="en">
 <h3>
-<a name="LIBXML_LEGACY_ENABLED">Macro </a>LIBXML_LEGACY_ENABLED</h3>
-<pre class="programlisting">#define <a href="#LIBXML_LEGACY_ENABLED">LIBXML_LEGACY_ENABLED</a>;
-</pre>
-<p>Whether the deprecated APIs are compiled in for compatibility</p>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
 <a name="LIBXML_LZMA_ENABLED">Macro </a>LIBXML_LZMA_ENABLED</h3>
 <pre class="programlisting">#define <a href="#LIBXML_LZMA_ENABLED">LIBXML_LZMA_ENABLED</a>;
 </pre>
@@ -228,6 +209,14 @@
 <hr>
 <div class="refsect2" lang="en">
 <h3>
+<a name="LIBXML_RELAXNG_ENABLED">Macro </a>LIBXML_RELAXNG_ENABLED</h3>
+<pre class="programlisting">#define <a href="#LIBXML_RELAXNG_ENABLED">LIBXML_RELAXNG_ENABLED</a>;
+</pre>
+<p>Whether the RelaxNG validation interfaces are compiled in</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
 <a name="LIBXML_SAX1_ENABLED">Macro </a>LIBXML_SAX1_ENABLED</h3>
 <pre class="programlisting">#define <a href="#LIBXML_SAX1_ENABLED">LIBXML_SAX1_ENABLED</a>;
 </pre>
@@ -279,15 +268,7 @@
 <a name="LIBXML_TREE_ENABLED">Macro </a>LIBXML_TREE_ENABLED</h3>
 <pre class="programlisting">#define <a href="#LIBXML_TREE_ENABLED">LIBXML_TREE_ENABLED</a>;
 </pre>
-<p>Whether the DOM like tree manipulation API support is configured in</p>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
-<a name="LIBXML_UNICODE_ENABLED">Macro </a>LIBXML_UNICODE_ENABLED</h3>
-<pre class="programlisting">#define <a href="#LIBXML_UNICODE_ENABLED">LIBXML_UNICODE_ENABLED</a>;
-</pre>
-<p>Whether the Unicode related interfaces are compiled in</p>
+<p>Always enabled since 2.14.0</p>
 </div>
 <hr>
 <div class="refsect2" lang="en">
@@ -356,14 +337,6 @@
 <hr>
 <div class="refsect2" lang="en">
 <h3>
-<a name="LIBXML_XPTR_LOCS_ENABLED">Macro </a>LIBXML_XPTR_LOCS_ENABLED</h3>
-<pre class="programlisting">#define <a href="#LIBXML_XPTR_LOCS_ENABLED">LIBXML_XPTR_LOCS_ENABLED</a>;
-</pre>
-<p>Whether support for XPointer locations is configured in</p>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
 <a name="LIBXML_ZLIB_ENABLED">Macro </a>LIBXML_ZLIB_ENABLED</h3>
 <pre class="programlisting">#define <a href="#LIBXML_ZLIB_ENABLED">LIBXML_ZLIB_ENABLED</a>;
 </pre>
diff --git a/doc/devhelp/libxml2-xmlwriter.html b/doc/devhelp/libxml2-xmlwriter.html
index 833c99a..cc39b64 100644
--- a/doc/devhelp/libxml2-xmlwriter.html
+++ b/doc/devhelp/libxml2-xmlwriter.html
@@ -387,7 +387,7 @@
 <a name="xmlTextWriterEndComment"></a>xmlTextWriterEndComment ()</h3>
 <pre class="programlisting">int	xmlTextWriterEndComment		(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer)<br>
 </pre>
-<p>End the current xml <a href="libxml2-SAX.html#comment">comment</a>.</p>
+<p>End the current xml comment.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -431,7 +431,7 @@
 <a name="xmlTextWriterEndDTDAttlist"></a>xmlTextWriterEndDTDAttlist ()</h3>
 <pre class="programlisting">int	xmlTextWriterEndDTDAttlist	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer)<br>
 </pre>
-<p>End an xml DTD <a href="libxml2-SAX.html#attribute">attribute</a> list.</p>
+<p>End an xml DTD attribute list.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -685,7 +685,7 @@
 <a name="xmlTextWriterStartAttribute"></a>xmlTextWriterStartAttribute ()</h3>
 <pre class="programlisting">int	xmlTextWriterStartAttribute	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
 </pre>
-<p>Start an xml <a href="libxml2-SAX.html#attribute">attribute</a>.</p>
+<p>Start an xml attribute.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -711,7 +711,7 @@
 <a name="xmlTextWriterStartAttributeNS"></a>xmlTextWriterStartAttributeNS ()</h3>
 <pre class="programlisting">int	xmlTextWriterStartAttributeNS	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * namespaceURI)<br>
 </pre>
-<p>Start an xml <a href="libxml2-SAX.html#attribute">attribute</a> with namespace support.</p>
+<p>Start an xml attribute with namespace support.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -767,7 +767,7 @@
 <a name="xmlTextWriterStartComment"></a>xmlTextWriterStartComment ()</h3>
 <pre class="programlisting">int	xmlTextWriterStartComment	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer)<br>
 </pre>
-<p>Start an xml <a href="libxml2-SAX.html#comment">comment</a>.</p>
+<p>Start an xml comment.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -1025,7 +1025,7 @@
 <a name="xmlTextWriterWriteAttribute"></a>xmlTextWriterWriteAttribute ()</h3>
 <pre class="programlisting">int	xmlTextWriterWriteAttribute	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br>
 </pre>
-<p>Write an xml <a href="libxml2-SAX.html#attribute">attribute</a>.</p>
+<p>Write an xml attribute.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -1036,13 +1036,11 @@
 </tr>
 <tr>
 <td><span class="term"><i><tt>name</tt></i>:</span></td>
-<td>
-<a href="libxml2-SAX.html#attribute">attribute</a> name</td>
+<td>attribute name</td>
 </tr>
 <tr>
 <td><span class="term"><i><tt>content</tt></i>:</span></td>
-<td>
-<a href="libxml2-SAX.html#attribute">attribute</a> content</td>
+<td>attribute content</td>
 </tr>
 <tr>
 <td><span class="term"><i><tt>Returns</tt></i>:</span></td>
@@ -1057,7 +1055,7 @@
 <a name="xmlTextWriterWriteAttributeNS"></a>xmlTextWriterWriteAttributeNS ()</h3>
 <pre class="programlisting">int	xmlTextWriterWriteAttributeNS	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * namespaceURI, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br>
 </pre>
-<p>Write an xml <a href="libxml2-SAX.html#attribute">attribute</a>.</p>
+<p>Write an xml attribute.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -1072,8 +1070,7 @@
 </tr>
 <tr>
 <td><span class="term"><i><tt>name</tt></i>:</span></td>
-<td>
-<a href="libxml2-SAX.html#attribute">attribute</a> local name</td>
+<td>attribute local name</td>
 </tr>
 <tr>
 <td><span class="term"><i><tt>namespaceURI</tt></i>:</span></td>
@@ -1081,8 +1078,7 @@
 </tr>
 <tr>
 <td><span class="term"><i><tt>content</tt></i>:</span></td>
-<td>
-<a href="libxml2-SAX.html#attribute">attribute</a> content</td>
+<td>attribute content</td>
 </tr>
 <tr>
 <td><span class="term"><i><tt>Returns</tt></i>:</span></td>
@@ -1191,7 +1187,7 @@
 <a name="xmlTextWriterWriteComment"></a>xmlTextWriterWriteComment ()</h3>
 <pre class="programlisting">int	xmlTextWriterWriteComment	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br>
 </pre>
-<p>Write an xml <a href="libxml2-SAX.html#comment">comment</a>.</p>
+<p>Write an xml comment.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -1202,8 +1198,7 @@
 </tr>
 <tr>
 <td><span class="term"><i><tt>content</tt></i>:</span></td>
-<td>
-<a href="libxml2-SAX.html#comment">comment</a> string</td>
+<td>comment string</td>
 </tr>
 <tr>
 <td><span class="term"><i><tt>Returns</tt></i>:</span></td>
@@ -1574,7 +1569,7 @@
 <a name="xmlTextWriterWriteFormatAttribute"></a>xmlTextWriterWriteFormatAttribute ()</h3>
 <pre class="programlisting">int	xmlTextWriterWriteFormatAttribute	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>						 const char * format, <br>						 ... ...)<br>
 </pre>
-<p>Write a formatted xml <a href="libxml2-SAX.html#attribute">attribute</a>.</p>
+<p>Write a formatted xml attribute.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -1585,8 +1580,7 @@
 </tr>
 <tr>
 <td><span class="term"><i><tt>name</tt></i>:</span></td>
-<td>
-<a href="libxml2-SAX.html#attribute">attribute</a> name</td>
+<td>attribute name</td>
 </tr>
 <tr>
 <td><span class="term"><i><tt>format</tt></i>:</span></td>
@@ -1624,8 +1618,7 @@
 </tr>
 <tr>
 <td><span class="term"><i><tt>name</tt></i>:</span></td>
-<td>
-<a href="libxml2-SAX.html#attribute">attribute</a> local name</td>
+<td>attribute local name</td>
 </tr>
 <tr>
 <td><span class="term"><i><tt>namespaceURI</tt></i>:</span></td>
@@ -1682,7 +1675,7 @@
 <a name="xmlTextWriterWriteFormatComment"></a>xmlTextWriterWriteFormatComment ()</h3>
 <pre class="programlisting">int	xmlTextWriterWriteFormatComment	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>					 const char * format, <br>					 ... ...)<br>
 </pre>
-<p>Write an xml <a href="libxml2-SAX.html#comment">comment</a>.</p>
+<p>Write an xml comment.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -2142,7 +2135,7 @@
 <a name="xmlTextWriterWriteVFormatAttribute"></a>xmlTextWriterWriteVFormatAttribute ()</h3>
 <pre class="programlisting">int	xmlTextWriterWriteVFormatAttribute	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>						 const char * format, <br>						 va_list argptr)<br>
 </pre>
-<p>Write a formatted xml <a href="libxml2-SAX.html#attribute">attribute</a>.</p>
+<p>Write a formatted xml attribute.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -2153,8 +2146,7 @@
 </tr>
 <tr>
 <td><span class="term"><i><tt>name</tt></i>:</span></td>
-<td>
-<a href="libxml2-SAX.html#attribute">attribute</a> name</td>
+<td>attribute name</td>
 </tr>
 <tr>
 <td><span class="term"><i><tt>format</tt></i>:</span></td>
@@ -2192,8 +2184,7 @@
 </tr>
 <tr>
 <td><span class="term"><i><tt>name</tt></i>:</span></td>
-<td>
-<a href="libxml2-SAX.html#attribute">attribute</a> local name</td>
+<td>attribute local name</td>
 </tr>
 <tr>
 <td><span class="term"><i><tt>namespaceURI</tt></i>:</span></td>
@@ -2250,7 +2241,7 @@
 <a name="xmlTextWriterWriteVFormatComment"></a>xmlTextWriterWriteVFormatComment ()</h3>
 <pre class="programlisting">int	xmlTextWriterWriteVFormatComment	(<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>						 const char * format, <br>						 va_list argptr)<br>
 </pre>
-<p>Write an xml <a href="libxml2-SAX.html#comment">comment</a>.</p>
+<p>Write an xml comment.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
diff --git a/doc/devhelp/libxml2-xpath.html b/doc/devhelp/libxml2-xpath.html
index fcc4273..d4f0eaf 100644
--- a/doc/devhelp/libxml2-xpath.html
+++ b/doc/devhelp/libxml2-xpath.html
@@ -171,9 +171,9 @@
 <h3>
 <a name="xmlNodeSet">Structure </a>xmlNodeSet</h3>
 <pre class="programlisting">struct _xmlNodeSet {
-    int	nodeNr	: number of nodes in the set
-    int	nodeMax	: size of the array as allocated
-    <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> *	nodeTab	: array of nodes in no particular order @@ with_ns to check whether nam
+    int	nodeNr
+    int	nodeMax
+    <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> *	nodeTab
 } xmlNodeSet;
 </pre>
 <p></p>
@@ -191,8 +191,8 @@
 <h3>
 <a name="xmlXPathAxis">Structure </a>xmlXPathAxis</h3>
 <pre class="programlisting">struct _xmlXPathAxis {
-    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	name	: the axis name
-    <a href="libxml2-xpath.html#xmlXPathAxisFunc">xmlXPathAxisFunc</a>	func	: the search function
+    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	name
+    <a href="libxml2-xpath.html#xmlXPathAxisFunc">xmlXPathAxisFunc</a>	func
 } xmlXPathAxis;
 </pre>
 <p></p>
@@ -228,45 +228,45 @@
 <h3>
 <a name="xmlXPathContext">Structure </a>xmlXPathContext</h3>
 <pre class="programlisting">struct _xmlXPathContext {
-    <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	doc	: The current document
-    <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	node	: The current node
-    int	nb_variables_unused	: unused (hash table)
-    int	max_variables_unused	: unused (hash table)
-    <a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a>	varHash	: Hash table of defined variables
-    int	nb_types	: number of defined types
-    int	max_types	: max number of types
-    <a href="libxml2-xpath.html#xmlXPathTypePtr">xmlXPathTypePtr</a>	types	: Array of defined types
-    int	nb_funcs_unused	: unused (hash table)
-    int	max_funcs_unused	: unused (hash table)
-    <a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a>	funcHash	: Hash table of defined funcs
-    int	nb_axis	: number of defined axis
-    int	max_axis	: max number of axis
-    <a href="libxml2-xpath.html#xmlXPathAxisPtr">xmlXPathAxisPtr</a>	axis	: Array of defined axis the namespace nodes of the context node
-    <a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> *	namespaces	: Array of namespaces
-    int	nsNr	: number of namespace in scope
-    void *	user	: function to free extra variables
-    int	contextSize	: the context size
-    int	proximityPosition	: the proximity position extra stuff for XPointer
-    int	xptr	: is this an XPointer context?
-    <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	here	: for here()
-    <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	origin	: for origin() the set of namespace declarations in scope for the expre
-    <a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a>	nsHash	: The namespaces hash table
-    <a href="libxml2-xpath.html#xmlXPathVariableLookupFunc">xmlXPathVariableLookupFunc</a>	varLookupFunc	: variable lookup func
-    void *	varLookupData	: variable lookup data Possibility to link in an extra item
-    void *	extra	: needed for XSLT The function name and URI when calling a function
+    <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>	doc
+    <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	node
+    int	nb_variables_unused
+    int	max_variables_unused
+    <a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a>	varHash
+    int	nb_types
+    int	max_types
+    <a href="libxml2-xpath.html#xmlXPathTypePtr">xmlXPathTypePtr</a>	types
+    int	nb_funcs_unused
+    int	max_funcs_unused
+    <a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a>	funcHash
+    int	nb_axis
+    int	max_axis
+    <a href="libxml2-xpath.html#xmlXPathAxisPtr">xmlXPathAxisPtr</a>	axis
+    <a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> *	namespaces
+    int	nsNr
+    void *	user
+    int	contextSize
+    int	proximityPosition
+    int	xptr
+    <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	here
+    <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	origin
+    <a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a>	nsHash
+    <a href="libxml2-xpath.html#xmlXPathVariableLookupFunc">xmlXPathVariableLookupFunc</a>	varLookupFunc
+    void *	varLookupData
+    void *	extra
     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	function
-    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	functionURI	: function lookup function and data
-    <a href="libxml2-xpath.html#xmlXPathFuncLookupFunc">xmlXPathFuncLookupFunc</a>	funcLookupFunc	: function lookup func
-    void *	funcLookupData	: function lookup data temporary namespace lists kept for walking the n
-    <a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> *	tmpNsList	: Array of namespaces
-    int	tmpNsNr	: number of namespaces in scope error reporting mechanism
-    void *	userData	: user specific data block
-    <a href="libxml2-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a>	error	: the callback in case of errors
-    <a href="libxml2-xmlerror.html#xmlError">xmlError</a>	lastError	: the last error
-    <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	debugNode	: the source node XSLT dictionary
-    <a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a>	dict	: dictionary if any
-    int	flags	: flags to control compilation Cache for reusal of XPath objects
-    void *	cache	: Resource limits
+    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	functionURI
+    <a href="libxml2-xpath.html#xmlXPathFuncLookupFunc">xmlXPathFuncLookupFunc</a>	funcLookupFunc
+    void *	funcLookupData
+    <a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> *	tmpNsList
+    int	tmpNsNr
+    void *	userData
+    <a href="libxml2-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a>	error
+    <a href="libxml2-xmlerror.html#xmlError">xmlError</a>	lastError
+    <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	debugNode
+    <a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a>	dict
+    int	flags
+    void *	cache
     unsigned long	opLimit
     unsigned long	opCount
     int	depth
@@ -331,8 +331,8 @@
 <h3>
 <a name="xmlXPathFunct">Structure </a>xmlXPathFunct</h3>
 <pre class="programlisting">struct _xmlXPathFunct {
-    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	name	: the function name
-    <a href="libxml2-xpath.html#xmlXPathEvalFunc">xmlXPathEvalFunc</a>	func	: the evaluation function
+    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	name
+    <a href="libxml2-xpath.html#xmlXPathEvalFunc">xmlXPathEvalFunc</a>	func
 } xmlXPathFunct;
 </pre>
 <p></p>
@@ -373,9 +373,6 @@
     <a name="XPATH_BOOLEAN">XPATH_BOOLEAN</a> = 2
     <a name="XPATH_NUMBER">XPATH_NUMBER</a> = 3
     <a name="XPATH_STRING">XPATH_STRING</a> = 4
-    <a name="XPATH_POINT">XPATH_POINT</a> = 5
-    <a name="XPATH_RANGE">XPATH_RANGE</a> = 6
-    <a name="XPATH_LOCATIONSET">XPATH_LOCATIONSET</a> = 7
     <a name="XPATH_USERS">XPATH_USERS</a> = 8
     <a name="XPATH_XSLT_TREE">XPATH_XSLT_TREE</a> = 9 /*  An XSLT value tree, non modifiable */
 };
@@ -387,18 +384,18 @@
 <h3>
 <a name="xmlXPathParserContext">Structure </a>xmlXPathParserContext</h3>
 <pre class="programlisting">struct _xmlXPathParserContext {
-    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	cur	: the current char being parsed
-    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	base	: the full expression
-    int	error	: error code
-    <a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a>	context	: the evaluation context
-    <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	value	: the current value
-    int	valueNr	: number of values stacked
-    int	valueMax	: max number of values stacked
-    <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> *	valueTab	: stack of values
-    <a href="libxml2-xpath.html#xmlXPathCompExprPtr">xmlXPathCompExprPtr</a>	comp	: the precompiled expression
-    int	xptr	: it this an XPointer expression
-    <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	ancestor	: used for walking preceding axis
-    int	valueFrame	: always zero for compatibility
+    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	cur
+    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	base
+    int	error
+    <a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a>	context
+    <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	value
+    int	valueNr
+    int	valueMax
+    <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> *	valueTab
+    <a href="libxml2-xpath.html#xmlXPathCompExprPtr">xmlXPathCompExprPtr</a>	comp
+    int	xptr
+    <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	ancestor
+    int	valueFrame
 } xmlXPathParserContext;
 </pre>
 <p></p>
@@ -416,8 +413,8 @@
 <h3>
 <a name="xmlXPathType">Structure </a>xmlXPathType</h3>
 <pre class="programlisting">struct _xmlXPathType {
-    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	name	: the type name
-    <a href="libxml2-xpath.html#xmlXPathConvertFunc">xmlXPathConvertFunc</a>	func	: the conversion function
+    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	name
+    <a href="libxml2-xpath.html#xmlXPathConvertFunc">xmlXPathConvertFunc</a>	func
 } xmlXPathType;
 </pre>
 <p></p>
@@ -435,8 +432,8 @@
 <h3>
 <a name="xmlXPathVariable">Structure </a>xmlXPathVariable</h3>
 <pre class="programlisting">struct _xmlXPathVariable {
-    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	name	: the variable name
-    <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	value	: the value
+    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	name
+    <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	value
 } xmlXPathVariable;
 </pre>
 <p></p>
diff --git a/doc/devhelp/libxml2-xpathInternals.html b/doc/devhelp/libxml2-xpathInternals.html
index 079f9b5..8a79367 100644
--- a/doc/devhelp/libxml2-xpathInternals.html
+++ b/doc/devhelp/libxml2-xpathInternals.html
@@ -32,6 +32,8 @@
 #define <a href="#CHECK_TYPE0">CHECK_TYPE0</a>(typeval);
 #define <a href="#XP_ERROR">XP_ERROR</a>(X);
 #define <a href="#XP_ERROR0">XP_ERROR0</a>(X);
+#define <a href="#valuePop">valuePop</a>;
+#define <a href="#valuePush">valuePush</a>;
 #define <a href="#xmlXPathCheckError">xmlXPathCheckError</a>(ctxt);
 #define <a href="#xmlXPathEmptyNodeSet">xmlXPathEmptyNodeSet</a>(ns);
 #define <a href="#xmlXPathGetContextNode">xmlXPathGetContextNode</a>(ctxt);
@@ -51,8 +53,6 @@
 #define <a href="#xmlXPathSetTypeError">xmlXPathSetTypeError</a>(ctxt);
 #define <a href="#xmlXPathStackIsExternal">xmlXPathStackIsExternal</a>(ctxt);
 #define <a href="#xmlXPathStackIsNodeSet">xmlXPathStackIsNodeSet</a>(ctxt);
-<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#valuePop">valuePop</a>	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);
-int	<a href="#valuePush">valuePush</a>			(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> value);
 void	<a href="#xmlXPathAddValues">xmlXPathAddValues</a>		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);
 void	<a href="#xmlXPathBooleanFunction">xmlXPathBooleanFunction</a>		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs);
 void	<a href="#xmlXPathCeilingFunction">xmlXPathCeilingFunction</a>		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs);
@@ -161,6 +161,8 @@
 void	<a href="#xmlXPathTranslateFunction">xmlXPathTranslateFunction</a>	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs);
 void	<a href="#xmlXPathTrueFunction">xmlXPathTrueFunction</a>		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs);
 void	<a href="#xmlXPathValueFlipSign">xmlXPathValueFlipSign</a>		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);
+<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPathValuePop">xmlXPathValuePop</a>	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);
+int	<a href="#xmlXPathValuePush">xmlXPathValuePush</a>		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> value);
 <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPathVariableLookup">xmlXPathVariableLookup</a>	(<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
 <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPathVariableLookupNS">xmlXPathVariableLookupNS</a>	(<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>							 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ns_uri);
 <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPathWrapCString">xmlXPathWrapCString</a>	(char * val);
@@ -291,6 +293,22 @@
 <hr>
 <div class="refsect2" lang="en">
 <h3>
+<a name="valuePop">Macro </a>valuePop</h3>
+<pre class="programlisting">#define <a href="#valuePop">valuePop</a>;
+</pre>
+<p></p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="valuePush">Macro </a>valuePush</h3>
+<pre class="programlisting">#define <a href="#valuePush">valuePush</a>;
+</pre>
+<p></p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
 <a name="xmlXPathCheckError">Macro </a>xmlXPathCheckError</h3>
 <pre class="programlisting">#define <a href="#xmlXPathCheckError">xmlXPathCheckError</a>(ctxt);
 </pre>
@@ -612,52 +630,6 @@
 <hr>
 <div class="refsect2" lang="en">
 <h3>
-<a name="valuePop"></a>valuePop ()</h3>
-<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	valuePop	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)<br>
-</pre>
-<p>Pops the top XPath object from the value stack</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 XPath evaluation context</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td>the XPath object just removed</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
-<a name="valuePush"></a>valuePush ()</h3>
-<pre class="programlisting">int	valuePush			(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> value)<br>
-</pre>
-<p>Pushes a new XPath object on top of the value stack. If value is NULL, a memory error is recorded in 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 XPath evaluation context</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>value</tt></i>:</span></td>
-<td>the XPath object</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td>the number of items on the value stack, or -1 in case of error. The object is destroyed in case of error.</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
 <a name="xmlXPathAddValues"></a>xmlXPathAddValues ()</h3>
 <pre class="programlisting">void	xmlXPathAddValues		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)<br>
 </pre>
@@ -984,7 +956,7 @@
 <a name="xmlXPathEvalExpr"></a>xmlXPathEvalExpr ()</h3>
 <pre class="programlisting">void	xmlXPathEvalExpr		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)<br>
 </pre>
-<p>Parse and evaluate an XPath expression in the given context, then push the result on the context stack</p>
+<p>DEPRECATED: Internal function, don't use. Parse and evaluate an XPath expression in the given context, then push the result on the context stack</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody><tr>
@@ -1160,7 +1132,7 @@
 <a name="xmlXPathIdFunction"></a>xmlXPathIdFunction ()</h3>
 <pre class="programlisting">void	xmlXPathIdFunction		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs)<br>
 </pre>
-<p>Implement the id() XPath function node-set id(object) The id function selects elements by their unique ID (see [5.2.1 Unique IDs]). When the argument to id is of type node-set, then the result is the union of the result of applying id to the string value of each of the nodes in the argument node-set. When the argument to id is of any other type, the argument is converted to a string as if by a call to the string function; the string is split into a whitespace-separated list of tokens (whitespace is any sequence of <a href="libxml2-SAX.html#characters">characters</a> matching the production S); the result is a node-set containing the elements in the same document as the context node that have a unique ID equal to any of the tokens in the list.</p>
+<p>Implement the id() XPath function node-set id(object) The id function selects elements by their unique ID (see [5.2.1 Unique IDs]). When the argument to id is of type node-set, then the result is the union of the result of applying id to the string value of each of the nodes in the argument node-set. When the argument to id is of any other type, the argument is converted to a string as if by a call to the string function; the string is split into a whitespace-separated list of tokens (whitespace is any sequence of characters matching the production S); the result is a node-set containing the elements in the same document as the context node that have a unique ID equal to any of the tokens in the list.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -1227,7 +1199,7 @@
 <a name="xmlXPathLangFunction"></a>xmlXPathLangFunction ()</h3>
 <pre class="programlisting">void	xmlXPathLangFunction		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs)<br>
 </pre>
-<p>Implement the lang() XPath function boolean lang(string) The lang function returns true or false depending on whether the language of the context node as specified by xml:lang attributes is the same as or is a sublanguage of the language specified by the argument string. The language of the context node is determined by the value of the xml:lang <a href="libxml2-SAX.html#attribute">attribute</a> on the context node, or, if the context node has no xml:lang attribute, by the value of the xml:lang <a href="libxml2-SAX.html#attribute">attribute</a> on the nearest ancestor of the context node that has an xml:lang <a href="libxml2-SAX.html#attribute">attribute</a>. If there is no such attribute, then lang</p>
+<p>Implement the lang() XPath function boolean lang(string) The lang function returns true or false depending on whether the language of the context node as specified by xml:lang attributes is the same as or is a sublanguage of the language specified by the argument string. The language of the context node is determined by the value of the xml:lang attribute on the context node, or, if the context node has no xml:lang attribute, by the value of the xml:lang attribute on the nearest ancestor of the context node that has an xml:lang attribute. If there is no such attribute, then lang</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -1623,7 +1595,7 @@
 </tr>
 <tr>
 <td><span class="term"><i><tt>cur</tt></i>:</span></td>
-<td>the current <a href="libxml2-SAX.html#attribute">attribute</a> in the traversal</td>
+<td>the current attribute in the traversal</td>
 </tr>
 <tr>
 <td><span class="term"><i><tt>Returns</tt></i>:</span></td>
@@ -1713,7 +1685,7 @@
 <a name="xmlXPathNextFollowing"></a>xmlXPathNextFollowing ()</h3>
 <pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlXPathNextFollowing	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur)<br>
 </pre>
-<p>Traversal function for the "following" direction The following axis contains all nodes in the same document as the context node that are after the context node in document order, excluding any descendants and excluding <a href="libxml2-SAX.html#attribute">attribute</a> nodes and namespace nodes; the nodes are ordered in document order</p>
+<p>Traversal function for the "following" direction The following axis contains all nodes in the same document as the context node that are after the context node in document order, excluding any descendants and excluding attribute nodes and namespace nodes; the nodes are ordered in document order</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -1773,7 +1745,7 @@
 </tr>
 <tr>
 <td><span class="term"><i><tt>cur</tt></i>:</span></td>
-<td>the current <a href="libxml2-SAX.html#attribute">attribute</a> in the traversal</td>
+<td>the current attribute in the traversal</td>
 </tr>
 <tr>
 <td><span class="term"><i><tt>Returns</tt></i>:</span></td>
@@ -1813,7 +1785,7 @@
 <a name="xmlXPathNextPreceding"></a>xmlXPathNextPreceding ()</h3>
 <pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlXPathNextPreceding	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur)<br>
 </pre>
-<p>Traversal function for the "preceding" direction the preceding axis contains all nodes in the same document as the context node that are before the context node in document order, excluding any ancestors and excluding <a href="libxml2-SAX.html#attribute">attribute</a> nodes and namespace nodes; the nodes are ordered in reverse document order</p>
+<p>Traversal function for the "preceding" direction the preceding axis contains all nodes in the same document as the context node that are before the context node in document order, excluding any ancestors and excluding attribute nodes and namespace nodes; the nodes are ordered in reverse document order</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -2192,7 +2164,7 @@
 <a name="xmlXPathNormalizeFunction"></a>xmlXPathNormalizeFunction ()</h3>
 <pre class="programlisting">void	xmlXPathNormalizeFunction	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs)<br>
 </pre>
-<p>Implement the normalize-space() XPath function string normalize-space(string?) The normalize-space function returns the argument string with white space normalized by stripping leading and trailing whitespace and replacing sequences of whitespace <a href="libxml2-SAX.html#characters">characters</a> by a single space. Whitespace <a href="libxml2-SAX.html#characters">characters</a> are the same allowed by the S production in XML. If the argument is omitted, it defaults to the context node converted to a string, in other words the value of the context node.</p>
+<p>Implement the normalize-space() XPath function string normalize-space(string?) The normalize-space function returns the argument string with white space normalized by stripping leading and trailing whitespace and replacing sequences of whitespace characters by a single space. Whitespace characters are the same allowed by the S production in XML. If the argument is omitted, it defaults to the context node converted to a string, in other words the value of the context node.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -2469,7 +2441,7 @@
 <a name="xmlXPathRegisterAllFunctions"></a>xmlXPathRegisterAllFunctions ()</h3>
 <pre class="programlisting">void	xmlXPathRegisterAllFunctions	(<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt)<br>
 </pre>
-<p>Registers all default XPath functions in this context</p>
+<p>DEPRECATED: No-op since 2.14.0. Registers all default XPath functions in this context</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody><tr>
@@ -2831,7 +2803,7 @@
 <a name="xmlXPathStringLengthFunction"></a>xmlXPathStringLengthFunction ()</h3>
 <pre class="programlisting">void	xmlXPathStringLengthFunction	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs)<br>
 </pre>
-<p>Implement the string-length() XPath function number string-length(string?) The string-length returns the number of <a href="libxml2-SAX.html#characters">characters</a> in the string (see [3.6 Strings]). If the argument is omitted, it defaults to the context node converted to a string, in other words the value of the context node.</p>
+<p>Implement the string-length() XPath function number string-length(string?) The string-length returns the number of characters in the string (see [3.6 Strings]). If the argument is omitted, it defaults to the context node converted to a string, in other words the value of the context node.</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -2909,7 +2881,7 @@
 <a name="xmlXPathSubstringFunction"></a>xmlXPathSubstringFunction ()</h3>
 <pre class="programlisting">void	xmlXPathSubstringFunction	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs)<br>
 </pre>
-<p>Implement the substring() XPath function string substring(string, number, number?) The substring function returns the substring of the first argument starting at the position specified in the second argument with length specified in the third argument. For example, substring("12345",2,3) returns "234". If the third argument is not specified, it returns the substring starting at the position specified in the second argument and continuing to the end of the string. For example, substring("12345",2) returns "2345". More precisely, each character in the string (see [3.6 Strings]) is considered to have a numeric position: the position of the first character is 1, the position of the second character is 2 and so on. The returned substring contains those <a href="libxml2-SAX.html#characters">characters</a> for which the position of the character is greater than or equal to the second argument and, if the third argument is specified, less than the sum of the second and third arguments; the comparisons and addition used for the above follow the standard IEEE 754 rules. Thus: - substring("12345", 1.5, 2.6) returns "234" - substring("12345", 0, 3) returns "12" - substring("12345", 0 div 0, 3) returns "" - substring("12345", 1, 0 div 0) returns "" - substring("12345", -42, 1 div 0) returns "12345" - substring("12345", -1 div 0, 1 div 0) returns ""</p>
+<p>Implement the substring() XPath function string substring(string, number, number?) The substring function returns the substring of the first argument starting at the position specified in the second argument with length specified in the third argument. For example, substring("12345",2,3) returns "234". If the third argument is not specified, it returns the substring starting at the position specified in the second argument and continuing to the end of the string. For example, substring("12345",2) returns "2345". More precisely, each character in the string (see [3.6 Strings]) is considered to have a numeric position: the position of the first character is 1, the position of the second character is 2 and so on. The returned substring contains those characters for which the position of the character is greater than or equal to the second argument and, if the third argument is specified, less than the sum of the second and third arguments; the comparisons and addition used for the above follow the standard IEEE 754 rules. Thus: - substring("12345", 1.5, 2.6) returns "234" - substring("12345", 0, 3) returns "12" - substring("12345", 0 div 0, 3) returns "" - substring("12345", 1, 0 div 0) returns "" - substring("12345", -42, 1 div 0) returns "12345" - substring("12345", -1 div 0, 1 div 0) returns ""</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -3001,7 +2973,7 @@
 <a name="xmlXPathTranslateFunction"></a>xmlXPathTranslateFunction ()</h3>
 <pre class="programlisting">void	xmlXPathTranslateFunction	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs)<br>
 </pre>
-<p>Implement the translate() XPath function string translate(string, string, string) The translate function returns the first argument string with occurrences of <a href="libxml2-SAX.html#characters">characters</a> in the second argument string replaced by the character at the corresponding position in the third argument string. For example, translate("bar","abc","ABC") returns the string BAr. If there is a character in the second argument string with no character at a corresponding position in the third argument string (because the second argument string is longer than the third argument string), then occurrences of that character in the first argument string are removed. For example, translate("--aaa--","abc-","ABC")</p>
+<p>Implement the translate() XPath function string translate(string, string, string) The translate function returns the first argument string with occurrences of characters in the second argument string replaced by the character at the corresponding position in the third argument string. For example, translate("bar","abc","ABC") returns the string BAr. If there is a character in the second argument string with no character at a corresponding position in the third argument string (because the second argument string is longer than the third argument string), then occurrences of that character in the first argument string are removed. For example, translate("--aaa--","abc-","ABC")</p>
 <div class="variablelist"><table border="0">
 <col align="left">
 <tbody>
@@ -3055,6 +3027,52 @@
 <hr>
 <div class="refsect2" lang="en">
 <h3>
+<a name="xmlXPathValuePop"></a>xmlXPathValuePop ()</h3>
+<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPathValuePop	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)<br>
+</pre>
+<p>Pops the top XPath object from the value stack</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 XPath evaluation context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the XPath object just removed</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathValuePush"></a>xmlXPathValuePush ()</h3>
+<pre class="programlisting">int	xmlXPathValuePush		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> value)<br>
+</pre>
+<p>Pushes a new XPath object on top of the value stack. If value is NULL, a memory error is recorded in 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 XPath evaluation context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>value</tt></i>:</span></td>
+<td>the XPath object</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the number of items on the value stack, or -1 in case of error. The object is destroyed in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
 <a name="xmlXPathVariableLookup"></a>xmlXPathVariableLookup ()</h3>
 <pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPathVariableLookup	(<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br>						 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
 </pre>
diff --git a/doc/devhelp/libxml2-xpointer.html b/doc/devhelp/libxml2-xpointer.html
index 7f0595f..50f1ce7 100644
--- a/doc/devhelp/libxml2-xpointer.html
+++ b/doc/devhelp/libxml2-xpointer.html
@@ -21,29 +21,8 @@
 <p>Author(s): Daniel Veillard </p>
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
-<pre class="synopsis">typedef struct _xmlLocationSet <a href="#xmlLocationSet">xmlLocationSet</a>;
-typedef <a href="libxml2-xpointer.html#xmlLocationSet">xmlLocationSet</a> * <a href="#xmlLocationSetPtr">xmlLocationSetPtr</a>;
-<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	<a href="#xmlXPtrBuildNodeList">xmlXPtrBuildNodeList</a>	(<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> obj);
-<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPtrEval">xmlXPtrEval</a>	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br>					 <a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctx);
-void	<a href="#xmlXPtrEvalRangePredicate">xmlXPtrEvalRangePredicate</a>	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);
-void	<a href="#xmlXPtrFreeLocationSet">xmlXPtrFreeLocationSet</a>		(<a href="libxml2-xpointer.html#xmlLocationSetPtr">xmlLocationSetPtr</a> obj);
-void	<a href="#xmlXPtrLocationSetAdd">xmlXPtrLocationSetAdd</a>		(<a href="libxml2-xpointer.html#xmlLocationSetPtr">xmlLocationSetPtr</a> cur, <br>					 <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val);
-<a href="libxml2-xpointer.html#xmlLocationSetPtr">xmlLocationSetPtr</a>	<a href="#xmlXPtrLocationSetCreate">xmlXPtrLocationSetCreate</a>	(<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val);
-void	<a href="#xmlXPtrLocationSetDel">xmlXPtrLocationSetDel</a>		(<a href="libxml2-xpointer.html#xmlLocationSetPtr">xmlLocationSetPtr</a> cur, <br>					 <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val);
-<a href="libxml2-xpointer.html#xmlLocationSetPtr">xmlLocationSetPtr</a>	<a href="#xmlXPtrLocationSetMerge">xmlXPtrLocationSetMerge</a>	(<a href="libxml2-xpointer.html#xmlLocationSetPtr">xmlLocationSetPtr</a> val1, <br>						 <a href="libxml2-xpointer.html#xmlLocationSetPtr">xmlLocationSetPtr</a> val2);
-void	<a href="#xmlXPtrLocationSetRemove">xmlXPtrLocationSetRemove</a>	(<a href="libxml2-xpointer.html#xmlLocationSetPtr">xmlLocationSetPtr</a> cur, <br>					 int val);
-<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPtrNewCollapsedRange">xmlXPtrNewCollapsedRange</a>	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> start);
+<pre class="synopsis"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPtrEval">xmlXPtrEval</a>	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br>					 <a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctx);
 <a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a>	<a href="#xmlXPtrNewContext">xmlXPtrNewContext</a>	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>						 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> here, <br>						 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> origin);
-<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPtrNewLocationSetNodeSet">xmlXPtrNewLocationSetNodeSet</a>	(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> set);
-<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPtrNewLocationSetNodes">xmlXPtrNewLocationSetNodes</a>	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> start, <br>							 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> end);
-<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPtrNewRange">xmlXPtrNewRange</a>	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> start, <br>					 int startindex, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> end, <br>					 int endindex);
-<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPtrNewRangeNodeObject">xmlXPtrNewRangeNodeObject</a>	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> start, <br>							 <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> end);
-<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPtrNewRangeNodePoint">xmlXPtrNewRangeNodePoint</a>	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> start, <br>							 <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> end);
-<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPtrNewRangeNodes">xmlXPtrNewRangeNodes</a>	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> start, <br>						 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> end);
-<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPtrNewRangePointNode">xmlXPtrNewRangePointNode</a>	(<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> start, <br>							 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> end);
-<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPtrNewRangePoints">xmlXPtrNewRangePoints</a>	(<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> start, <br>						 <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> end);
-void	<a href="#xmlXPtrRangeToFunction">xmlXPtrRangeToFunction</a>		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs);
-<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	<a href="#xmlXPtrWrapLocationSet">xmlXPtrWrapLocationSet</a>	(<a href="libxml2-xpointer.html#xmlLocationSetPtr">xmlLocationSetPtr</a> val);
 </pre>
 </div>
 <div class="refsect1" lang="en"><h2>Description</h2></div>
@@ -52,47 +31,6 @@
 <div class="refsect2" lang="en">
 <div class="refsect2" lang="en">
 <h3>
-<a name="xmlLocationSet">Structure </a>xmlLocationSet</h3>
-<pre class="programlisting">struct _xmlLocationSet {
-    int	locNr	: number of locations in the set
-    int	locMax	: size of the array as allocated
-    <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> *	locTab	: array of locations
-} xmlLocationSet;
-</pre>
-<p></p>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
-<a name="xmlLocationSetPtr">Typedef </a>xmlLocationSetPtr</h3>
-<pre class="programlisting"><a href="libxml2-xpointer.html#xmlLocationSet">xmlLocationSet</a> * xmlLocationSetPtr;
-</pre>
-<p></p>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
-<a name="xmlXPtrBuildNodeList"></a>xmlXPtrBuildNodeList ()</h3>
-<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlXPtrBuildNodeList	(<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> obj)<br>
-</pre>
-<p>Build a node list tree copy of the XPointer result. This will drop Attributes and Namespace declarations.</p>
-<div class="variablelist"><table border="0">
-<col align="left">
-<tbody>
-<tr>
-<td><span class="term"><i><tt>obj</tt></i>:</span></td>
-<td>the XPointer result from the evaluation.</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td>an <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> list or NULL. the caller has to free the node tree.</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
 <a name="xmlXPtrEval"></a>xmlXPtrEval ()</h3>
 <pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPtrEval	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br>					 <a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctx)<br>
 </pre>
@@ -118,168 +56,6 @@
 <hr>
 <div class="refsect2" lang="en">
 <h3>
-<a name="xmlXPtrEvalRangePredicate"></a>xmlXPtrEvalRangePredicate ()</h3>
-<pre class="programlisting">void	xmlXPtrEvalRangePredicate	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)<br>
-</pre>
-<p>[8] Predicate ::= '[' PredicateExpr ']' [9] PredicateExpr ::= Expr Evaluate a predicate as in xmlXPathEvalPredicate() but for a Location Set instead of a node set</p>
-<div class="variablelist"><table border="0">
-<col align="left">
-<tbody><tr>
-<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
-<td>the XPointer Parser context</td>
-</tr></tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
-<a name="xmlXPtrFreeLocationSet"></a>xmlXPtrFreeLocationSet ()</h3>
-<pre class="programlisting">void	xmlXPtrFreeLocationSet		(<a href="libxml2-xpointer.html#xmlLocationSetPtr">xmlLocationSetPtr</a> obj)<br>
-</pre>
-<p>Free the LocationSet compound (not the actual ranges !).</p>
-<div class="variablelist"><table border="0">
-<col align="left">
-<tbody><tr>
-<td><span class="term"><i><tt>obj</tt></i>:</span></td>
-<td>the <a href="libxml2-xpointer.html#xmlLocationSetPtr">xmlLocationSetPtr</a> to free</td>
-</tr></tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
-<a name="xmlXPtrLocationSetAdd"></a>xmlXPtrLocationSetAdd ()</h3>
-<pre class="programlisting">void	xmlXPtrLocationSetAdd		(<a href="libxml2-xpointer.html#xmlLocationSetPtr">xmlLocationSetPtr</a> cur, <br>					 <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val)<br>
-</pre>
-<p>add a new <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> to an existing LocationSet If the location already exist in the set @val is freed.</p>
-<div class="variablelist"><table border="0">
-<col align="left">
-<tbody>
-<tr>
-<td><span class="term"><i><tt>cur</tt></i>:</span></td>
-<td>the initial range set</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>val</tt></i>:</span></td>
-<td>a new <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>
-</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
-<a name="xmlXPtrLocationSetCreate"></a>xmlXPtrLocationSetCreate ()</h3>
-<pre class="programlisting"><a href="libxml2-xpointer.html#xmlLocationSetPtr">xmlLocationSetPtr</a>	xmlXPtrLocationSetCreate	(<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val)<br>
-</pre>
-<p>Create a new <a href="libxml2-xpointer.html#xmlLocationSetPtr">xmlLocationSetPtr</a> of type double and of value @val</p>
-<div class="variablelist"><table border="0">
-<col align="left">
-<tbody>
-<tr>
-<td><span class="term"><i><tt>val</tt></i>:</span></td>
-<td>an initial xmlXPathObjectPtr, or NULL</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td>the newly created object.</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
-<a name="xmlXPtrLocationSetDel"></a>xmlXPtrLocationSetDel ()</h3>
-<pre class="programlisting">void	xmlXPtrLocationSetDel		(<a href="libxml2-xpointer.html#xmlLocationSetPtr">xmlLocationSetPtr</a> cur, <br>					 <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val)<br>
-</pre>
-<p>Removes an <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> from an existing LocationSet</p>
-<div class="variablelist"><table border="0">
-<col align="left">
-<tbody>
-<tr>
-<td><span class="term"><i><tt>cur</tt></i>:</span></td>
-<td>the initial range set</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>val</tt></i>:</span></td>
-<td>an <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>
-</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
-<a name="xmlXPtrLocationSetMerge"></a>xmlXPtrLocationSetMerge ()</h3>
-<pre class="programlisting"><a href="libxml2-xpointer.html#xmlLocationSetPtr">xmlLocationSetPtr</a>	xmlXPtrLocationSetMerge	(<a href="libxml2-xpointer.html#xmlLocationSetPtr">xmlLocationSetPtr</a> val1, <br>						 <a href="libxml2-xpointer.html#xmlLocationSetPtr">xmlLocationSetPtr</a> val2)<br>
-</pre>
-<p>Merges two rangesets, all ranges from @val2 are added to @val1</p>
-<div class="variablelist"><table border="0">
-<col align="left">
-<tbody>
-<tr>
-<td><span class="term"><i><tt>val1</tt></i>:</span></td>
-<td>the first LocationSet</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>val2</tt></i>:</span></td>
-<td>the second LocationSet</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td>val1 once extended or NULL in case of error.</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
-<a name="xmlXPtrLocationSetRemove"></a>xmlXPtrLocationSetRemove ()</h3>
-<pre class="programlisting">void	xmlXPtrLocationSetRemove	(<a href="libxml2-xpointer.html#xmlLocationSetPtr">xmlLocationSetPtr</a> cur, <br>					 int val)<br>
-</pre>
-<p>Removes an entry from an existing LocationSet list.</p>
-<div class="variablelist"><table border="0">
-<col align="left">
-<tbody>
-<tr>
-<td><span class="term"><i><tt>cur</tt></i>:</span></td>
-<td>the initial range set</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>val</tt></i>:</span></td>
-<td>the index to remove</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
-<a name="xmlXPtrNewCollapsedRange"></a>xmlXPtrNewCollapsedRange ()</h3>
-<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPtrNewCollapsedRange	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> start)<br>
-</pre>
-<p>Create a new <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> of type range using a single nodes</p>
-<div class="variablelist"><table border="0">
-<col align="left">
-<tbody>
-<tr>
-<td><span class="term"><i><tt>start</tt></i>:</span></td>
-<td>the starting and ending node</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td>the newly created object.</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
 <a name="xmlXPtrNewContext"></a>xmlXPtrNewContext ()</h3>
 <pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a>	xmlXPtrNewContext	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>						 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> here, <br>						 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> origin)<br>
 </pre>
@@ -307,252 +83,6 @@
 </table></div>
 </div>
 <hr>
-<div class="refsect2" lang="en">
-<h3>
-<a name="xmlXPtrNewLocationSetNodeSet"></a>xmlXPtrNewLocationSetNodeSet ()</h3>
-<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPtrNewLocationSetNodeSet	(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> set)<br>
-</pre>
-<p>Create a new <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> of type LocationSet and initialize it with all the nodes from @set</p>
-<div class="variablelist"><table border="0">
-<col align="left">
-<tbody>
-<tr>
-<td><span class="term"><i><tt>set</tt></i>:</span></td>
-<td>a node set</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td>the newly created object.</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
-<a name="xmlXPtrNewLocationSetNodes"></a>xmlXPtrNewLocationSetNodes ()</h3>
-<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPtrNewLocationSetNodes	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> start, <br>							 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> end)<br>
-</pre>
-<p>Create a new <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> of type LocationSet and initialize it with the single range made of the two nodes @start and @end</p>
-<div class="variablelist"><table border="0">
-<col align="left">
-<tbody>
-<tr>
-<td><span class="term"><i><tt>start</tt></i>:</span></td>
-<td>the start NodePtr value</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>end</tt></i>:</span></td>
-<td>the end NodePtr value or NULL</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td>the newly created object.</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
-<a name="xmlXPtrNewRange"></a>xmlXPtrNewRange ()</h3>
-<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPtrNewRange	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> start, <br>					 int startindex, <br>					 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> end, <br>					 int endindex)<br>
-</pre>
-<p>Create a new <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> of type range</p>
-<div class="variablelist"><table border="0">
-<col align="left">
-<tbody>
-<tr>
-<td><span class="term"><i><tt>start</tt></i>:</span></td>
-<td>the starting node</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>startindex</tt></i>:</span></td>
-<td>the start index</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>end</tt></i>:</span></td>
-<td>the ending point</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>endindex</tt></i>:</span></td>
-<td>the ending index</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td>the newly created object.</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
-<a name="xmlXPtrNewRangeNodeObject"></a>xmlXPtrNewRangeNodeObject ()</h3>
-<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPtrNewRangeNodeObject	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> start, <br>							 <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> end)<br>
-</pre>
-<p>Create a new <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> of type range from a not to an object</p>
-<div class="variablelist"><table border="0">
-<col align="left">
-<tbody>
-<tr>
-<td><span class="term"><i><tt>start</tt></i>:</span></td>
-<td>the starting node</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>end</tt></i>:</span></td>
-<td>the ending object</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td>the newly created object.</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
-<a name="xmlXPtrNewRangeNodePoint"></a>xmlXPtrNewRangeNodePoint ()</h3>
-<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPtrNewRangeNodePoint	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> start, <br>							 <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> end)<br>
-</pre>
-<p>Create a new <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> of type range from a node to a point</p>
-<div class="variablelist"><table border="0">
-<col align="left">
-<tbody>
-<tr>
-<td><span class="term"><i><tt>start</tt></i>:</span></td>
-<td>the starting node</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>end</tt></i>:</span></td>
-<td>the ending point</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td>the newly created object.</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
-<a name="xmlXPtrNewRangeNodes"></a>xmlXPtrNewRangeNodes ()</h3>
-<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPtrNewRangeNodes	(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> start, <br>						 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> end)<br>
-</pre>
-<p>Create a new <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> of type range using 2 nodes</p>
-<div class="variablelist"><table border="0">
-<col align="left">
-<tbody>
-<tr>
-<td><span class="term"><i><tt>start</tt></i>:</span></td>
-<td>the starting node</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>end</tt></i>:</span></td>
-<td>the ending node</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td>the newly created object.</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
-<a name="xmlXPtrNewRangePointNode"></a>xmlXPtrNewRangePointNode ()</h3>
-<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPtrNewRangePointNode	(<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> start, <br>							 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> end)<br>
-</pre>
-<p>Create a new <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> of type range from a point to a node</p>
-<div class="variablelist"><table border="0">
-<col align="left">
-<tbody>
-<tr>
-<td><span class="term"><i><tt>start</tt></i>:</span></td>
-<td>the starting point</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>end</tt></i>:</span></td>
-<td>the ending node</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td>the newly created object.</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
-<a name="xmlXPtrNewRangePoints"></a>xmlXPtrNewRangePoints ()</h3>
-<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPtrNewRangePoints	(<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> start, <br>						 <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> end)<br>
-</pre>
-<p>Create a new <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> of type range using 2 Points</p>
-<div class="variablelist"><table border="0">
-<col align="left">
-<tbody>
-<tr>
-<td><span class="term"><i><tt>start</tt></i>:</span></td>
-<td>the starting point</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>end</tt></i>:</span></td>
-<td>the ending point</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td>the newly created object.</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
-<a name="xmlXPtrRangeToFunction"></a>xmlXPtrRangeToFunction ()</h3>
-<pre class="programlisting">void	xmlXPtrRangeToFunction		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>					 int nargs)<br>
-</pre>
-<p>Implement the range-to() XPointer function Obsolete. range-to is not a real function but a special type of location step which is handled in xpath.c.</p>
-<div class="variablelist"><table border="0">
-<col align="left">
-<tbody>
-<tr>
-<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
-<td>the XPointer Parser context</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>nargs</tt></i>:</span></td>
-<td>the number of args</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
-<div class="refsect2" lang="en">
-<h3>
-<a name="xmlXPtrWrapLocationSet"></a>xmlXPtrWrapLocationSet ()</h3>
-<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPtrWrapLocationSet	(<a href="libxml2-xpointer.html#xmlLocationSetPtr">xmlLocationSetPtr</a> val)<br>
-</pre>
-<p>Wrap the LocationSet @val in a new <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a></p>
-<div class="variablelist"><table border="0">
-<col align="left">
-<tbody>
-<tr>
-<td><span class="term"><i><tt>val</tt></i>:</span></td>
-<td>the LocationSet value</td>
-</tr>
-<tr>
-<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
-<td>the newly created object.</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<hr>
 </div>
 </div>
 </body>
diff --git a/doc/devhelp/libxml2.devhelp2 b/doc/devhelp/libxml2.devhelp2
index 4076f96..b28dfd2 100644
--- a/doc/devhelp/libxml2.devhelp2
+++ b/doc/devhelp/libxml2.devhelp2
@@ -4,7 +4,6 @@
     <sub name="API" link="general.html">
       <sub name="HTMLparser" link="libxml2-HTMLparser.html"/>
       <sub name="HTMLtree" link="libxml2-HTMLtree.html"/>
-      <sub name="SAX" link="libxml2-SAX.html"/>
       <sub name="SAX2" link="libxml2-SAX2.html"/>
       <sub name="c14n" link="libxml2-c14n.html"/>
       <sub name="catalog" link="libxml2-catalog.html"/>
@@ -16,7 +15,6 @@
       <sub name="globals" link="libxml2-globals.html"/>
       <sub name="hash" link="libxml2-hash.html"/>
       <sub name="list" link="libxml2-list.html"/>
-      <sub name="nanoftp" link="libxml2-nanoftp.html"/>
       <sub name="nanohttp" link="libxml2-nanohttp.html"/>
       <sub name="parser" link="libxml2-parser.html"/>
       <sub name="parserInternals" link="libxml2-parserInternals.html"/>
@@ -42,7 +40,6 @@
       <sub name="xmlschemas" link="libxml2-xmlschemas.html"/>
       <sub name="xmlschemastypes" link="libxml2-xmlschemastypes.html"/>
       <sub name="xmlstring" link="libxml2-xmlstring.html"/>
-      <sub name="xmlunicode" link="libxml2-xmlunicode.html"/>
       <sub name="xmlversion" link="libxml2-xmlversion.html"/>
       <sub name="xmlwriter" link="libxml2-xmlwriter.html"/>
       <sub name="xpath" link="libxml2-xpath.html"/>
@@ -52,7 +49,6 @@
   </chapters>
   <functions>
     <keyword type="macro" name="BAD_CAST" link="libxml2-xmlstring.html#BAD_CAST"/>
-    <keyword type="macro" name="BASE_BUFFER_SIZE" link="libxml2-tree.html#BASE_BUFFER_SIZE"/>
     <keyword type="macro" name="CAST_TO_BOOLEAN" link="libxml2-xpathInternals.html#CAST_TO_BOOLEAN"/>
     <keyword type="macro" name="CAST_TO_NUMBER" link="libxml2-xpathInternals.html#CAST_TO_NUMBER"/>
     <keyword type="macro" name="CAST_TO_STRING" link="libxml2-xpathInternals.html#CAST_TO_STRING"/>
@@ -66,8 +62,6 @@
     <keyword type="macro" name="HTML_PI_NODE" link="libxml2-HTMLtree.html#HTML_PI_NODE"/>
     <keyword type="macro" name="HTML_PRESERVE_NODE" link="libxml2-HTMLtree.html#HTML_PRESERVE_NODE"/>
     <keyword type="macro" name="HTML_TEXT_NODE" link="libxml2-HTMLtree.html#HTML_TEXT_NODE"/>
-    <keyword type="macro" name="INPUT_CHUNK" link="libxml2-parserInternals.html#INPUT_CHUNK"/>
-    <keyword type="macro" name="INVALID_SOCKET" link="libxml2-nanoftp.html#INVALID_SOCKET"/>
     <keyword type="macro" name="IS_ASCII_DIGIT" link="libxml2-parserInternals.html#IS_ASCII_DIGIT"/>
     <keyword type="macro" name="IS_ASCII_LETTER" link="libxml2-parserInternals.html#IS_ASCII_LETTER"/>
     <keyword type="macro" name="IS_BASECHAR" link="libxml2-parserInternals.html#IS_BASECHAR"/>
@@ -93,13 +87,11 @@
     <keyword type="macro" name="LIBXML_CATALOG_ENABLED" link="libxml2-xmlversion.html#LIBXML_CATALOG_ENABLED"/>
     <keyword type="macro" name="LIBXML_DEBUG_ENABLED" link="libxml2-xmlversion.html#LIBXML_DEBUG_ENABLED"/>
     <keyword type="macro" name="LIBXML_DOTTED_VERSION" link="libxml2-xmlversion.html#LIBXML_DOTTED_VERSION"/>
-    <keyword type="macro" name="LIBXML_FTP_ENABLED" link="libxml2-xmlversion.html#LIBXML_FTP_ENABLED"/>
     <keyword type="macro" name="LIBXML_HTML_ENABLED" link="libxml2-xmlversion.html#LIBXML_HTML_ENABLED"/>
     <keyword type="macro" name="LIBXML_HTTP_ENABLED" link="libxml2-xmlversion.html#LIBXML_HTTP_ENABLED"/>
     <keyword type="macro" name="LIBXML_ICONV_ENABLED" link="libxml2-xmlversion.html#LIBXML_ICONV_ENABLED"/>
     <keyword type="macro" name="LIBXML_ICU_ENABLED" link="libxml2-xmlversion.html#LIBXML_ICU_ENABLED"/>
     <keyword type="macro" name="LIBXML_ISO8859X_ENABLED" link="libxml2-xmlversion.html#LIBXML_ISO8859X_ENABLED"/>
-    <keyword type="macro" name="LIBXML_LEGACY_ENABLED" link="libxml2-xmlversion.html#LIBXML_LEGACY_ENABLED"/>
     <keyword type="macro" name="LIBXML_LZMA_ENABLED" link="libxml2-xmlversion.html#LIBXML_LZMA_ENABLED"/>
     <keyword type="macro" name="LIBXML_MODULES_ENABLED" link="libxml2-xmlversion.html#LIBXML_MODULES_ENABLED"/>
     <keyword type="macro" name="LIBXML_MODULE_EXTENSION" link="libxml2-xmlversion.html#LIBXML_MODULE_EXTENSION"/>
@@ -108,6 +100,7 @@
     <keyword type="macro" name="LIBXML_PUSH_ENABLED" link="libxml2-xmlversion.html#LIBXML_PUSH_ENABLED"/>
     <keyword type="macro" name="LIBXML_READER_ENABLED" link="libxml2-xmlversion.html#LIBXML_READER_ENABLED"/>
     <keyword type="macro" name="LIBXML_REGEXP_ENABLED" link="libxml2-xmlversion.html#LIBXML_REGEXP_ENABLED"/>
+    <keyword type="macro" name="LIBXML_RELAXNG_ENABLED" link="libxml2-xmlversion.html#LIBXML_RELAXNG_ENABLED"/>
     <keyword type="macro" name="LIBXML_SAX1_ENABLED" link="libxml2-xmlversion.html#LIBXML_SAX1_ENABLED"/>
     <keyword type="macro" name="LIBXML_SCHEMAS_ENABLED" link="libxml2-xmlversion.html#LIBXML_SCHEMAS_ENABLED"/>
     <keyword type="macro" name="LIBXML_SCHEMATRON_ENABLED" link="libxml2-xmlversion.html#LIBXML_SCHEMATRON_ENABLED"/>
@@ -115,7 +108,6 @@
     <keyword type="macro" name="LIBXML_THREAD_ALLOC_ENABLED" link="libxml2-xmlversion.html#LIBXML_THREAD_ALLOC_ENABLED"/>
     <keyword type="macro" name="LIBXML_THREAD_ENABLED" link="libxml2-xmlversion.html#LIBXML_THREAD_ENABLED"/>
     <keyword type="macro" name="LIBXML_TREE_ENABLED" link="libxml2-xmlversion.html#LIBXML_TREE_ENABLED"/>
-    <keyword type="macro" name="LIBXML_UNICODE_ENABLED" link="libxml2-xmlversion.html#LIBXML_UNICODE_ENABLED"/>
     <keyword type="macro" name="LIBXML_VALID_ENABLED" link="libxml2-xmlversion.html#LIBXML_VALID_ENABLED"/>
     <keyword type="macro" name="LIBXML_VERSION" link="libxml2-xmlversion.html#LIBXML_VERSION"/>
     <keyword type="macro" name="LIBXML_VERSION_EXTRA" link="libxml2-xmlversion.html#LIBXML_VERSION_EXTRA"/>
@@ -124,9 +116,9 @@
     <keyword type="macro" name="LIBXML_XINCLUDE_ENABLED" link="libxml2-xmlversion.html#LIBXML_XINCLUDE_ENABLED"/>
     <keyword type="macro" name="LIBXML_XPATH_ENABLED" link="libxml2-xmlversion.html#LIBXML_XPATH_ENABLED"/>
     <keyword type="macro" name="LIBXML_XPTR_ENABLED" link="libxml2-xmlversion.html#LIBXML_XPTR_ENABLED"/>
-    <keyword type="macro" name="LIBXML_XPTR_LOCS_ENABLED" link="libxml2-xmlversion.html#LIBXML_XPTR_LOCS_ENABLED"/>
     <keyword type="macro" name="LIBXML_ZLIB_ENABLED" link="libxml2-xmlversion.html#LIBXML_ZLIB_ENABLED"/>
-    <keyword type="macro" name="SOCKET" link="libxml2-nanoftp.html#SOCKET"/>
+    <keyword type="macro" name="UTF8ToHtml" link="libxml2-HTMLparser.html#UTF8ToHtml"/>
+    <keyword type="macro" name="UTF8Toisolat1" link="libxml2-encoding.html#UTF8Toisolat1"/>
     <keyword type="macro" name="XINCLUDE_FALLBACK" link="libxml2-xinclude.html#XINCLUDE_FALLBACK"/>
     <keyword type="macro" name="XINCLUDE_HREF" link="libxml2-xinclude.html#XINCLUDE_HREF"/>
     <keyword type="macro" name="XINCLUDE_NODE" link="libxml2-xinclude.html#XINCLUDE_NODE"/>
@@ -246,7 +238,15 @@
     <keyword type="macro" name="htmlDefaultSubelement" link="libxml2-HTMLparser.html#htmlDefaultSubelement"/>
     <keyword type="macro" name="htmlElementAllowedHereDesc" link="libxml2-HTMLparser.html#htmlElementAllowedHereDesc"/>
     <keyword type="macro" name="htmlRequiredAttrs" link="libxml2-HTMLparser.html#htmlRequiredAttrs"/>
+    <keyword type="macro" name="initGenericErrorDefaultFunc" link="libxml2-xmlerror.html#initGenericErrorDefaultFunc"/>
+    <keyword type="macro" name="inputPop" link="libxml2-parserInternals.html#inputPop"/>
+    <keyword type="macro" name="inputPush" link="libxml2-parserInternals.html#inputPush"/>
+    <keyword type="macro" name="isolat1ToUTF8" link="libxml2-encoding.html#isolat1ToUTF8"/>
+    <keyword type="macro" name="valuePop" link="libxml2-xpathInternals.html#valuePop"/>
+    <keyword type="macro" name="valuePush" link="libxml2-xpathInternals.html#valuePush"/>
+    <keyword type="macro" name="xmlBufferAllocScheme" link="libxml2-tree.html#xmlBufferAllocScheme"/>
     <keyword type="macro" name="xmlChildrenNode" link="libxml2-tree.html#xmlChildrenNode"/>
+    <keyword type="macro" name="xmlDefaultBufferSize" link="libxml2-tree.html#xmlDefaultBufferSize"/>
     <keyword type="macro" name="xmlIsBaseCharQ" link="libxml2-chvalid.html#xmlIsBaseCharQ"/>
     <keyword type="macro" name="xmlIsBaseChar_ch" link="libxml2-chvalid.html#xmlIsBaseChar_ch"/>
     <keyword type="macro" name="xmlIsBlankQ" link="libxml2-chvalid.html#xmlIsBlankQ"/>
@@ -261,6 +261,7 @@
     <keyword type="macro" name="xmlIsIdeographicQ" link="libxml2-chvalid.html#xmlIsIdeographicQ"/>
     <keyword type="macro" name="xmlIsPubidCharQ" link="libxml2-chvalid.html#xmlIsPubidCharQ"/>
     <keyword type="macro" name="xmlIsPubidChar_ch" link="libxml2-chvalid.html#xmlIsPubidChar_ch"/>
+    <keyword type="macro" name="xmlParserMaxDepth" link="libxml2-parserInternals.html#xmlParserMaxDepth"/>
     <keyword type="macro" name="xmlRootNode" link="libxml2-tree.html#xmlRootNode"/>
     <keyword type="macro" name="xmlTextWriterWriteDocType" link="libxml2-xmlwriter.html#xmlTextWriterWriteDocType"/>
     <keyword type="macro" name="xmlTextWriterWriteProcessingInstruction" link="libxml2-xmlwriter.html#xmlTextWriterWriteProcessingInstruction"/>
@@ -289,7 +290,10 @@
     <keyword type="enum" name="HTML_DEPRECATED" link="libxml2-HTMLparser.html#HTML_DEPRECATED"/>
     <keyword type="enum" name="HTML_INVALID" link="libxml2-HTMLparser.html#HTML_INVALID"/>
     <keyword type="enum" name="HTML_NA" link="libxml2-HTMLparser.html#HTML_NA"/>
+    <keyword type="enum" name="HTML_PARSE_BIG_LINES" link="libxml2-HTMLparser.html#HTML_PARSE_BIG_LINES"/>
     <keyword type="enum" name="HTML_PARSE_COMPACT" link="libxml2-HTMLparser.html#HTML_PARSE_COMPACT"/>
+    <keyword type="enum" name="HTML_PARSE_HTML5" link="libxml2-HTMLparser.html#HTML_PARSE_HTML5"/>
+    <keyword type="enum" name="HTML_PARSE_HUGE" link="libxml2-HTMLparser.html#HTML_PARSE_HUGE"/>
     <keyword type="enum" name="HTML_PARSE_IGNORE_ENC" link="libxml2-HTMLparser.html#HTML_PARSE_IGNORE_ENC"/>
     <keyword type="enum" name="HTML_PARSE_NOBLANKS" link="libxml2-HTMLparser.html#HTML_PARSE_NOBLANKS"/>
     <keyword type="enum" name="HTML_PARSE_NODEFDTD" link="libxml2-HTMLparser.html#HTML_PARSE_NODEFDTD"/>
@@ -359,6 +363,12 @@
     <keyword type="enum" name="XML_CDATA_SECTION_NODE" link="libxml2-tree.html#XML_CDATA_SECTION_NODE"/>
     <keyword type="enum" name="XML_CHAR_ENCODING_2022_JP" link="libxml2-encoding.html#XML_CHAR_ENCODING_2022_JP"/>
     <keyword type="enum" name="XML_CHAR_ENCODING_8859_1" link="libxml2-encoding.html#XML_CHAR_ENCODING_8859_1"/>
+    <keyword type="enum" name="XML_CHAR_ENCODING_8859_10" link="libxml2-encoding.html#XML_CHAR_ENCODING_8859_10"/>
+    <keyword type="enum" name="XML_CHAR_ENCODING_8859_11" link="libxml2-encoding.html#XML_CHAR_ENCODING_8859_11"/>
+    <keyword type="enum" name="XML_CHAR_ENCODING_8859_13" link="libxml2-encoding.html#XML_CHAR_ENCODING_8859_13"/>
+    <keyword type="enum" name="XML_CHAR_ENCODING_8859_14" link="libxml2-encoding.html#XML_CHAR_ENCODING_8859_14"/>
+    <keyword type="enum" name="XML_CHAR_ENCODING_8859_15" link="libxml2-encoding.html#XML_CHAR_ENCODING_8859_15"/>
+    <keyword type="enum" name="XML_CHAR_ENCODING_8859_16" link="libxml2-encoding.html#XML_CHAR_ENCODING_8859_16"/>
     <keyword type="enum" name="XML_CHAR_ENCODING_8859_2" link="libxml2-encoding.html#XML_CHAR_ENCODING_8859_2"/>
     <keyword type="enum" name="XML_CHAR_ENCODING_8859_3" link="libxml2-encoding.html#XML_CHAR_ENCODING_8859_3"/>
     <keyword type="enum" name="XML_CHAR_ENCODING_8859_4" link="libxml2-encoding.html#XML_CHAR_ENCODING_8859_4"/>
@@ -371,6 +381,7 @@
     <keyword type="enum" name="XML_CHAR_ENCODING_EBCDIC" link="libxml2-encoding.html#XML_CHAR_ENCODING_EBCDIC"/>
     <keyword type="enum" name="XML_CHAR_ENCODING_ERROR" link="libxml2-encoding.html#XML_CHAR_ENCODING_ERROR"/>
     <keyword type="enum" name="XML_CHAR_ENCODING_EUC_JP" link="libxml2-encoding.html#XML_CHAR_ENCODING_EUC_JP"/>
+    <keyword type="enum" name="XML_CHAR_ENCODING_HTML" link="libxml2-encoding.html#XML_CHAR_ENCODING_HTML"/>
     <keyword type="enum" name="XML_CHAR_ENCODING_NONE" link="libxml2-encoding.html#XML_CHAR_ENCODING_NONE"/>
     <keyword type="enum" name="XML_CHAR_ENCODING_SHIFT_JIS" link="libxml2-encoding.html#XML_CHAR_ENCODING_SHIFT_JIS"/>
     <keyword type="enum" name="XML_CHAR_ENCODING_UCS2" link="libxml2-encoding.html#XML_CHAR_ENCODING_UCS2"/>
@@ -378,6 +389,7 @@
     <keyword type="enum" name="XML_CHAR_ENCODING_UCS4LE" link="libxml2-encoding.html#XML_CHAR_ENCODING_UCS4LE"/>
     <keyword type="enum" name="XML_CHAR_ENCODING_UCS4_2143" link="libxml2-encoding.html#XML_CHAR_ENCODING_UCS4_2143"/>
     <keyword type="enum" name="XML_CHAR_ENCODING_UCS4_3412" link="libxml2-encoding.html#XML_CHAR_ENCODING_UCS4_3412"/>
+    <keyword type="enum" name="XML_CHAR_ENCODING_UTF16" link="libxml2-encoding.html#XML_CHAR_ENCODING_UTF16"/>
     <keyword type="enum" name="XML_CHAR_ENCODING_UTF16BE" link="libxml2-encoding.html#XML_CHAR_ENCODING_UTF16BE"/>
     <keyword type="enum" name="XML_CHAR_ENCODING_UTF16LE" link="libxml2-encoding.html#XML_CHAR_ENCODING_UTF16LE"/>
     <keyword type="enum" name="XML_CHAR_ENCODING_UTF8" link="libxml2-encoding.html#XML_CHAR_ENCODING_UTF8"/>
@@ -492,9 +504,10 @@
     <keyword type="enum" name="XML_ENC_ERR_INPUT" link="libxml2-encoding.html#XML_ENC_ERR_INPUT"/>
     <keyword type="enum" name="XML_ENC_ERR_INTERNAL" link="libxml2-encoding.html#XML_ENC_ERR_INTERNAL"/>
     <keyword type="enum" name="XML_ENC_ERR_MEMORY" link="libxml2-encoding.html#XML_ENC_ERR_MEMORY"/>
-    <keyword type="enum" name="XML_ENC_ERR_PARTIAL" link="libxml2-encoding.html#XML_ENC_ERR_PARTIAL"/>
     <keyword type="enum" name="XML_ENC_ERR_SPACE" link="libxml2-encoding.html#XML_ENC_ERR_SPACE"/>
     <keyword type="enum" name="XML_ENC_ERR_SUCCESS" link="libxml2-encoding.html#XML_ENC_ERR_SUCCESS"/>
+    <keyword type="enum" name="XML_ENC_INPUT" link="libxml2-encoding.html#XML_ENC_INPUT"/>
+    <keyword type="enum" name="XML_ENC_OUTPUT" link="libxml2-encoding.html#XML_ENC_OUTPUT"/>
     <keyword type="enum" name="XML_ENTITY_DECL" link="libxml2-tree.html#XML_ENTITY_DECL"/>
     <keyword type="enum" name="XML_ENTITY_NODE" link="libxml2-tree.html#XML_ENTITY_NODE"/>
     <keyword type="enum" name="XML_ENTITY_REF_NODE" link="libxml2-tree.html#XML_ENTITY_REF_NODE"/>
@@ -611,12 +624,6 @@
     <keyword type="enum" name="XML_ERR_WARNING" link="libxml2-xmlerror.html#XML_ERR_WARNING"/>
     <keyword type="enum" name="XML_ERR_XMLDECL_NOT_FINISHED" link="libxml2-xmlerror.html#XML_ERR_XMLDECL_NOT_FINISHED"/>
     <keyword type="enum" name="XML_ERR_XMLDECL_NOT_STARTED" link="libxml2-xmlerror.html#XML_ERR_XMLDECL_NOT_STARTED"/>
-    <keyword type="enum" name="XML_EXP_ATOM" link="libxml2-xmlregexp.html#XML_EXP_ATOM"/>
-    <keyword type="enum" name="XML_EXP_COUNT" link="libxml2-xmlregexp.html#XML_EXP_COUNT"/>
-    <keyword type="enum" name="XML_EXP_EMPTY" link="libxml2-xmlregexp.html#XML_EXP_EMPTY"/>
-    <keyword type="enum" name="XML_EXP_FORBID" link="libxml2-xmlregexp.html#XML_EXP_FORBID"/>
-    <keyword type="enum" name="XML_EXP_OR" link="libxml2-xmlregexp.html#XML_EXP_OR"/>
-    <keyword type="enum" name="XML_EXP_SEQ" link="libxml2-xmlregexp.html#XML_EXP_SEQ"/>
     <keyword type="enum" name="XML_EXTERNAL_GENERAL_PARSED_ENTITY" link="libxml2-entities.html#XML_EXTERNAL_GENERAL_PARSED_ENTITY"/>
     <keyword type="enum" name="XML_EXTERNAL_GENERAL_UNPARSED_ENTITY" link="libxml2-entities.html#XML_EXTERNAL_GENERAL_UNPARSED_ENTITY"/>
     <keyword type="enum" name="XML_EXTERNAL_PARAMETER_ENTITY" link="libxml2-entities.html#XML_EXTERNAL_PARAMETER_ENTITY"/>
@@ -667,6 +674,10 @@
     <keyword type="enum" name="XML_I18N_NO_HANDLER" link="libxml2-xmlerror.html#XML_I18N_NO_HANDLER"/>
     <keyword type="enum" name="XML_I18N_NO_NAME" link="libxml2-xmlerror.html#XML_I18N_NO_NAME"/>
     <keyword type="enum" name="XML_I18N_NO_OUTPUT" link="libxml2-xmlerror.html#XML_I18N_NO_OUTPUT"/>
+    <keyword type="enum" name="XML_INPUT_BUF_STATIC" link="libxml2-parser.html#XML_INPUT_BUF_STATIC"/>
+    <keyword type="enum" name="XML_INPUT_BUF_ZERO_TERMINATED" link="libxml2-parser.html#XML_INPUT_BUF_ZERO_TERMINATED"/>
+    <keyword type="enum" name="XML_INPUT_NETWORK" link="libxml2-parser.html#XML_INPUT_NETWORK"/>
+    <keyword type="enum" name="XML_INPUT_UNZIP" link="libxml2-parser.html#XML_INPUT_UNZIP"/>
     <keyword type="enum" name="XML_INTERNAL_GENERAL_ENTITY" link="libxml2-entities.html#XML_INTERNAL_GENERAL_ENTITY"/>
     <keyword type="enum" name="XML_INTERNAL_PARAMETER_ENTITY" link="libxml2-entities.html#XML_INTERNAL_PARAMETER_ENTITY"/>
     <keyword type="enum" name="XML_INTERNAL_PREDEFINED_ENTITY" link="libxml2-entities.html#XML_INTERNAL_PREDEFINED_ENTITY"/>
@@ -768,6 +779,7 @@
     <keyword type="enum" name="XML_PARSER_VALIDATE" link="libxml2-xmlreader.html#XML_PARSER_VALIDATE"/>
     <keyword type="enum" name="XML_PARSER_XML_DECL" link="libxml2-parser.html#XML_PARSER_XML_DECL"/>
     <keyword type="enum" name="XML_PARSE_BIG_LINES" link="libxml2-parser.html#XML_PARSE_BIG_LINES"/>
+    <keyword type="enum" name="XML_PARSE_CATALOG_PI" link="libxml2-parser.html#XML_PARSE_CATALOG_PI"/>
     <keyword type="enum" name="XML_PARSE_COMPACT" link="libxml2-parser.html#XML_PARSE_COMPACT"/>
     <keyword type="enum" name="XML_PARSE_DOM" link="libxml2-parser.html#XML_PARSE_DOM"/>
     <keyword type="enum" name="XML_PARSE_DTDATTR" link="libxml2-parser.html#XML_PARSE_DTDATTR"/>
@@ -784,6 +796,7 @@
     <keyword type="enum" name="XML_PARSE_NONET" link="libxml2-parser.html#XML_PARSE_NONET"/>
     <keyword type="enum" name="XML_PARSE_NOWARNING" link="libxml2-parser.html#XML_PARSE_NOWARNING"/>
     <keyword type="enum" name="XML_PARSE_NOXINCNODE" link="libxml2-parser.html#XML_PARSE_NOXINCNODE"/>
+    <keyword type="enum" name="XML_PARSE_NO_SYS_CATALOG" link="libxml2-parser.html#XML_PARSE_NO_SYS_CATALOG"/>
     <keyword type="enum" name="XML_PARSE_NO_XXE" link="libxml2-parser.html#XML_PARSE_NO_XXE"/>
     <keyword type="enum" name="XML_PARSE_NSCLEAN" link="libxml2-parser.html#XML_PARSE_NSCLEAN"/>
     <keyword type="enum" name="XML_PARSE_OLD10" link="libxml2-parser.html#XML_PARSE_OLD10"/>
@@ -796,6 +809,7 @@
     <keyword type="enum" name="XML_PARSE_SAX" link="libxml2-parser.html#XML_PARSE_SAX"/>
     <keyword type="enum" name="XML_PARSE_SAX1" link="libxml2-parser.html#XML_PARSE_SAX1"/>
     <keyword type="enum" name="XML_PARSE_UNKNOWN" link="libxml2-parser.html#XML_PARSE_UNKNOWN"/>
+    <keyword type="enum" name="XML_PARSE_UNZIP" link="libxml2-parser.html#XML_PARSE_UNZIP"/>
     <keyword type="enum" name="XML_PARSE_XINCLUDE" link="libxml2-parser.html#XML_PARSE_XINCLUDE"/>
     <keyword type="enum" name="XML_PATTERN_DEFAULT" link="libxml2-pattern.html#XML_PATTERN_DEFAULT"/>
     <keyword type="enum" name="XML_PATTERN_XPATH" link="libxml2-pattern.html#XML_PATTERN_XPATH"/>
@@ -864,6 +878,13 @@
     <keyword type="enum" name="XML_RELAXNG_ERR_VALELEM" link="libxml2-relaxng.html#XML_RELAXNG_ERR_VALELEM"/>
     <keyword type="enum" name="XML_RELAXNG_ERR_VALUE" link="libxml2-relaxng.html#XML_RELAXNG_ERR_VALUE"/>
     <keyword type="enum" name="XML_RELAXNG_OK" link="libxml2-relaxng.html#XML_RELAXNG_OK"/>
+    <keyword type="enum" name="XML_RESOURCE_DTD" link="libxml2-parser.html#XML_RESOURCE_DTD"/>
+    <keyword type="enum" name="XML_RESOURCE_GENERAL_ENTITY" link="libxml2-parser.html#XML_RESOURCE_GENERAL_ENTITY"/>
+    <keyword type="enum" name="XML_RESOURCE_MAIN_DOCUMENT" link="libxml2-parser.html#XML_RESOURCE_MAIN_DOCUMENT"/>
+    <keyword type="enum" name="XML_RESOURCE_PARAMETER_ENTITY" link="libxml2-parser.html#XML_RESOURCE_PARAMETER_ENTITY"/>
+    <keyword type="enum" name="XML_RESOURCE_UNKNOWN" link="libxml2-parser.html#XML_RESOURCE_UNKNOWN"/>
+    <keyword type="enum" name="XML_RESOURCE_XINCLUDE" link="libxml2-parser.html#XML_RESOURCE_XINCLUDE"/>
+    <keyword type="enum" name="XML_RESOURCE_XINCLUDE_TEXT" link="libxml2-parser.html#XML_RESOURCE_XINCLUDE_TEXT"/>
     <keyword type="enum" name="XML_RNGP_ANYNAME_ATTR_ANCESTOR" link="libxml2-xmlerror.html#XML_RNGP_ANYNAME_ATTR_ANCESTOR"/>
     <keyword type="enum" name="XML_RNGP_ATTRIBUTE_CHILDREN" link="libxml2-xmlerror.html#XML_RNGP_ATTRIBUTE_CHILDREN"/>
     <keyword type="enum" name="XML_RNGP_ATTRIBUTE_CONTENT" link="libxml2-xmlerror.html#XML_RNGP_ATTRIBUTE_CONTENT"/>
@@ -990,11 +1011,14 @@
     <keyword type="enum" name="XML_SAVE_AS_HTML" link="libxml2-xmlsave.html#XML_SAVE_AS_HTML"/>
     <keyword type="enum" name="XML_SAVE_AS_XML" link="libxml2-xmlsave.html#XML_SAVE_AS_XML"/>
     <keyword type="enum" name="XML_SAVE_CHAR_INVALID" link="libxml2-xmlerror.html#XML_SAVE_CHAR_INVALID"/>
+    <keyword type="enum" name="XML_SAVE_EMPTY" link="libxml2-xmlsave.html#XML_SAVE_EMPTY"/>
     <keyword type="enum" name="XML_SAVE_FORMAT" link="libxml2-xmlsave.html#XML_SAVE_FORMAT"/>
+    <keyword type="enum" name="XML_SAVE_INDENT" link="libxml2-xmlsave.html#XML_SAVE_INDENT"/>
     <keyword type="enum" name="XML_SAVE_NOT_UTF8" link="libxml2-xmlerror.html#XML_SAVE_NOT_UTF8"/>
     <keyword type="enum" name="XML_SAVE_NO_DECL" link="libxml2-xmlsave.html#XML_SAVE_NO_DECL"/>
     <keyword type="enum" name="XML_SAVE_NO_DOCTYPE" link="libxml2-xmlerror.html#XML_SAVE_NO_DOCTYPE"/>
     <keyword type="enum" name="XML_SAVE_NO_EMPTY" link="libxml2-xmlsave.html#XML_SAVE_NO_EMPTY"/>
+    <keyword type="enum" name="XML_SAVE_NO_INDENT" link="libxml2-xmlsave.html#XML_SAVE_NO_INDENT"/>
     <keyword type="enum" name="XML_SAVE_NO_XHTML" link="libxml2-xmlsave.html#XML_SAVE_NO_XHTML"/>
     <keyword type="enum" name="XML_SAVE_UNKNOWN_ENCODING" link="libxml2-xmlerror.html#XML_SAVE_UNKNOWN_ENCODING"/>
     <keyword type="enum" name="XML_SAVE_WSNONSIG" link="libxml2-xmlsave.html#XML_SAVE_WSNONSIG"/>
@@ -1406,6 +1430,10 @@
     <keyword type="enum" name="XML_SCHEMA_WHITESPACE_PRESERVE" link="libxml2-xmlschemastypes.html#XML_SCHEMA_WHITESPACE_PRESERVE"/>
     <keyword type="enum" name="XML_SCHEMA_WHITESPACE_REPLACE" link="libxml2-xmlschemastypes.html#XML_SCHEMA_WHITESPACE_REPLACE"/>
     <keyword type="enum" name="XML_SCHEMA_WHITESPACE_UNKNOWN" link="libxml2-xmlschemastypes.html#XML_SCHEMA_WHITESPACE_UNKNOWN"/>
+    <keyword type="enum" name="XML_STATUS_CATASTROPHIC_ERROR" link="libxml2-parser.html#XML_STATUS_CATASTROPHIC_ERROR"/>
+    <keyword type="enum" name="XML_STATUS_DTD_VALIDATION_FAILED" link="libxml2-parser.html#XML_STATUS_DTD_VALIDATION_FAILED"/>
+    <keyword type="enum" name="XML_STATUS_NOT_NS_WELL_FORMED" link="libxml2-parser.html#XML_STATUS_NOT_NS_WELL_FORMED"/>
+    <keyword type="enum" name="XML_STATUS_NOT_WELL_FORMED" link="libxml2-parser.html#XML_STATUS_NOT_WELL_FORMED"/>
     <keyword type="enum" name="XML_TEXTREADER_MODE_CLOSED" link="libxml2-xmlreader.html#XML_TEXTREADER_MODE_CLOSED"/>
     <keyword type="enum" name="XML_TEXTREADER_MODE_EOF" link="libxml2-xmlreader.html#XML_TEXTREADER_MODE_EOF"/>
     <keyword type="enum" name="XML_TEXTREADER_MODE_ERROR" link="libxml2-xmlreader.html#XML_TEXTREADER_MODE_ERROR"/>
@@ -1449,6 +1477,7 @@
     <keyword type="enum" name="XML_WITH_PUSH" link="libxml2-parser.html#XML_WITH_PUSH"/>
     <keyword type="enum" name="XML_WITH_READER" link="libxml2-parser.html#XML_WITH_READER"/>
     <keyword type="enum" name="XML_WITH_REGEXP" link="libxml2-parser.html#XML_WITH_REGEXP"/>
+    <keyword type="enum" name="XML_WITH_RELAXNG" link="libxml2-parser.html#XML_WITH_RELAXNG"/>
     <keyword type="enum" name="XML_WITH_SAX1" link="libxml2-parser.html#XML_WITH_SAX1"/>
     <keyword type="enum" name="XML_WITH_SCHEMAS" link="libxml2-parser.html#XML_WITH_SCHEMAS"/>
     <keyword type="enum" name="XML_WITH_SCHEMATRON" link="libxml2-parser.html#XML_WITH_SCHEMATRON"/>
@@ -1521,14 +1550,11 @@
     <keyword type="enum" name="XPATH_INVALID_OPERAND" link="libxml2-xpath.html#XPATH_INVALID_OPERAND"/>
     <keyword type="enum" name="XPATH_INVALID_PREDICATE_ERROR" link="libxml2-xpath.html#XPATH_INVALID_PREDICATE_ERROR"/>
     <keyword type="enum" name="XPATH_INVALID_TYPE" link="libxml2-xpath.html#XPATH_INVALID_TYPE"/>
-    <keyword type="enum" name="XPATH_LOCATIONSET" link="libxml2-xpath.html#XPATH_LOCATIONSET"/>
     <keyword type="enum" name="XPATH_MEMORY_ERROR" link="libxml2-xpath.html#XPATH_MEMORY_ERROR"/>
     <keyword type="enum" name="XPATH_NODESET" link="libxml2-xpath.html#XPATH_NODESET"/>
     <keyword type="enum" name="XPATH_NUMBER" link="libxml2-xpath.html#XPATH_NUMBER"/>
     <keyword type="enum" name="XPATH_NUMBER_ERROR" link="libxml2-xpath.html#XPATH_NUMBER_ERROR"/>
     <keyword type="enum" name="XPATH_OP_LIMIT_EXCEEDED" link="libxml2-xpath.html#XPATH_OP_LIMIT_EXCEEDED"/>
-    <keyword type="enum" name="XPATH_POINT" link="libxml2-xpath.html#XPATH_POINT"/>
-    <keyword type="enum" name="XPATH_RANGE" link="libxml2-xpath.html#XPATH_RANGE"/>
     <keyword type="enum" name="XPATH_RECURSION_LIMIT_EXCEEDED" link="libxml2-xpath.html#XPATH_RECURSION_LIMIT_EXCEEDED"/>
     <keyword type="enum" name="XPATH_STACK_ERROR" link="libxml2-xpath.html#XPATH_STACK_ERROR"/>
     <keyword type="enum" name="XPATH_START_LITERAL_ERROR" link="libxml2-xpath.html#XPATH_START_LITERAL_ERROR"/>
@@ -1584,6 +1610,7 @@
     <keyword type="typedef" name="xmlChSRangePtr" link="libxml2-chvalid.html#xmlChSRangePtr"/>
     <keyword type="typedef" name="xmlChar" link="libxml2-xmlstring.html#xmlChar"/>
     <keyword type="typedef" name="xmlCharEncError" link="libxml2-encoding.html#xmlCharEncError"/>
+    <keyword type="typedef" name="xmlCharEncFlags" link="libxml2-encoding.html#xmlCharEncFlags"/>
     <keyword type="typedef" name="xmlCharEncoding" link="libxml2-encoding.html#xmlCharEncoding"/>
     <keyword type="typedef" name="xmlCharEncodingHandlerPtr" link="libxml2-encoding.html#xmlCharEncodingHandlerPtr"/>
     <keyword type="typedef" name="xmlDOMWrapCtxtPtr" link="libxml2-tree.html#xmlDOMWrapCtxtPtr"/>
@@ -1605,17 +1632,12 @@
     <keyword type="typedef" name="xmlErrorDomain" link="libxml2-xmlerror.html#xmlErrorDomain"/>
     <keyword type="typedef" name="xmlErrorLevel" link="libxml2-xmlerror.html#xmlErrorLevel"/>
     <keyword type="typedef" name="xmlErrorPtr" link="libxml2-xmlerror.html#xmlErrorPtr"/>
-    <keyword type="typedef" name="xmlExpCtxtPtr" link="libxml2-xmlregexp.html#xmlExpCtxtPtr"/>
-    <keyword type="typedef" name="xmlExpNodePtr" link="libxml2-xmlregexp.html#xmlExpNodePtr"/>
-    <keyword type="typedef" name="xmlExpNodeType" link="libxml2-xmlregexp.html#xmlExpNodeType"/>
     <keyword type="typedef" name="xmlFeature" link="libxml2-parser.html#xmlFeature"/>
-    <keyword type="typedef" name="xmlGlobalStatePtr" link="libxml2-globals.html#xmlGlobalStatePtr"/>
     <keyword type="typedef" name="xmlHashTablePtr" link="libxml2-hash.html#xmlHashTablePtr"/>
     <keyword type="typedef" name="xmlIDPtr" link="libxml2-tree.html#xmlIDPtr"/>
     <keyword type="typedef" name="xmlIDTablePtr" link="libxml2-valid.html#xmlIDTablePtr"/>
     <keyword type="typedef" name="xmlLinkPtr" link="libxml2-list.html#xmlLinkPtr"/>
     <keyword type="typedef" name="xmlListPtr" link="libxml2-list.html#xmlListPtr"/>
-    <keyword type="typedef" name="xmlLocationSetPtr" link="libxml2-xpointer.html#xmlLocationSetPtr"/>
     <keyword type="typedef" name="xmlModuleOption" link="libxml2-xmlmodule.html#xmlModuleOption"/>
     <keyword type="typedef" name="xmlModulePtr" link="libxml2-xmlmodule.html#xmlModulePtr"/>
     <keyword type="typedef" name="xmlMutexPtr" link="libxml2-threads.html#xmlMutexPtr"/>
@@ -1629,6 +1651,7 @@
     <keyword type="typedef" name="xmlParserCtxtPtr" link="libxml2-tree.html#xmlParserCtxtPtr"/>
     <keyword type="typedef" name="xmlParserErrors" link="libxml2-xmlerror.html#xmlParserErrors"/>
     <keyword type="typedef" name="xmlParserInputBufferPtr" link="libxml2-tree.html#xmlParserInputBufferPtr"/>
+    <keyword type="typedef" name="xmlParserInputFlags" link="libxml2-parser.html#xmlParserInputFlags"/>
     <keyword type="typedef" name="xmlParserInputPtr" link="libxml2-tree.html#xmlParserInputPtr"/>
     <keyword type="typedef" name="xmlParserInputState" link="libxml2-parser.html#xmlParserInputState"/>
     <keyword type="typedef" name="xmlParserMode" link="libxml2-parser.html#xmlParserMode"/>
@@ -1637,6 +1660,7 @@
     <keyword type="typedef" name="xmlParserOption" link="libxml2-parser.html#xmlParserOption"/>
     <keyword type="typedef" name="xmlParserProperties" link="libxml2-xmlreader.html#xmlParserProperties"/>
     <keyword type="typedef" name="xmlParserSeverities" link="libxml2-xmlreader.html#xmlParserSeverities"/>
+    <keyword type="typedef" name="xmlParserStatus" link="libxml2-parser.html#xmlParserStatus"/>
     <keyword type="typedef" name="xmlPatternFlags" link="libxml2-pattern.html#xmlPatternFlags"/>
     <keyword type="typedef" name="xmlPatternPtr" link="libxml2-pattern.html#xmlPatternPtr"/>
     <keyword type="typedef" name="xmlRMutexPtr" link="libxml2-threads.html#xmlRMutexPtr"/>
@@ -1650,6 +1674,7 @@
     <keyword type="typedef" name="xmlRelaxNGPtr" link="libxml2-relaxng.html#xmlRelaxNGPtr"/>
     <keyword type="typedef" name="xmlRelaxNGValidCtxtPtr" link="libxml2-relaxng.html#xmlRelaxNGValidCtxtPtr"/>
     <keyword type="typedef" name="xmlRelaxNGValidErr" link="libxml2-relaxng.html#xmlRelaxNGValidErr"/>
+    <keyword type="typedef" name="xmlResourceType" link="libxml2-parser.html#xmlResourceType"/>
     <keyword type="typedef" name="xmlSAXHandlerPtr" link="libxml2-tree.html#xmlSAXHandlerPtr"/>
     <keyword type="typedef" name="xmlSAXHandlerV1Ptr" link="libxml2-parser.html#xmlSAXHandlerV1Ptr"/>
     <keyword type="typedef" name="xmlSAXLocatorPtr" link="libxml2-tree.html#xmlSAXLocatorPtr"/>
@@ -1682,7 +1707,6 @@
     <keyword type="typedef" name="xmlSchematronPtr" link="libxml2-schematron.html#xmlSchematronPtr"/>
     <keyword type="typedef" name="xmlSchematronValidCtxtPtr" link="libxml2-schematron.html#xmlSchematronValidCtxtPtr"/>
     <keyword type="typedef" name="xmlSchematronValidOptions" link="libxml2-schematron.html#xmlSchematronValidOptions"/>
-    <keyword type="typedef" name="xmlShellCtxtPtr" link="libxml2-debugXML.html#xmlShellCtxtPtr"/>
     <keyword type="typedef" name="xmlStreamCtxtPtr" link="libxml2-pattern.html#xmlStreamCtxtPtr"/>
     <keyword type="typedef" name="xmlTextReaderLocatorPtr" link="libxml2-xmlreader.html#xmlTextReaderLocatorPtr"/>
     <keyword type="typedef" name="xmlTextReaderMode" link="libxml2-xmlreader.html#xmlTextReaderMode"/>
@@ -1729,15 +1753,11 @@
     <keyword type="struct" name="xmlEntity" link="libxml2-tree.html#xmlEntity"/>
     <keyword type="struct" name="xmlEnumeration" link="libxml2-tree.html#xmlEnumeration"/>
     <keyword type="struct" name="xmlError" link="libxml2-xmlerror.html#xmlError"/>
-    <keyword type="struct" name="xmlExpCtxt" link="libxml2-xmlregexp.html#xmlExpCtxt"/>
-    <keyword type="struct" name="xmlExpNode" link="libxml2-xmlregexp.html#xmlExpNode"/>
-    <keyword type="struct" name="xmlGlobalState" link="libxml2-globals.html#xmlGlobalState"/>
     <keyword type="struct" name="xmlHashTable" link="libxml2-hash.html#xmlHashTable"/>
     <keyword type="struct" name="xmlID" link="libxml2-tree.html#xmlID"/>
     <keyword type="struct" name="xmlIDTable" link="libxml2-valid.html#xmlIDTable"/>
     <keyword type="struct" name="xmlLink" link="libxml2-list.html#xmlLink"/>
     <keyword type="struct" name="xmlList" link="libxml2-list.html#xmlList"/>
-    <keyword type="struct" name="xmlLocationSet" link="libxml2-xpointer.html#xmlLocationSet"/>
     <keyword type="struct" name="xmlModule" link="libxml2-xmlmodule.html#xmlModule"/>
     <keyword type="struct" name="xmlMutex" link="libxml2-threads.html#xmlMutex"/>
     <keyword type="struct" name="xmlNode" link="libxml2-tree.html#xmlNode"/>
@@ -1785,7 +1805,6 @@
     <keyword type="struct" name="xmlSchematron" link="libxml2-schematron.html#xmlSchematron"/>
     <keyword type="struct" name="xmlSchematronParserCtxt" link="libxml2-schematron.html#xmlSchematronParserCtxt"/>
     <keyword type="struct" name="xmlSchematronValidCtxt" link="libxml2-schematron.html#xmlSchematronValidCtxt"/>
-    <keyword type="struct" name="xmlShellCtxt" link="libxml2-debugXML.html#xmlShellCtxt"/>
     <keyword type="struct" name="xmlStartTag" link="libxml2-parser.html#xmlStartTag"/>
     <keyword type="struct" name="xmlStreamCtxt" link="libxml2-pattern.html#xmlStreamCtxt"/>
     <keyword type="struct" name="xmlTextReader" link="libxml2-xmlreader.html#xmlTextReader"/>
@@ -1815,8 +1834,6 @@
     <keyword type="function" name="errorSAXFunc" link="libxml2-parser.html#errorSAXFunc"/>
     <keyword type="function" name="externalSubsetSAXFunc" link="libxml2-parser.html#externalSubsetSAXFunc"/>
     <keyword type="function" name="fatalErrorSAXFunc" link="libxml2-parser.html#fatalErrorSAXFunc"/>
-    <keyword type="function" name="ftpDataCallback" link="libxml2-nanoftp.html#ftpDataCallback"/>
-    <keyword type="function" name="ftpListCallback" link="libxml2-nanoftp.html#ftpListCallback"/>
     <keyword type="function" name="getEntitySAXFunc" link="libxml2-parser.html#getEntitySAXFunc"/>
     <keyword type="function" name="getParameterEntitySAXFunc" link="libxml2-parser.html#getParameterEntitySAXFunc"/>
     <keyword type="function" name="hasExternalSubsetSAXFunc" link="libxml2-parser.html#hasExternalSubsetSAXFunc"/>
@@ -1839,11 +1856,13 @@
     <keyword type="function" name="xlinkNodeDetectFunc" link="libxml2-xlink.html#xlinkNodeDetectFunc"/>
     <keyword type="function" name="xlinkSimpleLinkFunk" link="libxml2-xlink.html#xlinkSimpleLinkFunk"/>
     <keyword type="function" name="xmlC14NIsVisibleCallback" link="libxml2-c14n.html#xmlC14NIsVisibleCallback"/>
+    <keyword type="function" name="xmlCharEncConvCtxtDtor" link="libxml2-encoding.html#xmlCharEncConvCtxtDtor"/>
+    <keyword type="function" name="xmlCharEncConvFunc" link="libxml2-encoding.html#xmlCharEncConvFunc"/>
+    <keyword type="function" name="xmlCharEncConvImpl" link="libxml2-encoding.html#xmlCharEncConvImpl"/>
     <keyword type="function" name="xmlCharEncodingInputFunc" link="libxml2-encoding.html#xmlCharEncodingInputFunc"/>
     <keyword type="function" name="xmlCharEncodingOutputFunc" link="libxml2-encoding.html#xmlCharEncodingOutputFunc"/>
     <keyword type="function" name="xmlDOMWrapAcquireNsFunction" link="libxml2-tree.html#xmlDOMWrapAcquireNsFunction"/>
     <keyword type="function" name="xmlDeregisterNodeFunc" link="libxml2-tree.html#xmlDeregisterNodeFunc"/>
-    <keyword type="function" name="xmlEntityReferenceFunc" link="libxml2-parserInternals.html#xmlEntityReferenceFunc"/>
     <keyword type="function" name="xmlExternalEntityLoader" link="libxml2-parser.html#xmlExternalEntityLoader"/>
     <keyword type="function" name="xmlFreeFunc" link="libxml2-xmlmemory.html#xmlFreeFunc"/>
     <keyword type="function" name="xmlGenericErrorFunc" link="libxml2-xmlerror.html#xmlGenericErrorFunc"/>
@@ -1871,13 +1890,12 @@
     <keyword type="function" name="xmlRegisterNodeFunc" link="libxml2-tree.html#xmlRegisterNodeFunc"/>
     <keyword type="function" name="xmlRelaxNGValidityErrorFunc" link="libxml2-relaxng.html#xmlRelaxNGValidityErrorFunc"/>
     <keyword type="function" name="xmlRelaxNGValidityWarningFunc" link="libxml2-relaxng.html#xmlRelaxNGValidityWarningFunc"/>
+    <keyword type="function" name="xmlResourceLoader" link="libxml2-parser.html#xmlResourceLoader"/>
     <keyword type="function" name="xmlSchemaValidityErrorFunc" link="libxml2-xmlschemas.html#xmlSchemaValidityErrorFunc"/>
     <keyword type="function" name="xmlSchemaValidityLocatorFunc" link="libxml2-xmlschemas.html#xmlSchemaValidityLocatorFunc"/>
     <keyword type="function" name="xmlSchemaValidityWarningFunc" link="libxml2-xmlschemas.html#xmlSchemaValidityWarningFunc"/>
     <keyword type="function" name="xmlSchematronValidityErrorFunc" link="libxml2-schematron.html#xmlSchematronValidityErrorFunc"/>
     <keyword type="function" name="xmlSchematronValidityWarningFunc" link="libxml2-schematron.html#xmlSchematronValidityWarningFunc"/>
-    <keyword type="function" name="xmlShellCmd" link="libxml2-debugXML.html#xmlShellCmd"/>
-    <keyword type="function" name="xmlShellReadlineFunc" link="libxml2-debugXML.html#xmlShellReadlineFunc"/>
     <keyword type="function" name="xmlStrdupFunc" link="libxml2-xmlmemory.html#xmlStrdupFunc"/>
     <keyword type="function" name="xmlStructuredErrorFunc" link="libxml2-xmlerror.html#xmlStructuredErrorFunc"/>
     <keyword type="function" name="xmlTextReaderErrorFunc" link="libxml2-xmlreader.html#xmlTextReaderErrorFunc"/>
@@ -1889,12 +1907,7 @@
     <keyword type="function" name="xmlXPathFuncLookupFunc" link="libxml2-xpath.html#xmlXPathFuncLookupFunc"/>
     <keyword type="function" name="xmlXPathFunction" link="libxml2-xpath.html#xmlXPathFunction"/>
     <keyword type="function" name="xmlXPathVariableLookupFunc" link="libxml2-xpath.html#xmlXPathVariableLookupFunc"/>
-    <keyword type="macro" name="emptyExp" link="libxml2-xmlregexp.html#emptyExp"/>
-    <keyword type="macro" name="forbiddenExp" link="libxml2-xmlregexp.html#forbiddenExp"/>
     <keyword type="macro" name="htmlDefaultSAXHandler" link="libxml2-HTMLparser.html#htmlDefaultSAXHandler"/>
-    <keyword type="macro" name="oldXMLWDcompatibility" link="libxml2-parser.html#oldXMLWDcompatibility"/>
-    <keyword type="macro" name="xmlDefaultSAXHandler" link="libxml2-parser.html#xmlDefaultSAXHandler"/>
-    <keyword type="macro" name="xmlDefaultSAXLocator" link="libxml2-parser.html#xmlDefaultSAXLocator"/>
     <keyword type="macro" name="xmlFree" link="libxml2-xmlmemory.html#xmlFree"/>
     <keyword type="macro" name="xmlIsBaseCharGroup" link="libxml2-chvalid.html#xmlIsBaseCharGroup"/>
     <keyword type="macro" name="xmlIsCharGroup" link="libxml2-chvalid.html#xmlIsCharGroup"/>
@@ -1906,8 +1919,6 @@
     <keyword type="macro" name="xmlMalloc" link="libxml2-xmlmemory.html#xmlMalloc"/>
     <keyword type="macro" name="xmlMallocAtomic" link="libxml2-xmlmemory.html#xmlMallocAtomic"/>
     <keyword type="macro" name="xmlMemStrdup" link="libxml2-xmlmemory.html#xmlMemStrdup"/>
-    <keyword type="macro" name="xmlParserDebugEntities" link="libxml2-parser.html#xmlParserDebugEntities"/>
-    <keyword type="macro" name="xmlParserMaxDepth" link="libxml2-parserInternals.html#xmlParserMaxDepth"/>
     <keyword type="macro" name="xmlParserVersion" link="libxml2-parser.html#xmlParserVersion"/>
     <keyword type="macro" name="xmlRealloc" link="libxml2-xmlmemory.html#xmlRealloc"/>
     <keyword type="macro" name="xmlStringComment" link="libxml2-parserInternals.html#xmlStringComment"/>
@@ -1916,29 +1927,6 @@
     <keyword type="macro" name="xmlXPathNAN" link="libxml2-xpath.html#xmlXPathNAN"/>
     <keyword type="macro" name="xmlXPathNINF" link="libxml2-xpath.html#xmlXPathNINF"/>
     <keyword type="macro" name="xmlXPathPINF" link="libxml2-xpath.html#xmlXPathPINF"/>
-    <keyword type="function" name="UTF8ToHtml ()" link="libxml2-HTMLparser.html#UTF8ToHtml"/>
-    <keyword type="function" name="UTF8Toisolat1 ()" link="libxml2-encoding.html#UTF8Toisolat1"/>
-    <keyword type="function" name="attribute ()" link="libxml2-SAX.html#attribute"/>
-    <keyword type="function" name="attributeDecl ()" link="libxml2-SAX.html#attributeDecl"/>
-    <keyword type="function" name="cdataBlock ()" link="libxml2-SAX.html#cdataBlock"/>
-    <keyword type="function" name="characters ()" link="libxml2-SAX.html#characters"/>
-    <keyword type="function" name="checkNamespace ()" link="libxml2-SAX.html#checkNamespace"/>
-    <keyword type="function" name="comment ()" link="libxml2-SAX.html#comment"/>
-    <keyword type="function" name="elementDecl ()" link="libxml2-SAX.html#elementDecl"/>
-    <keyword type="function" name="endDocument ()" link="libxml2-SAX.html#endDocument"/>
-    <keyword type="function" name="endElement ()" link="libxml2-SAX.html#endElement"/>
-    <keyword type="function" name="entityDecl ()" link="libxml2-SAX.html#entityDecl"/>
-    <keyword type="function" name="externalSubset ()" link="libxml2-SAX.html#externalSubset"/>
-    <keyword type="function" name="getColumnNumber ()" link="libxml2-SAX.html#getColumnNumber"/>
-    <keyword type="function" name="getEntity ()" link="libxml2-SAX.html#getEntity"/>
-    <keyword type="function" name="getLineNumber ()" link="libxml2-SAX.html#getLineNumber"/>
-    <keyword type="function" name="getNamespace ()" link="libxml2-SAX.html#getNamespace"/>
-    <keyword type="function" name="getParameterEntity ()" link="libxml2-SAX.html#getParameterEntity"/>
-    <keyword type="function" name="getPublicId ()" link="libxml2-SAX.html#getPublicId"/>
-    <keyword type="function" name="getSystemId ()" link="libxml2-SAX.html#getSystemId"/>
-    <keyword type="function" name="globalNamespace ()" link="libxml2-SAX.html#globalNamespace"/>
-    <keyword type="function" name="hasExternalSubset ()" link="libxml2-SAX.html#hasExternalSubset"/>
-    <keyword type="function" name="hasInternalSubset ()" link="libxml2-SAX.html#hasInternalSubset"/>
     <keyword type="function" name="htmlAttrAllowed ()" link="libxml2-HTMLparser.html#htmlAttrAllowed"/>
     <keyword type="function" name="htmlAutoCloseTag ()" link="libxml2-HTMLparser.html#htmlAutoCloseTag"/>
     <keyword type="function" name="htmlCreateFileParserCtxt ()" link="libxml2-HTMLparser.html#htmlCreateFileParserCtxt"/>
@@ -1951,6 +1939,7 @@
     <keyword type="function" name="htmlCtxtReadIO ()" link="libxml2-HTMLparser.html#htmlCtxtReadIO"/>
     <keyword type="function" name="htmlCtxtReadMemory ()" link="libxml2-HTMLparser.html#htmlCtxtReadMemory"/>
     <keyword type="function" name="htmlCtxtReset ()" link="libxml2-HTMLparser.html#htmlCtxtReset"/>
+    <keyword type="function" name="htmlCtxtSetOptions ()" link="libxml2-HTMLparser.html#htmlCtxtSetOptions"/>
     <keyword type="function" name="htmlCtxtUseOptions ()" link="libxml2-HTMLparser.html#htmlCtxtUseOptions"/>
     <keyword type="function" name="htmlDefaultSAXHandlerInit ()" link="libxml2-SAX2.html#htmlDefaultSAXHandlerInit"/>
     <keyword type="function" name="htmlDocContentDumpFormatOutput ()" link="libxml2-HTMLtree.html#htmlDocContentDumpFormatOutput"/>
@@ -1999,31 +1988,7 @@
     <keyword type="function" name="htmlSaveFileFormat ()" link="libxml2-HTMLtree.html#htmlSaveFileFormat"/>
     <keyword type="function" name="htmlSetMetaEncoding ()" link="libxml2-HTMLtree.html#htmlSetMetaEncoding"/>
     <keyword type="function" name="htmlTagLookup ()" link="libxml2-HTMLparser.html#htmlTagLookup"/>
-    <keyword type="function" name="ignorableWhitespace ()" link="libxml2-SAX.html#ignorableWhitespace"/>
-    <keyword type="function" name="initGenericErrorDefaultFunc ()" link="libxml2-xmlerror.html#initGenericErrorDefaultFunc"/>
-    <keyword type="function" name="inithtmlDefaultSAXHandler ()" link="libxml2-SAX.html#inithtmlDefaultSAXHandler"/>
-    <keyword type="function" name="initxmlDefaultSAXHandler ()" link="libxml2-SAX.html#initxmlDefaultSAXHandler"/>
-    <keyword type="function" name="inputPop ()" link="libxml2-parserInternals.html#inputPop"/>
-    <keyword type="function" name="inputPush ()" link="libxml2-parserInternals.html#inputPush"/>
-    <keyword type="function" name="internalSubset ()" link="libxml2-SAX.html#internalSubset"/>
-    <keyword type="function" name="isStandalone ()" link="libxml2-SAX.html#isStandalone"/>
-    <keyword type="function" name="isolat1ToUTF8 ()" link="libxml2-encoding.html#isolat1ToUTF8"/>
-    <keyword type="function" name="namePop ()" link="libxml2-parserInternals.html#namePop"/>
-    <keyword type="function" name="namePush ()" link="libxml2-parserInternals.html#namePush"/>
-    <keyword type="function" name="namespaceDecl ()" link="libxml2-SAX.html#namespaceDecl"/>
-    <keyword type="function" name="nodePop ()" link="libxml2-parserInternals.html#nodePop"/>
-    <keyword type="function" name="nodePush ()" link="libxml2-parserInternals.html#nodePush"/>
-    <keyword type="function" name="notationDecl ()" link="libxml2-SAX.html#notationDecl"/>
-    <keyword type="function" name="processingInstruction ()" link="libxml2-SAX.html#processingInstruction"/>
-    <keyword type="function" name="reference ()" link="libxml2-SAX.html#reference"/>
-    <keyword type="function" name="resolveEntity ()" link="libxml2-SAX.html#resolveEntity"/>
-    <keyword type="function" name="setDocumentLocator ()" link="libxml2-SAX.html#setDocumentLocator"/>
-    <keyword type="function" name="setNamespace ()" link="libxml2-SAX.html#setNamespace"/>
-    <keyword type="function" name="startDocument ()" link="libxml2-SAX.html#startDocument"/>
-    <keyword type="function" name="startElement ()" link="libxml2-SAX.html#startElement"/>
-    <keyword type="function" name="unparsedEntityDecl ()" link="libxml2-SAX.html#unparsedEntityDecl"/>
-    <keyword type="function" name="valuePop ()" link="libxml2-xpathInternals.html#valuePop"/>
-    <keyword type="function" name="valuePush ()" link="libxml2-xpathInternals.html#valuePush"/>
+    <keyword type="function" name="htmlUTF8ToHtml ()" link="libxml2-HTMLparser.html#htmlUTF8ToHtml"/>
     <keyword type="function" name="xlinkGetDefaultDetect ()" link="libxml2-xlink.html#xlinkGetDefaultDetect"/>
     <keyword type="function" name="xlinkGetDefaultHandler ()" link="libxml2-xlink.html#xlinkGetDefaultHandler"/>
     <keyword type="function" name="xlinkIsLink ()" link="libxml2-xlink.html#xlinkIsLink"/>
@@ -2071,7 +2036,6 @@
     <keyword type="function" name="xmlAutomataNewTransition ()" link="libxml2-xmlautomata.html#xmlAutomataNewTransition"/>
     <keyword type="function" name="xmlAutomataNewTransition2 ()" link="libxml2-xmlautomata.html#xmlAutomataNewTransition2"/>
     <keyword type="function" name="xmlAutomataSetFinalState ()" link="libxml2-xmlautomata.html#xmlAutomataSetFinalState"/>
-    <keyword type="function" name="xmlBoolToText ()" link="libxml2-debugXML.html#xmlBoolToText"/>
     <keyword type="function" name="xmlBufContent ()" link="libxml2-tree.html#xmlBufContent"/>
     <keyword type="function" name="xmlBufEnd ()" link="libxml2-tree.html#xmlBufEnd"/>
     <keyword type="function" name="xmlBufGetNodeContent ()" link="libxml2-tree.html#xmlBufGetNodeContent"/>
@@ -2132,6 +2096,7 @@
     <keyword type="function" name="xmlCharEncCloseFunc ()" link="libxml2-encoding.html#xmlCharEncCloseFunc"/>
     <keyword type="function" name="xmlCharEncFirstLine ()" link="libxml2-encoding.html#xmlCharEncFirstLine"/>
     <keyword type="function" name="xmlCharEncInFunc ()" link="libxml2-encoding.html#xmlCharEncInFunc"/>
+    <keyword type="function" name="xmlCharEncNewCustomHandler ()" link="libxml2-encoding.html#xmlCharEncNewCustomHandler"/>
     <keyword type="function" name="xmlCharEncOutFunc ()" link="libxml2-encoding.html#xmlCharEncOutFunc"/>
     <keyword type="function" name="xmlCharInRange ()" link="libxml2-chvalid.html#xmlCharInRange"/>
     <keyword type="function" name="xmlCharStrdup ()" link="libxml2-xmlstring.html#xmlCharStrdup"/>
@@ -2149,7 +2114,6 @@
     <keyword type="function" name="xmlCleanupMemory ()" link="libxml2-xmlmemory.html#xmlCleanupMemory"/>
     <keyword type="function" name="xmlCleanupOutputCallbacks ()" link="libxml2-xmlIO.html#xmlCleanupOutputCallbacks"/>
     <keyword type="function" name="xmlCleanupParser ()" link="libxml2-parser.html#xmlCleanupParser"/>
-    <keyword type="function" name="xmlCleanupPredefinedEntities ()" link="libxml2-entities.html#xmlCleanupPredefinedEntities"/>
     <keyword type="function" name="xmlCleanupThreads ()" link="libxml2-threads.html#xmlCleanupThreads"/>
     <keyword type="function" name="xmlClearNodeInfoSeq ()" link="libxml2-parser.html#xmlClearNodeInfoSeq"/>
     <keyword type="function" name="xmlClearParserCtxt ()" link="libxml2-parser.html#xmlClearParserCtxt"/>
@@ -2172,6 +2136,7 @@
     <keyword type="function" name="xmlCopyNotationTable ()" link="libxml2-valid.html#xmlCopyNotationTable"/>
     <keyword type="function" name="xmlCopyProp ()" link="libxml2-tree.html#xmlCopyProp"/>
     <keyword type="function" name="xmlCopyPropList ()" link="libxml2-tree.html#xmlCopyPropList"/>
+    <keyword type="function" name="xmlCreateCharEncodingHandler ()" link="libxml2-encoding.html#xmlCreateCharEncodingHandler"/>
     <keyword type="function" name="xmlCreateDocParserCtxt ()" link="libxml2-parser.html#xmlCreateDocParserCtxt"/>
     <keyword type="function" name="xmlCreateEntitiesTable ()" link="libxml2-entities.html#xmlCreateEntitiesTable"/>
     <keyword type="function" name="xmlCreateEntityParserCtxt ()" link="libxml2-parserInternals.html#xmlCreateEntityParserCtxt"/>
@@ -2184,8 +2149,25 @@
     <keyword type="function" name="xmlCreateURI ()" link="libxml2-uri.html#xmlCreateURI"/>
     <keyword type="function" name="xmlCreateURLParserCtxt ()" link="libxml2-parserInternals.html#xmlCreateURLParserCtxt"/>
     <keyword type="function" name="xmlCtxtErrMemory ()" link="libxml2-parserInternals.html#xmlCtxtErrMemory"/>
+    <keyword type="function" name="xmlCtxtGetCatalogs ()" link="libxml2-parser.html#xmlCtxtGetCatalogs"/>
+    <keyword type="function" name="xmlCtxtGetDeclaredEncoding ()" link="libxml2-parser.html#xmlCtxtGetDeclaredEncoding"/>
+    <keyword type="function" name="xmlCtxtGetDict ()" link="libxml2-parser.html#xmlCtxtGetDict"/>
+    <keyword type="function" name="xmlCtxtGetDocument ()" link="libxml2-parser.html#xmlCtxtGetDocument"/>
     <keyword type="function" name="xmlCtxtGetLastError ()" link="libxml2-xmlerror.html#xmlCtxtGetLastError"/>
+    <keyword type="function" name="xmlCtxtGetOptions ()" link="libxml2-parser.html#xmlCtxtGetOptions"/>
+    <keyword type="function" name="xmlCtxtGetPrivate ()" link="libxml2-parser.html#xmlCtxtGetPrivate"/>
+    <keyword type="function" name="xmlCtxtGetSaxHandler ()" link="libxml2-parser.html#xmlCtxtGetSaxHandler"/>
+    <keyword type="function" name="xmlCtxtGetStandalone ()" link="libxml2-parser.html#xmlCtxtGetStandalone"/>
+    <keyword type="function" name="xmlCtxtGetStatus ()" link="libxml2-parser.html#xmlCtxtGetStatus"/>
+    <keyword type="function" name="xmlCtxtGetValidCtxt ()" link="libxml2-parser.html#xmlCtxtGetValidCtxt"/>
+    <keyword type="function" name="xmlCtxtGetVersion ()" link="libxml2-parser.html#xmlCtxtGetVersion"/>
+    <keyword type="function" name="xmlCtxtIsHtml ()" link="libxml2-parser.html#xmlCtxtIsHtml"/>
+    <keyword type="function" name="xmlCtxtIsStopped ()" link="libxml2-parser.html#xmlCtxtIsStopped"/>
+    <keyword type="function" name="xmlCtxtParseContent ()" link="libxml2-parser.html#xmlCtxtParseContent"/>
     <keyword type="function" name="xmlCtxtParseDocument ()" link="libxml2-parser.html#xmlCtxtParseDocument"/>
+    <keyword type="function" name="xmlCtxtParseDtd ()" link="libxml2-parser.html#xmlCtxtParseDtd"/>
+    <keyword type="function" name="xmlCtxtPopInput ()" link="libxml2-parserInternals.html#xmlCtxtPopInput"/>
+    <keyword type="function" name="xmlCtxtPushInput ()" link="libxml2-parserInternals.html#xmlCtxtPushInput"/>
     <keyword type="function" name="xmlCtxtReadDoc ()" link="libxml2-parser.html#xmlCtxtReadDoc"/>
     <keyword type="function" name="xmlCtxtReadFd ()" link="libxml2-parser.html#xmlCtxtReadFd"/>
     <keyword type="function" name="xmlCtxtReadFile ()" link="libxml2-parser.html#xmlCtxtReadFile"/>
@@ -2194,10 +2176,18 @@
     <keyword type="function" name="xmlCtxtReset ()" link="libxml2-parser.html#xmlCtxtReset"/>
     <keyword type="function" name="xmlCtxtResetLastError ()" link="libxml2-xmlerror.html#xmlCtxtResetLastError"/>
     <keyword type="function" name="xmlCtxtResetPush ()" link="libxml2-parser.html#xmlCtxtResetPush"/>
+    <keyword type="function" name="xmlCtxtSetCatalogs ()" link="libxml2-parser.html#xmlCtxtSetCatalogs"/>
+    <keyword type="function" name="xmlCtxtSetCharEncConvImpl ()" link="libxml2-parser.html#xmlCtxtSetCharEncConvImpl"/>
+    <keyword type="function" name="xmlCtxtSetDict ()" link="libxml2-parser.html#xmlCtxtSetDict"/>
     <keyword type="function" name="xmlCtxtSetErrorHandler ()" link="libxml2-parser.html#xmlCtxtSetErrorHandler"/>
     <keyword type="function" name="xmlCtxtSetMaxAmplification ()" link="libxml2-parser.html#xmlCtxtSetMaxAmplification"/>
     <keyword type="function" name="xmlCtxtSetOptions ()" link="libxml2-parser.html#xmlCtxtSetOptions"/>
+    <keyword type="function" name="xmlCtxtSetPrivate ()" link="libxml2-parser.html#xmlCtxtSetPrivate"/>
+    <keyword type="function" name="xmlCtxtSetResourceLoader ()" link="libxml2-parser.html#xmlCtxtSetResourceLoader"/>
+    <keyword type="function" name="xmlCtxtSetSaxHandler ()" link="libxml2-parser.html#xmlCtxtSetSaxHandler"/>
     <keyword type="function" name="xmlCtxtUseOptions ()" link="libxml2-parser.html#xmlCtxtUseOptions"/>
+    <keyword type="function" name="xmlCtxtValidateDocument ()" link="libxml2-parser.html#xmlCtxtValidateDocument"/>
+    <keyword type="function" name="xmlCtxtValidateDtd ()" link="libxml2-parser.html#xmlCtxtValidateDtd"/>
     <keyword type="function" name="xmlCurrentChar ()" link="libxml2-parserInternals.html#xmlCurrentChar"/>
     <keyword type="function" name="xmlDOMWrapAdoptNode ()" link="libxml2-tree.html#xmlDOMWrapAdoptNode"/>
     <keyword type="function" name="xmlDOMWrapCloneNode ()" link="libxml2-tree.html#xmlDOMWrapCloneNode"/>
@@ -2216,7 +2206,6 @@
     <keyword type="function" name="xmlDebugDumpNodeList ()" link="libxml2-debugXML.html#xmlDebugDumpNodeList"/>
     <keyword type="function" name="xmlDebugDumpOneNode ()" link="libxml2-debugXML.html#xmlDebugDumpOneNode"/>
     <keyword type="function" name="xmlDebugDumpString ()" link="libxml2-debugXML.html#xmlDebugDumpString"/>
-    <keyword type="function" name="xmlDecodeEntities ()" link="libxml2-parserInternals.html#xmlDecodeEntities"/>
     <keyword type="function" name="xmlDefaultSAXHandlerInit ()" link="libxml2-SAX2.html#xmlDefaultSAXHandlerInit"/>
     <keyword type="function" name="xmlDelEncodingAlias ()" link="libxml2-encoding.html#xmlDelEncodingAlias"/>
     <keyword type="function" name="xmlDeregisterNodeDefault ()" link="libxml2-tree.html#xmlDeregisterNodeDefault"/>
@@ -2252,28 +2241,8 @@
     <keyword type="function" name="xmlDumpNotationDecl ()" link="libxml2-valid.html#xmlDumpNotationDecl"/>
     <keyword type="function" name="xmlDumpNotationTable ()" link="libxml2-valid.html#xmlDumpNotationTable"/>
     <keyword type="function" name="xmlElemDump ()" link="libxml2-tree.html#xmlElemDump"/>
-    <keyword type="function" name="xmlEncodeEntities ()" link="libxml2-entities.html#xmlEncodeEntities"/>
     <keyword type="function" name="xmlEncodeEntitiesReentrant ()" link="libxml2-entities.html#xmlEncodeEntitiesReentrant"/>
     <keyword type="function" name="xmlEncodeSpecialChars ()" link="libxml2-entities.html#xmlEncodeSpecialChars"/>
-    <keyword type="function" name="xmlExpCtxtNbCons ()" link="libxml2-xmlregexp.html#xmlExpCtxtNbCons"/>
-    <keyword type="function" name="xmlExpCtxtNbNodes ()" link="libxml2-xmlregexp.html#xmlExpCtxtNbNodes"/>
-    <keyword type="function" name="xmlExpDump ()" link="libxml2-xmlregexp.html#xmlExpDump"/>
-    <keyword type="function" name="xmlExpExpDerive ()" link="libxml2-xmlregexp.html#xmlExpExpDerive"/>
-    <keyword type="function" name="xmlExpFree ()" link="libxml2-xmlregexp.html#xmlExpFree"/>
-    <keyword type="function" name="xmlExpFreeCtxt ()" link="libxml2-xmlregexp.html#xmlExpFreeCtxt"/>
-    <keyword type="function" name="xmlExpGetLanguage ()" link="libxml2-xmlregexp.html#xmlExpGetLanguage"/>
-    <keyword type="function" name="xmlExpGetStart ()" link="libxml2-xmlregexp.html#xmlExpGetStart"/>
-    <keyword type="function" name="xmlExpIsNillable ()" link="libxml2-xmlregexp.html#xmlExpIsNillable"/>
-    <keyword type="function" name="xmlExpMaxToken ()" link="libxml2-xmlregexp.html#xmlExpMaxToken"/>
-    <keyword type="function" name="xmlExpNewAtom ()" link="libxml2-xmlregexp.html#xmlExpNewAtom"/>
-    <keyword type="function" name="xmlExpNewCtxt ()" link="libxml2-xmlregexp.html#xmlExpNewCtxt"/>
-    <keyword type="function" name="xmlExpNewOr ()" link="libxml2-xmlregexp.html#xmlExpNewOr"/>
-    <keyword type="function" name="xmlExpNewRange ()" link="libxml2-xmlregexp.html#xmlExpNewRange"/>
-    <keyword type="function" name="xmlExpNewSeq ()" link="libxml2-xmlregexp.html#xmlExpNewSeq"/>
-    <keyword type="function" name="xmlExpParse ()" link="libxml2-xmlregexp.html#xmlExpParse"/>
-    <keyword type="function" name="xmlExpRef ()" link="libxml2-xmlregexp.html#xmlExpRef"/>
-    <keyword type="function" name="xmlExpStringDerive ()" link="libxml2-xmlregexp.html#xmlExpStringDerive"/>
-    <keyword type="function" name="xmlExpSubsume ()" link="libxml2-xmlregexp.html#xmlExpSubsume"/>
     <keyword type="function" name="xmlFileClose ()" link="libxml2-xmlIO.html#xmlFileClose"/>
     <keyword type="function" name="xmlFileMatch ()" link="libxml2-xmlIO.html#xmlFileMatch"/>
     <keyword type="function" name="xmlFileOpen ()" link="libxml2-xmlIO.html#xmlFileOpen"/>
@@ -2329,9 +2298,6 @@
     <keyword type="function" name="xmlGetDtdQElementDesc ()" link="libxml2-valid.html#xmlGetDtdQElementDesc"/>
     <keyword type="function" name="xmlGetEncodingAlias ()" link="libxml2-encoding.html#xmlGetEncodingAlias"/>
     <keyword type="function" name="xmlGetExternalEntityLoader ()" link="libxml2-parser.html#xmlGetExternalEntityLoader"/>
-    <keyword type="function" name="xmlGetFeature ()" link="libxml2-parser.html#xmlGetFeature"/>
-    <keyword type="function" name="xmlGetFeaturesList ()" link="libxml2-parser.html#xmlGetFeaturesList"/>
-    <keyword type="function" name="xmlGetGlobalState ()" link="libxml2-globals.html#xmlGetGlobalState"/>
     <keyword type="function" name="xmlGetID ()" link="libxml2-valid.html#xmlGetID"/>
     <keyword type="function" name="xmlGetIntSubset ()" link="libxml2-tree.html#xmlGetIntSubset"/>
     <keyword type="function" name="xmlGetLastChild ()" link="libxml2-tree.html#xmlGetLastChild"/>
@@ -2346,9 +2312,7 @@
     <keyword type="function" name="xmlGetPredefinedEntity ()" link="libxml2-entities.html#xmlGetPredefinedEntity"/>
     <keyword type="function" name="xmlGetProp ()" link="libxml2-tree.html#xmlGetProp"/>
     <keyword type="function" name="xmlGetRefs ()" link="libxml2-valid.html#xmlGetRefs"/>
-    <keyword type="function" name="xmlGetThreadId ()" link="libxml2-threads.html#xmlGetThreadId"/>
     <keyword type="function" name="xmlGetUTF8Char ()" link="libxml2-xmlstring.html#xmlGetUTF8Char"/>
-    <keyword type="function" name="xmlHandleEntity ()" link="libxml2-parserInternals.html#xmlHandleEntity"/>
     <keyword type="function" name="xmlHasFeature ()" link="libxml2-parser.html#xmlHasFeature"/>
     <keyword type="function" name="xmlHasNsProp ()" link="libxml2-tree.html#xmlHasNsProp"/>
     <keyword type="function" name="xmlHasProp ()" link="libxml2-tree.html#xmlHasProp"/>
@@ -2381,10 +2345,6 @@
     <keyword type="function" name="xmlHashUpdateEntry ()" link="libxml2-hash.html#xmlHashUpdateEntry"/>
     <keyword type="function" name="xmlHashUpdateEntry2 ()" link="libxml2-hash.html#xmlHashUpdateEntry2"/>
     <keyword type="function" name="xmlHashUpdateEntry3 ()" link="libxml2-hash.html#xmlHashUpdateEntry3"/>
-    <keyword type="function" name="xmlIOFTPClose ()" link="libxml2-xmlIO.html#xmlIOFTPClose"/>
-    <keyword type="function" name="xmlIOFTPMatch ()" link="libxml2-xmlIO.html#xmlIOFTPMatch"/>
-    <keyword type="function" name="xmlIOFTPOpen ()" link="libxml2-xmlIO.html#xmlIOFTPOpen"/>
-    <keyword type="function" name="xmlIOFTPRead ()" link="libxml2-xmlIO.html#xmlIOFTPRead"/>
     <keyword type="function" name="xmlIOHTTPClose ()" link="libxml2-xmlIO.html#xmlIOHTTPClose"/>
     <keyword type="function" name="xmlIOHTTPMatch ()" link="libxml2-xmlIO.html#xmlIOHTTPMatch"/>
     <keyword type="function" name="xmlIOHTTPOpen ()" link="libxml2-xmlIO.html#xmlIOHTTPOpen"/>
@@ -2400,8 +2360,7 @@
     <keyword type="function" name="xmlInitThreads ()" link="libxml2-threads.html#xmlInitThreads"/>
     <keyword type="function" name="xmlInitializeCatalog ()" link="libxml2-catalog.html#xmlInitializeCatalog"/>
     <keyword type="function" name="xmlInitializeDict ()" link="libxml2-dict.html#xmlInitializeDict"/>
-    <keyword type="function" name="xmlInitializeGlobalState ()" link="libxml2-globals.html#xmlInitializeGlobalState"/>
-    <keyword type="function" name="xmlInitializePredefinedEntities ()" link="libxml2-entities.html#xmlInitializePredefinedEntities"/>
+    <keyword type="function" name="xmlInputSetEncodingHandler ()" link="libxml2-parser.html#xmlInputSetEncodingHandler"/>
     <keyword type="function" name="xmlIsBaseChar ()" link="libxml2-chvalid.html#xmlIsBaseChar"/>
     <keyword type="function" name="xmlIsBlank ()" link="libxml2-chvalid.html#xmlIsBlank"/>
     <keyword type="function" name="xmlIsBlankNode ()" link="libxml2-tree.html#xmlIsBlankNode"/>
@@ -2412,11 +2371,11 @@
     <keyword type="function" name="xmlIsID ()" link="libxml2-valid.html#xmlIsID"/>
     <keyword type="function" name="xmlIsIdeographic ()" link="libxml2-chvalid.html#xmlIsIdeographic"/>
     <keyword type="function" name="xmlIsLetter ()" link="libxml2-parserInternals.html#xmlIsLetter"/>
-    <keyword type="function" name="xmlIsMainThread ()" link="libxml2-threads.html#xmlIsMainThread"/>
     <keyword type="function" name="xmlIsMixedElement ()" link="libxml2-valid.html#xmlIsMixedElement"/>
     <keyword type="function" name="xmlIsPubidChar ()" link="libxml2-chvalid.html#xmlIsPubidChar"/>
     <keyword type="function" name="xmlIsRef ()" link="libxml2-valid.html#xmlIsRef"/>
     <keyword type="function" name="xmlIsXHTML ()" link="libxml2-tree.html#xmlIsXHTML"/>
+    <keyword type="function" name="xmlIsolat1ToUTF8 ()" link="libxml2-encoding.html#xmlIsolat1ToUTF8"/>
     <keyword type="function" name="xmlKeepBlanksDefault ()" link="libxml2-parser.html#xmlKeepBlanksDefault"/>
     <keyword type="function" name="xmlLastElementChild ()" link="libxml2-tree.html#xmlLastElementChild"/>
     <keyword type="function" name="xmlLineNumbersDefault ()" link="libxml2-parser.html#xmlLineNumbersDefault"/>
@@ -2453,8 +2412,6 @@
     <keyword type="function" name="xmlLoadSGMLSuperCatalog ()" link="libxml2-catalog.html#xmlLoadSGMLSuperCatalog"/>
     <keyword type="function" name="xmlLockLibrary ()" link="libxml2-threads.html#xmlLockLibrary"/>
     <keyword type="function" name="xmlLookupCharEncodingHandler ()" link="libxml2-encoding.html#xmlLookupCharEncodingHandler"/>
-    <keyword type="function" name="xmlLsCountNode ()" link="libxml2-debugXML.html#xmlLsCountNode"/>
-    <keyword type="function" name="xmlLsOneNode ()" link="libxml2-debugXML.html#xmlLsOneNode"/>
     <keyword type="function" name="xmlMallocAtomicLoc ()" link="libxml2-xmlmemory.html#xmlMallocAtomicLoc"/>
     <keyword type="function" name="xmlMallocLoc ()" link="libxml2-xmlmemory.html#xmlMallocLoc"/>
     <keyword type="function" name="xmlMemBlocks ()" link="libxml2-xmlmemory.html#xmlMemBlocks"/>
@@ -2477,31 +2434,6 @@
     <keyword type="function" name="xmlModuleSymbol ()" link="libxml2-xmlmodule.html#xmlModuleSymbol"/>
     <keyword type="function" name="xmlMutexLock ()" link="libxml2-threads.html#xmlMutexLock"/>
     <keyword type="function" name="xmlMutexUnlock ()" link="libxml2-threads.html#xmlMutexUnlock"/>
-    <keyword type="function" name="xmlNamespaceParseNCName ()" link="libxml2-parserInternals.html#xmlNamespaceParseNCName"/>
-    <keyword type="function" name="xmlNamespaceParseNSDef ()" link="libxml2-parserInternals.html#xmlNamespaceParseNSDef"/>
-    <keyword type="function" name="xmlNamespaceParseQName ()" link="libxml2-parserInternals.html#xmlNamespaceParseQName"/>
-    <keyword type="function" name="xmlNanoFTPCheckResponse ()" link="libxml2-nanoftp.html#xmlNanoFTPCheckResponse"/>
-    <keyword type="function" name="xmlNanoFTPCleanup ()" link="libxml2-nanoftp.html#xmlNanoFTPCleanup"/>
-    <keyword type="function" name="xmlNanoFTPClose ()" link="libxml2-nanoftp.html#xmlNanoFTPClose"/>
-    <keyword type="function" name="xmlNanoFTPCloseConnection ()" link="libxml2-nanoftp.html#xmlNanoFTPCloseConnection"/>
-    <keyword type="function" name="xmlNanoFTPConnect ()" link="libxml2-nanoftp.html#xmlNanoFTPConnect"/>
-    <keyword type="function" name="xmlNanoFTPConnectTo ()" link="libxml2-nanoftp.html#xmlNanoFTPConnectTo"/>
-    <keyword type="function" name="xmlNanoFTPCwd ()" link="libxml2-nanoftp.html#xmlNanoFTPCwd"/>
-    <keyword type="function" name="xmlNanoFTPDele ()" link="libxml2-nanoftp.html#xmlNanoFTPDele"/>
-    <keyword type="function" name="xmlNanoFTPFreeCtxt ()" link="libxml2-nanoftp.html#xmlNanoFTPFreeCtxt"/>
-    <keyword type="function" name="xmlNanoFTPGet ()" link="libxml2-nanoftp.html#xmlNanoFTPGet"/>
-    <keyword type="function" name="xmlNanoFTPGetConnection ()" link="libxml2-nanoftp.html#xmlNanoFTPGetConnection"/>
-    <keyword type="function" name="xmlNanoFTPGetResponse ()" link="libxml2-nanoftp.html#xmlNanoFTPGetResponse"/>
-    <keyword type="function" name="xmlNanoFTPGetSocket ()" link="libxml2-nanoftp.html#xmlNanoFTPGetSocket"/>
-    <keyword type="function" name="xmlNanoFTPInit ()" link="libxml2-nanoftp.html#xmlNanoFTPInit"/>
-    <keyword type="function" name="xmlNanoFTPList ()" link="libxml2-nanoftp.html#xmlNanoFTPList"/>
-    <keyword type="function" name="xmlNanoFTPNewCtxt ()" link="libxml2-nanoftp.html#xmlNanoFTPNewCtxt"/>
-    <keyword type="function" name="xmlNanoFTPOpen ()" link="libxml2-nanoftp.html#xmlNanoFTPOpen"/>
-    <keyword type="function" name="xmlNanoFTPProxy ()" link="libxml2-nanoftp.html#xmlNanoFTPProxy"/>
-    <keyword type="function" name="xmlNanoFTPQuit ()" link="libxml2-nanoftp.html#xmlNanoFTPQuit"/>
-    <keyword type="function" name="xmlNanoFTPRead ()" link="libxml2-nanoftp.html#xmlNanoFTPRead"/>
-    <keyword type="function" name="xmlNanoFTPScanProxy ()" link="libxml2-nanoftp.html#xmlNanoFTPScanProxy"/>
-    <keyword type="function" name="xmlNanoFTPUpdateURL ()" link="libxml2-nanoftp.html#xmlNanoFTPUpdateURL"/>
     <keyword type="function" name="xmlNanoHTTPAuthHeader ()" link="libxml2-nanohttp.html#xmlNanoHTTPAuthHeader"/>
     <keyword type="function" name="xmlNanoHTTPCleanup ()" link="libxml2-nanohttp.html#xmlNanoHTTPCleanup"/>
     <keyword type="function" name="xmlNanoHTTPClose ()" link="libxml2-nanohttp.html#xmlNanoHTTPClose"/>
@@ -2541,9 +2473,13 @@
     <keyword type="function" name="xmlNewElementContent ()" link="libxml2-valid.html#xmlNewElementContent"/>
     <keyword type="function" name="xmlNewEntity ()" link="libxml2-entities.html#xmlNewEntity"/>
     <keyword type="function" name="xmlNewEntityInputStream ()" link="libxml2-parserInternals.html#xmlNewEntityInputStream"/>
-    <keyword type="function" name="xmlNewGlobalNs ()" link="libxml2-tree.html#xmlNewGlobalNs"/>
     <keyword type="function" name="xmlNewIOInputStream ()" link="libxml2-parser.html#xmlNewIOInputStream"/>
+    <keyword type="function" name="xmlNewInputFromFd ()" link="libxml2-parser.html#xmlNewInputFromFd"/>
     <keyword type="function" name="xmlNewInputFromFile ()" link="libxml2-parserInternals.html#xmlNewInputFromFile"/>
+    <keyword type="function" name="xmlNewInputFromIO ()" link="libxml2-parser.html#xmlNewInputFromIO"/>
+    <keyword type="function" name="xmlNewInputFromMemory ()" link="libxml2-parser.html#xmlNewInputFromMemory"/>
+    <keyword type="function" name="xmlNewInputFromString ()" link="libxml2-parser.html#xmlNewInputFromString"/>
+    <keyword type="function" name="xmlNewInputFromUrl ()" link="libxml2-parser.html#xmlNewInputFromUrl"/>
     <keyword type="function" name="xmlNewInputStream ()" link="libxml2-parserInternals.html#xmlNewInputStream"/>
     <keyword type="function" name="xmlNewMutex ()" link="libxml2-threads.html#xmlNewMutex"/>
     <keyword type="function" name="xmlNewNode ()" link="libxml2-tree.html#xmlNewNode"/>
@@ -2653,7 +2589,6 @@
     <keyword type="function" name="xmlParseMemory ()" link="libxml2-parser.html#xmlParseMemory"/>
     <keyword type="function" name="xmlParseMisc ()" link="libxml2-parserInternals.html#xmlParseMisc"/>
     <keyword type="function" name="xmlParseName ()" link="libxml2-parserInternals.html#xmlParseName"/>
-    <keyword type="function" name="xmlParseNamespace ()" link="libxml2-parserInternals.html#xmlParseNamespace"/>
     <keyword type="function" name="xmlParseNmtoken ()" link="libxml2-parserInternals.html#xmlParseNmtoken"/>
     <keyword type="function" name="xmlParseNotationDecl ()" link="libxml2-parserInternals.html#xmlParseNotationDecl"/>
     <keyword type="function" name="xmlParseNotationType ()" link="libxml2-parserInternals.html#xmlParseNotationType"/>
@@ -2661,7 +2596,6 @@
     <keyword type="function" name="xmlParsePI ()" link="libxml2-parserInternals.html#xmlParsePI"/>
     <keyword type="function" name="xmlParsePITarget ()" link="libxml2-parserInternals.html#xmlParsePITarget"/>
     <keyword type="function" name="xmlParsePubidLiteral ()" link="libxml2-parserInternals.html#xmlParsePubidLiteral"/>
-    <keyword type="function" name="xmlParseQuotedString ()" link="libxml2-parserInternals.html#xmlParseQuotedString"/>
     <keyword type="function" name="xmlParseReference ()" link="libxml2-parserInternals.html#xmlParseReference"/>
     <keyword type="function" name="xmlParseSDDecl ()" link="libxml2-parserInternals.html#xmlParseSDDecl"/>
     <keyword type="function" name="xmlParseStartTag ()" link="libxml2-parserInternals.html#xmlParseStartTag"/>
@@ -2680,7 +2614,6 @@
     <keyword type="function" name="xmlParserFindNodeInfoIndex ()" link="libxml2-parser.html#xmlParserFindNodeInfoIndex"/>
     <keyword type="function" name="xmlParserGetDirectory ()" link="libxml2-xmlIO.html#xmlParserGetDirectory"/>
     <keyword type="function" name="xmlParserHandlePEReference ()" link="libxml2-parserInternals.html#xmlParserHandlePEReference"/>
-    <keyword type="function" name="xmlParserHandleReference ()" link="libxml2-parserInternals.html#xmlParserHandleReference"/>
     <keyword type="function" name="xmlParserInputBufferCreateFd ()" link="libxml2-xmlIO.html#xmlParserInputBufferCreateFd"/>
     <keyword type="function" name="xmlParserInputBufferCreateFile ()" link="libxml2-xmlIO.html#xmlParserInputBufferCreateFile"/>
     <keyword type="function" name="xmlParserInputBufferCreateFilename ()" link="libxml2-xmlIO.html#xmlParserInputBufferCreateFilename"/>
@@ -2773,6 +2706,7 @@
     <keyword type="function" name="xmlRelaxNGParse ()" link="libxml2-relaxng.html#xmlRelaxNGParse"/>
     <keyword type="function" name="xmlRelaxNGSetParserErrors ()" link="libxml2-relaxng.html#xmlRelaxNGSetParserErrors"/>
     <keyword type="function" name="xmlRelaxNGSetParserStructuredErrors ()" link="libxml2-relaxng.html#xmlRelaxNGSetParserStructuredErrors"/>
+    <keyword type="function" name="xmlRelaxNGSetResourceLoader ()" link="libxml2-relaxng.html#xmlRelaxNGSetResourceLoader"/>
     <keyword type="function" name="xmlRelaxNGSetValidErrors ()" link="libxml2-relaxng.html#xmlRelaxNGSetValidErrors"/>
     <keyword type="function" name="xmlRelaxNGSetValidStructuredErrors ()" link="libxml2-relaxng.html#xmlRelaxNGSetValidStructuredErrors"/>
     <keyword type="function" name="xmlRelaxNGValidateDoc ()" link="libxml2-relaxng.html#xmlRelaxNGValidateDoc"/>
@@ -2842,13 +2776,13 @@
     <keyword type="function" name="xmlSaveFormatFileTo ()" link="libxml2-tree.html#xmlSaveFormatFileTo"/>
     <keyword type="function" name="xmlSaveSetAttrEscape ()" link="libxml2-xmlsave.html#xmlSaveSetAttrEscape"/>
     <keyword type="function" name="xmlSaveSetEscape ()" link="libxml2-xmlsave.html#xmlSaveSetEscape"/>
+    <keyword type="function" name="xmlSaveSetIndentString ()" link="libxml2-xmlsave.html#xmlSaveSetIndentString"/>
     <keyword type="function" name="xmlSaveToBuffer ()" link="libxml2-xmlsave.html#xmlSaveToBuffer"/>
     <keyword type="function" name="xmlSaveToFd ()" link="libxml2-xmlsave.html#xmlSaveToFd"/>
     <keyword type="function" name="xmlSaveToFilename ()" link="libxml2-xmlsave.html#xmlSaveToFilename"/>
     <keyword type="function" name="xmlSaveToIO ()" link="libxml2-xmlsave.html#xmlSaveToIO"/>
     <keyword type="function" name="xmlSaveTree ()" link="libxml2-xmlsave.html#xmlSaveTree"/>
     <keyword type="function" name="xmlSaveUri ()" link="libxml2-uri.html#xmlSaveUri"/>
-    <keyword type="function" name="xmlScanName ()" link="libxml2-parserInternals.html#xmlScanName"/>
     <keyword type="function" name="xmlSchemaCheckFacet ()" link="libxml2-xmlschemastypes.html#xmlSchemaCheckFacet"/>
     <keyword type="function" name="xmlSchemaCleanupTypes ()" link="libxml2-xmlschemastypes.html#xmlSchemaCleanupTypes"/>
     <keyword type="function" name="xmlSchemaCollapseString ()" link="libxml2-xmlschemastypes.html#xmlSchemaCollapseString"/>
@@ -2888,6 +2822,7 @@
     <keyword type="function" name="xmlSchemaSAXUnplug ()" link="libxml2-xmlschemas.html#xmlSchemaSAXUnplug"/>
     <keyword type="function" name="xmlSchemaSetParserErrors ()" link="libxml2-xmlschemas.html#xmlSchemaSetParserErrors"/>
     <keyword type="function" name="xmlSchemaSetParserStructuredErrors ()" link="libxml2-xmlschemas.html#xmlSchemaSetParserStructuredErrors"/>
+    <keyword type="function" name="xmlSchemaSetResourceLoader ()" link="libxml2-xmlschemas.html#xmlSchemaSetResourceLoader"/>
     <keyword type="function" name="xmlSchemaSetValidErrors ()" link="libxml2-xmlschemas.html#xmlSchemaSetValidErrors"/>
     <keyword type="function" name="xmlSchemaSetValidOptions ()" link="libxml2-xmlschemas.html#xmlSchemaSetValidOptions"/>
     <keyword type="function" name="xmlSchemaSetValidStructuredErrors ()" link="libxml2-xmlschemas.html#xmlSchemaSetValidStructuredErrors"/>
@@ -2927,9 +2862,7 @@
     <keyword type="function" name="xmlSetBufferAllocationScheme ()" link="libxml2-tree.html#xmlSetBufferAllocationScheme"/>
     <keyword type="function" name="xmlSetCompressMode ()" link="libxml2-tree.html#xmlSetCompressMode"/>
     <keyword type="function" name="xmlSetDocCompressMode ()" link="libxml2-tree.html#xmlSetDocCompressMode"/>
-    <keyword type="function" name="xmlSetEntityReferenceFunc ()" link="libxml2-parserInternals.html#xmlSetEntityReferenceFunc"/>
     <keyword type="function" name="xmlSetExternalEntityLoader ()" link="libxml2-parser.html#xmlSetExternalEntityLoader"/>
-    <keyword type="function" name="xmlSetFeature ()" link="libxml2-parser.html#xmlSetFeature"/>
     <keyword type="function" name="xmlSetGenericErrorFunc ()" link="libxml2-xmlerror.html#xmlSetGenericErrorFunc"/>
     <keyword type="function" name="xmlSetListDoc ()" link="libxml2-tree.html#xmlSetListDoc"/>
     <keyword type="function" name="xmlSetNs ()" link="libxml2-tree.html#xmlSetNs"/>
@@ -2938,20 +2871,6 @@
     <keyword type="function" name="xmlSetStructuredErrorFunc ()" link="libxml2-xmlerror.html#xmlSetStructuredErrorFunc"/>
     <keyword type="function" name="xmlSetTreeDoc ()" link="libxml2-tree.html#xmlSetTreeDoc"/>
     <keyword type="function" name="xmlSetupParserForBuffer ()" link="libxml2-parser.html#xmlSetupParserForBuffer"/>
-    <keyword type="function" name="xmlShell ()" link="libxml2-debugXML.html#xmlShell"/>
-    <keyword type="function" name="xmlShellBase ()" link="libxml2-debugXML.html#xmlShellBase"/>
-    <keyword type="function" name="xmlShellCat ()" link="libxml2-debugXML.html#xmlShellCat"/>
-    <keyword type="function" name="xmlShellDir ()" link="libxml2-debugXML.html#xmlShellDir"/>
-    <keyword type="function" name="xmlShellDu ()" link="libxml2-debugXML.html#xmlShellDu"/>
-    <keyword type="function" name="xmlShellList ()" link="libxml2-debugXML.html#xmlShellList"/>
-    <keyword type="function" name="xmlShellLoad ()" link="libxml2-debugXML.html#xmlShellLoad"/>
-    <keyword type="function" name="xmlShellPrintNode ()" link="libxml2-debugXML.html#xmlShellPrintNode"/>
-    <keyword type="function" name="xmlShellPrintXPathError ()" link="libxml2-debugXML.html#xmlShellPrintXPathError"/>
-    <keyword type="function" name="xmlShellPrintXPathResult ()" link="libxml2-debugXML.html#xmlShellPrintXPathResult"/>
-    <keyword type="function" name="xmlShellPwd ()" link="libxml2-debugXML.html#xmlShellPwd"/>
-    <keyword type="function" name="xmlShellSave ()" link="libxml2-debugXML.html#xmlShellSave"/>
-    <keyword type="function" name="xmlShellValidate ()" link="libxml2-debugXML.html#xmlShellValidate"/>
-    <keyword type="function" name="xmlShellWrite ()" link="libxml2-debugXML.html#xmlShellWrite"/>
     <keyword type="function" name="xmlSkipBlankChars ()" link="libxml2-parserInternals.html#xmlSkipBlankChars"/>
     <keyword type="function" name="xmlSnprintfElementContent ()" link="libxml2-valid.html#xmlSnprintfElementContent"/>
     <keyword type="function" name="xmlSplitQName ()" link="libxml2-parserInternals.html#xmlSplitQName"/>
@@ -3061,6 +2980,7 @@
     <keyword type="function" name="xmlTextReaderSetErrorHandler ()" link="libxml2-xmlreader.html#xmlTextReaderSetErrorHandler"/>
     <keyword type="function" name="xmlTextReaderSetMaxAmplification ()" link="libxml2-xmlreader.html#xmlTextReaderSetMaxAmplification"/>
     <keyword type="function" name="xmlTextReaderSetParserProp ()" link="libxml2-xmlreader.html#xmlTextReaderSetParserProp"/>
+    <keyword type="function" name="xmlTextReaderSetResourceLoader ()" link="libxml2-xmlreader.html#xmlTextReaderSetResourceLoader"/>
     <keyword type="function" name="xmlTextReaderSetSchema ()" link="libxml2-xmlreader.html#xmlTextReaderSetSchema"/>
     <keyword type="function" name="xmlTextReaderSetStructuredErrorHandler ()" link="libxml2-xmlreader.html#xmlTextReaderSetStructuredErrorHandler"/>
     <keyword type="function" name="xmlTextReaderSetup ()" link="libxml2-xmlreader.html#xmlTextReaderSetup"/>
@@ -3141,8 +3061,6 @@
     <keyword type="function" name="xmlTextWriterWriteVFormatPI ()" link="libxml2-xmlwriter.html#xmlTextWriterWriteVFormatPI"/>
     <keyword type="function" name="xmlTextWriterWriteVFormatRaw ()" link="libxml2-xmlwriter.html#xmlTextWriterWriteVFormatRaw"/>
     <keyword type="function" name="xmlTextWriterWriteVFormatString ()" link="libxml2-xmlwriter.html#xmlTextWriterWriteVFormatString"/>
-    <keyword type="function" name="xmlThrDefBufferAllocScheme ()" link="libxml2-tree.html#xmlThrDefBufferAllocScheme"/>
-    <keyword type="function" name="xmlThrDefDefaultBufferSize ()" link="libxml2-tree.html#xmlThrDefDefaultBufferSize"/>
     <keyword type="function" name="xmlThrDefDeregisterNodeDefault ()" link="libxml2-tree.html#xmlThrDefDeregisterNodeDefault"/>
     <keyword type="function" name="xmlThrDefDoValidityCheckingDefaultValue ()" link="libxml2-parser.html#xmlThrDefDoValidityCheckingDefaultValue"/>
     <keyword type="function" name="xmlThrDefGetWarningsDefaultValue ()" link="libxml2-parser.html#xmlThrDefGetWarningsDefaultValue"/>
@@ -3151,7 +3069,6 @@
     <keyword type="function" name="xmlThrDefLineNumbersDefaultValue ()" link="libxml2-parser.html#xmlThrDefLineNumbersDefaultValue"/>
     <keyword type="function" name="xmlThrDefLoadExtDtdDefaultValue ()" link="libxml2-parser.html#xmlThrDefLoadExtDtdDefaultValue"/>
     <keyword type="function" name="xmlThrDefOutputBufferCreateFilenameDefault ()" link="libxml2-xmlIO.html#xmlThrDefOutputBufferCreateFilenameDefault"/>
-    <keyword type="function" name="xmlThrDefParserDebugEntities ()" link="libxml2-parser.html#xmlThrDefParserDebugEntities"/>
     <keyword type="function" name="xmlThrDefParserInputBufferCreateFilenameDefault ()" link="libxml2-xmlIO.html#xmlThrDefParserInputBufferCreateFilenameDefault"/>
     <keyword type="function" name="xmlThrDefPedanticParserDefaultValue ()" link="libxml2-parser.html#xmlThrDefPedanticParserDefaultValue"/>
     <keyword type="function" name="xmlThrDefRegisterNodeDefault ()" link="libxml2-tree.html#xmlThrDefRegisterNodeDefault"/>
@@ -3160,172 +3077,6 @@
     <keyword type="function" name="xmlThrDefSetStructuredErrorFunc ()" link="libxml2-xmlerror.html#xmlThrDefSetStructuredErrorFunc"/>
     <keyword type="function" name="xmlThrDefSubstituteEntitiesDefaultValue ()" link="libxml2-parser.html#xmlThrDefSubstituteEntitiesDefaultValue"/>
     <keyword type="function" name="xmlThrDefTreeIndentString ()" link="libxml2-xmlsave.html#xmlThrDefTreeIndentString"/>
-    <keyword type="function" name="xmlUCSIsAegeanNumbers ()" link="libxml2-xmlunicode.html#xmlUCSIsAegeanNumbers"/>
-    <keyword type="function" name="xmlUCSIsAlphabeticPresentationForms ()" link="libxml2-xmlunicode.html#xmlUCSIsAlphabeticPresentationForms"/>
-    <keyword type="function" name="xmlUCSIsArabic ()" link="libxml2-xmlunicode.html#xmlUCSIsArabic"/>
-    <keyword type="function" name="xmlUCSIsArabicPresentationFormsA ()" link="libxml2-xmlunicode.html#xmlUCSIsArabicPresentationFormsA"/>
-    <keyword type="function" name="xmlUCSIsArabicPresentationFormsB ()" link="libxml2-xmlunicode.html#xmlUCSIsArabicPresentationFormsB"/>
-    <keyword type="function" name="xmlUCSIsArmenian ()" link="libxml2-xmlunicode.html#xmlUCSIsArmenian"/>
-    <keyword type="function" name="xmlUCSIsArrows ()" link="libxml2-xmlunicode.html#xmlUCSIsArrows"/>
-    <keyword type="function" name="xmlUCSIsBasicLatin ()" link="libxml2-xmlunicode.html#xmlUCSIsBasicLatin"/>
-    <keyword type="function" name="xmlUCSIsBengali ()" link="libxml2-xmlunicode.html#xmlUCSIsBengali"/>
-    <keyword type="function" name="xmlUCSIsBlock ()" link="libxml2-xmlunicode.html#xmlUCSIsBlock"/>
-    <keyword type="function" name="xmlUCSIsBlockElements ()" link="libxml2-xmlunicode.html#xmlUCSIsBlockElements"/>
-    <keyword type="function" name="xmlUCSIsBopomofo ()" link="libxml2-xmlunicode.html#xmlUCSIsBopomofo"/>
-    <keyword type="function" name="xmlUCSIsBopomofoExtended ()" link="libxml2-xmlunicode.html#xmlUCSIsBopomofoExtended"/>
-    <keyword type="function" name="xmlUCSIsBoxDrawing ()" link="libxml2-xmlunicode.html#xmlUCSIsBoxDrawing"/>
-    <keyword type="function" name="xmlUCSIsBraillePatterns ()" link="libxml2-xmlunicode.html#xmlUCSIsBraillePatterns"/>
-    <keyword type="function" name="xmlUCSIsBuhid ()" link="libxml2-xmlunicode.html#xmlUCSIsBuhid"/>
-    <keyword type="function" name="xmlUCSIsByzantineMusicalSymbols ()" link="libxml2-xmlunicode.html#xmlUCSIsByzantineMusicalSymbols"/>
-    <keyword type="function" name="xmlUCSIsCJKCompatibility ()" link="libxml2-xmlunicode.html#xmlUCSIsCJKCompatibility"/>
-    <keyword type="function" name="xmlUCSIsCJKCompatibilityForms ()" link="libxml2-xmlunicode.html#xmlUCSIsCJKCompatibilityForms"/>
-    <keyword type="function" name="xmlUCSIsCJKCompatibilityIdeographs ()" link="libxml2-xmlunicode.html#xmlUCSIsCJKCompatibilityIdeographs"/>
-    <keyword type="function" name="xmlUCSIsCJKCompatibilityIdeographsSupplement ()" link="libxml2-xmlunicode.html#xmlUCSIsCJKCompatibilityIdeographsSupplement"/>
-    <keyword type="function" name="xmlUCSIsCJKRadicalsSupplement ()" link="libxml2-xmlunicode.html#xmlUCSIsCJKRadicalsSupplement"/>
-    <keyword type="function" name="xmlUCSIsCJKSymbolsandPunctuation ()" link="libxml2-xmlunicode.html#xmlUCSIsCJKSymbolsandPunctuation"/>
-    <keyword type="function" name="xmlUCSIsCJKUnifiedIdeographs ()" link="libxml2-xmlunicode.html#xmlUCSIsCJKUnifiedIdeographs"/>
-    <keyword type="function" name="xmlUCSIsCJKUnifiedIdeographsExtensionA ()" link="libxml2-xmlunicode.html#xmlUCSIsCJKUnifiedIdeographsExtensionA"/>
-    <keyword type="function" name="xmlUCSIsCJKUnifiedIdeographsExtensionB ()" link="libxml2-xmlunicode.html#xmlUCSIsCJKUnifiedIdeographsExtensionB"/>
-    <keyword type="function" name="xmlUCSIsCat ()" link="libxml2-xmlunicode.html#xmlUCSIsCat"/>
-    <keyword type="function" name="xmlUCSIsCatC ()" link="libxml2-xmlunicode.html#xmlUCSIsCatC"/>
-    <keyword type="function" name="xmlUCSIsCatCc ()" link="libxml2-xmlunicode.html#xmlUCSIsCatCc"/>
-    <keyword type="function" name="xmlUCSIsCatCf ()" link="libxml2-xmlunicode.html#xmlUCSIsCatCf"/>
-    <keyword type="function" name="xmlUCSIsCatCo ()" link="libxml2-xmlunicode.html#xmlUCSIsCatCo"/>
-    <keyword type="function" name="xmlUCSIsCatCs ()" link="libxml2-xmlunicode.html#xmlUCSIsCatCs"/>
-    <keyword type="function" name="xmlUCSIsCatL ()" link="libxml2-xmlunicode.html#xmlUCSIsCatL"/>
-    <keyword type="function" name="xmlUCSIsCatLl ()" link="libxml2-xmlunicode.html#xmlUCSIsCatLl"/>
-    <keyword type="function" name="xmlUCSIsCatLm ()" link="libxml2-xmlunicode.html#xmlUCSIsCatLm"/>
-    <keyword type="function" name="xmlUCSIsCatLo ()" link="libxml2-xmlunicode.html#xmlUCSIsCatLo"/>
-    <keyword type="function" name="xmlUCSIsCatLt ()" link="libxml2-xmlunicode.html#xmlUCSIsCatLt"/>
-    <keyword type="function" name="xmlUCSIsCatLu ()" link="libxml2-xmlunicode.html#xmlUCSIsCatLu"/>
-    <keyword type="function" name="xmlUCSIsCatM ()" link="libxml2-xmlunicode.html#xmlUCSIsCatM"/>
-    <keyword type="function" name="xmlUCSIsCatMc ()" link="libxml2-xmlunicode.html#xmlUCSIsCatMc"/>
-    <keyword type="function" name="xmlUCSIsCatMe ()" link="libxml2-xmlunicode.html#xmlUCSIsCatMe"/>
-    <keyword type="function" name="xmlUCSIsCatMn ()" link="libxml2-xmlunicode.html#xmlUCSIsCatMn"/>
-    <keyword type="function" name="xmlUCSIsCatN ()" link="libxml2-xmlunicode.html#xmlUCSIsCatN"/>
-    <keyword type="function" name="xmlUCSIsCatNd ()" link="libxml2-xmlunicode.html#xmlUCSIsCatNd"/>
-    <keyword type="function" name="xmlUCSIsCatNl ()" link="libxml2-xmlunicode.html#xmlUCSIsCatNl"/>
-    <keyword type="function" name="xmlUCSIsCatNo ()" link="libxml2-xmlunicode.html#xmlUCSIsCatNo"/>
-    <keyword type="function" name="xmlUCSIsCatP ()" link="libxml2-xmlunicode.html#xmlUCSIsCatP"/>
-    <keyword type="function" name="xmlUCSIsCatPc ()" link="libxml2-xmlunicode.html#xmlUCSIsCatPc"/>
-    <keyword type="function" name="xmlUCSIsCatPd ()" link="libxml2-xmlunicode.html#xmlUCSIsCatPd"/>
-    <keyword type="function" name="xmlUCSIsCatPe ()" link="libxml2-xmlunicode.html#xmlUCSIsCatPe"/>
-    <keyword type="function" name="xmlUCSIsCatPf ()" link="libxml2-xmlunicode.html#xmlUCSIsCatPf"/>
-    <keyword type="function" name="xmlUCSIsCatPi ()" link="libxml2-xmlunicode.html#xmlUCSIsCatPi"/>
-    <keyword type="function" name="xmlUCSIsCatPo ()" link="libxml2-xmlunicode.html#xmlUCSIsCatPo"/>
-    <keyword type="function" name="xmlUCSIsCatPs ()" link="libxml2-xmlunicode.html#xmlUCSIsCatPs"/>
-    <keyword type="function" name="xmlUCSIsCatS ()" link="libxml2-xmlunicode.html#xmlUCSIsCatS"/>
-    <keyword type="function" name="xmlUCSIsCatSc ()" link="libxml2-xmlunicode.html#xmlUCSIsCatSc"/>
-    <keyword type="function" name="xmlUCSIsCatSk ()" link="libxml2-xmlunicode.html#xmlUCSIsCatSk"/>
-    <keyword type="function" name="xmlUCSIsCatSm ()" link="libxml2-xmlunicode.html#xmlUCSIsCatSm"/>
-    <keyword type="function" name="xmlUCSIsCatSo ()" link="libxml2-xmlunicode.html#xmlUCSIsCatSo"/>
-    <keyword type="function" name="xmlUCSIsCatZ ()" link="libxml2-xmlunicode.html#xmlUCSIsCatZ"/>
-    <keyword type="function" name="xmlUCSIsCatZl ()" link="libxml2-xmlunicode.html#xmlUCSIsCatZl"/>
-    <keyword type="function" name="xmlUCSIsCatZp ()" link="libxml2-xmlunicode.html#xmlUCSIsCatZp"/>
-    <keyword type="function" name="xmlUCSIsCatZs ()" link="libxml2-xmlunicode.html#xmlUCSIsCatZs"/>
-    <keyword type="function" name="xmlUCSIsCherokee ()" link="libxml2-xmlunicode.html#xmlUCSIsCherokee"/>
-    <keyword type="function" name="xmlUCSIsCombiningDiacriticalMarks ()" link="libxml2-xmlunicode.html#xmlUCSIsCombiningDiacriticalMarks"/>
-    <keyword type="function" name="xmlUCSIsCombiningDiacriticalMarksforSymbols ()" link="libxml2-xmlunicode.html#xmlUCSIsCombiningDiacriticalMarksforSymbols"/>
-    <keyword type="function" name="xmlUCSIsCombiningHalfMarks ()" link="libxml2-xmlunicode.html#xmlUCSIsCombiningHalfMarks"/>
-    <keyword type="function" name="xmlUCSIsCombiningMarksforSymbols ()" link="libxml2-xmlunicode.html#xmlUCSIsCombiningMarksforSymbols"/>
-    <keyword type="function" name="xmlUCSIsControlPictures ()" link="libxml2-xmlunicode.html#xmlUCSIsControlPictures"/>
-    <keyword type="function" name="xmlUCSIsCurrencySymbols ()" link="libxml2-xmlunicode.html#xmlUCSIsCurrencySymbols"/>
-    <keyword type="function" name="xmlUCSIsCypriotSyllabary ()" link="libxml2-xmlunicode.html#xmlUCSIsCypriotSyllabary"/>
-    <keyword type="function" name="xmlUCSIsCyrillic ()" link="libxml2-xmlunicode.html#xmlUCSIsCyrillic"/>
-    <keyword type="function" name="xmlUCSIsCyrillicSupplement ()" link="libxml2-xmlunicode.html#xmlUCSIsCyrillicSupplement"/>
-    <keyword type="function" name="xmlUCSIsDeseret ()" link="libxml2-xmlunicode.html#xmlUCSIsDeseret"/>
-    <keyword type="function" name="xmlUCSIsDevanagari ()" link="libxml2-xmlunicode.html#xmlUCSIsDevanagari"/>
-    <keyword type="function" name="xmlUCSIsDingbats ()" link="libxml2-xmlunicode.html#xmlUCSIsDingbats"/>
-    <keyword type="function" name="xmlUCSIsEnclosedAlphanumerics ()" link="libxml2-xmlunicode.html#xmlUCSIsEnclosedAlphanumerics"/>
-    <keyword type="function" name="xmlUCSIsEnclosedCJKLettersandMonths ()" link="libxml2-xmlunicode.html#xmlUCSIsEnclosedCJKLettersandMonths"/>
-    <keyword type="function" name="xmlUCSIsEthiopic ()" link="libxml2-xmlunicode.html#xmlUCSIsEthiopic"/>
-    <keyword type="function" name="xmlUCSIsGeneralPunctuation ()" link="libxml2-xmlunicode.html#xmlUCSIsGeneralPunctuation"/>
-    <keyword type="function" name="xmlUCSIsGeometricShapes ()" link="libxml2-xmlunicode.html#xmlUCSIsGeometricShapes"/>
-    <keyword type="function" name="xmlUCSIsGeorgian ()" link="libxml2-xmlunicode.html#xmlUCSIsGeorgian"/>
-    <keyword type="function" name="xmlUCSIsGothic ()" link="libxml2-xmlunicode.html#xmlUCSIsGothic"/>
-    <keyword type="function" name="xmlUCSIsGreek ()" link="libxml2-xmlunicode.html#xmlUCSIsGreek"/>
-    <keyword type="function" name="xmlUCSIsGreekExtended ()" link="libxml2-xmlunicode.html#xmlUCSIsGreekExtended"/>
-    <keyword type="function" name="xmlUCSIsGreekandCoptic ()" link="libxml2-xmlunicode.html#xmlUCSIsGreekandCoptic"/>
-    <keyword type="function" name="xmlUCSIsGujarati ()" link="libxml2-xmlunicode.html#xmlUCSIsGujarati"/>
-    <keyword type="function" name="xmlUCSIsGurmukhi ()" link="libxml2-xmlunicode.html#xmlUCSIsGurmukhi"/>
-    <keyword type="function" name="xmlUCSIsHalfwidthandFullwidthForms ()" link="libxml2-xmlunicode.html#xmlUCSIsHalfwidthandFullwidthForms"/>
-    <keyword type="function" name="xmlUCSIsHangulCompatibilityJamo ()" link="libxml2-xmlunicode.html#xmlUCSIsHangulCompatibilityJamo"/>
-    <keyword type="function" name="xmlUCSIsHangulJamo ()" link="libxml2-xmlunicode.html#xmlUCSIsHangulJamo"/>
-    <keyword type="function" name="xmlUCSIsHangulSyllables ()" link="libxml2-xmlunicode.html#xmlUCSIsHangulSyllables"/>
-    <keyword type="function" name="xmlUCSIsHanunoo ()" link="libxml2-xmlunicode.html#xmlUCSIsHanunoo"/>
-    <keyword type="function" name="xmlUCSIsHebrew ()" link="libxml2-xmlunicode.html#xmlUCSIsHebrew"/>
-    <keyword type="function" name="xmlUCSIsHighPrivateUseSurrogates ()" link="libxml2-xmlunicode.html#xmlUCSIsHighPrivateUseSurrogates"/>
-    <keyword type="function" name="xmlUCSIsHighSurrogates ()" link="libxml2-xmlunicode.html#xmlUCSIsHighSurrogates"/>
-    <keyword type="function" name="xmlUCSIsHiragana ()" link="libxml2-xmlunicode.html#xmlUCSIsHiragana"/>
-    <keyword type="function" name="xmlUCSIsIPAExtensions ()" link="libxml2-xmlunicode.html#xmlUCSIsIPAExtensions"/>
-    <keyword type="function" name="xmlUCSIsIdeographicDescriptionCharacters ()" link="libxml2-xmlunicode.html#xmlUCSIsIdeographicDescriptionCharacters"/>
-    <keyword type="function" name="xmlUCSIsKanbun ()" link="libxml2-xmlunicode.html#xmlUCSIsKanbun"/>
-    <keyword type="function" name="xmlUCSIsKangxiRadicals ()" link="libxml2-xmlunicode.html#xmlUCSIsKangxiRadicals"/>
-    <keyword type="function" name="xmlUCSIsKannada ()" link="libxml2-xmlunicode.html#xmlUCSIsKannada"/>
-    <keyword type="function" name="xmlUCSIsKatakana ()" link="libxml2-xmlunicode.html#xmlUCSIsKatakana"/>
-    <keyword type="function" name="xmlUCSIsKatakanaPhoneticExtensions ()" link="libxml2-xmlunicode.html#xmlUCSIsKatakanaPhoneticExtensions"/>
-    <keyword type="function" name="xmlUCSIsKhmer ()" link="libxml2-xmlunicode.html#xmlUCSIsKhmer"/>
-    <keyword type="function" name="xmlUCSIsKhmerSymbols ()" link="libxml2-xmlunicode.html#xmlUCSIsKhmerSymbols"/>
-    <keyword type="function" name="xmlUCSIsLao ()" link="libxml2-xmlunicode.html#xmlUCSIsLao"/>
-    <keyword type="function" name="xmlUCSIsLatin1Supplement ()" link="libxml2-xmlunicode.html#xmlUCSIsLatin1Supplement"/>
-    <keyword type="function" name="xmlUCSIsLatinExtendedA ()" link="libxml2-xmlunicode.html#xmlUCSIsLatinExtendedA"/>
-    <keyword type="function" name="xmlUCSIsLatinExtendedAdditional ()" link="libxml2-xmlunicode.html#xmlUCSIsLatinExtendedAdditional"/>
-    <keyword type="function" name="xmlUCSIsLatinExtendedB ()" link="libxml2-xmlunicode.html#xmlUCSIsLatinExtendedB"/>
-    <keyword type="function" name="xmlUCSIsLetterlikeSymbols ()" link="libxml2-xmlunicode.html#xmlUCSIsLetterlikeSymbols"/>
-    <keyword type="function" name="xmlUCSIsLimbu ()" link="libxml2-xmlunicode.html#xmlUCSIsLimbu"/>
-    <keyword type="function" name="xmlUCSIsLinearBIdeograms ()" link="libxml2-xmlunicode.html#xmlUCSIsLinearBIdeograms"/>
-    <keyword type="function" name="xmlUCSIsLinearBSyllabary ()" link="libxml2-xmlunicode.html#xmlUCSIsLinearBSyllabary"/>
-    <keyword type="function" name="xmlUCSIsLowSurrogates ()" link="libxml2-xmlunicode.html#xmlUCSIsLowSurrogates"/>
-    <keyword type="function" name="xmlUCSIsMalayalam ()" link="libxml2-xmlunicode.html#xmlUCSIsMalayalam"/>
-    <keyword type="function" name="xmlUCSIsMathematicalAlphanumericSymbols ()" link="libxml2-xmlunicode.html#xmlUCSIsMathematicalAlphanumericSymbols"/>
-    <keyword type="function" name="xmlUCSIsMathematicalOperators ()" link="libxml2-xmlunicode.html#xmlUCSIsMathematicalOperators"/>
-    <keyword type="function" name="xmlUCSIsMiscellaneousMathematicalSymbolsA ()" link="libxml2-xmlunicode.html#xmlUCSIsMiscellaneousMathematicalSymbolsA"/>
-    <keyword type="function" name="xmlUCSIsMiscellaneousMathematicalSymbolsB ()" link="libxml2-xmlunicode.html#xmlUCSIsMiscellaneousMathematicalSymbolsB"/>
-    <keyword type="function" name="xmlUCSIsMiscellaneousSymbols ()" link="libxml2-xmlunicode.html#xmlUCSIsMiscellaneousSymbols"/>
-    <keyword type="function" name="xmlUCSIsMiscellaneousSymbolsandArrows ()" link="libxml2-xmlunicode.html#xmlUCSIsMiscellaneousSymbolsandArrows"/>
-    <keyword type="function" name="xmlUCSIsMiscellaneousTechnical ()" link="libxml2-xmlunicode.html#xmlUCSIsMiscellaneousTechnical"/>
-    <keyword type="function" name="xmlUCSIsMongolian ()" link="libxml2-xmlunicode.html#xmlUCSIsMongolian"/>
-    <keyword type="function" name="xmlUCSIsMusicalSymbols ()" link="libxml2-xmlunicode.html#xmlUCSIsMusicalSymbols"/>
-    <keyword type="function" name="xmlUCSIsMyanmar ()" link="libxml2-xmlunicode.html#xmlUCSIsMyanmar"/>
-    <keyword type="function" name="xmlUCSIsNumberForms ()" link="libxml2-xmlunicode.html#xmlUCSIsNumberForms"/>
-    <keyword type="function" name="xmlUCSIsOgham ()" link="libxml2-xmlunicode.html#xmlUCSIsOgham"/>
-    <keyword type="function" name="xmlUCSIsOldItalic ()" link="libxml2-xmlunicode.html#xmlUCSIsOldItalic"/>
-    <keyword type="function" name="xmlUCSIsOpticalCharacterRecognition ()" link="libxml2-xmlunicode.html#xmlUCSIsOpticalCharacterRecognition"/>
-    <keyword type="function" name="xmlUCSIsOriya ()" link="libxml2-xmlunicode.html#xmlUCSIsOriya"/>
-    <keyword type="function" name="xmlUCSIsOsmanya ()" link="libxml2-xmlunicode.html#xmlUCSIsOsmanya"/>
-    <keyword type="function" name="xmlUCSIsPhoneticExtensions ()" link="libxml2-xmlunicode.html#xmlUCSIsPhoneticExtensions"/>
-    <keyword type="function" name="xmlUCSIsPrivateUse ()" link="libxml2-xmlunicode.html#xmlUCSIsPrivateUse"/>
-    <keyword type="function" name="xmlUCSIsPrivateUseArea ()" link="libxml2-xmlunicode.html#xmlUCSIsPrivateUseArea"/>
-    <keyword type="function" name="xmlUCSIsRunic ()" link="libxml2-xmlunicode.html#xmlUCSIsRunic"/>
-    <keyword type="function" name="xmlUCSIsShavian ()" link="libxml2-xmlunicode.html#xmlUCSIsShavian"/>
-    <keyword type="function" name="xmlUCSIsSinhala ()" link="libxml2-xmlunicode.html#xmlUCSIsSinhala"/>
-    <keyword type="function" name="xmlUCSIsSmallFormVariants ()" link="libxml2-xmlunicode.html#xmlUCSIsSmallFormVariants"/>
-    <keyword type="function" name="xmlUCSIsSpacingModifierLetters ()" link="libxml2-xmlunicode.html#xmlUCSIsSpacingModifierLetters"/>
-    <keyword type="function" name="xmlUCSIsSpecials ()" link="libxml2-xmlunicode.html#xmlUCSIsSpecials"/>
-    <keyword type="function" name="xmlUCSIsSuperscriptsandSubscripts ()" link="libxml2-xmlunicode.html#xmlUCSIsSuperscriptsandSubscripts"/>
-    <keyword type="function" name="xmlUCSIsSupplementalArrowsA ()" link="libxml2-xmlunicode.html#xmlUCSIsSupplementalArrowsA"/>
-    <keyword type="function" name="xmlUCSIsSupplementalArrowsB ()" link="libxml2-xmlunicode.html#xmlUCSIsSupplementalArrowsB"/>
-    <keyword type="function" name="xmlUCSIsSupplementalMathematicalOperators ()" link="libxml2-xmlunicode.html#xmlUCSIsSupplementalMathematicalOperators"/>
-    <keyword type="function" name="xmlUCSIsSupplementaryPrivateUseAreaA ()" link="libxml2-xmlunicode.html#xmlUCSIsSupplementaryPrivateUseAreaA"/>
-    <keyword type="function" name="xmlUCSIsSupplementaryPrivateUseAreaB ()" link="libxml2-xmlunicode.html#xmlUCSIsSupplementaryPrivateUseAreaB"/>
-    <keyword type="function" name="xmlUCSIsSyriac ()" link="libxml2-xmlunicode.html#xmlUCSIsSyriac"/>
-    <keyword type="function" name="xmlUCSIsTagalog ()" link="libxml2-xmlunicode.html#xmlUCSIsTagalog"/>
-    <keyword type="function" name="xmlUCSIsTagbanwa ()" link="libxml2-xmlunicode.html#xmlUCSIsTagbanwa"/>
-    <keyword type="function" name="xmlUCSIsTags ()" link="libxml2-xmlunicode.html#xmlUCSIsTags"/>
-    <keyword type="function" name="xmlUCSIsTaiLe ()" link="libxml2-xmlunicode.html#xmlUCSIsTaiLe"/>
-    <keyword type="function" name="xmlUCSIsTaiXuanJingSymbols ()" link="libxml2-xmlunicode.html#xmlUCSIsTaiXuanJingSymbols"/>
-    <keyword type="function" name="xmlUCSIsTamil ()" link="libxml2-xmlunicode.html#xmlUCSIsTamil"/>
-    <keyword type="function" name="xmlUCSIsTelugu ()" link="libxml2-xmlunicode.html#xmlUCSIsTelugu"/>
-    <keyword type="function" name="xmlUCSIsThaana ()" link="libxml2-xmlunicode.html#xmlUCSIsThaana"/>
-    <keyword type="function" name="xmlUCSIsThai ()" link="libxml2-xmlunicode.html#xmlUCSIsThai"/>
-    <keyword type="function" name="xmlUCSIsTibetan ()" link="libxml2-xmlunicode.html#xmlUCSIsTibetan"/>
-    <keyword type="function" name="xmlUCSIsUgaritic ()" link="libxml2-xmlunicode.html#xmlUCSIsUgaritic"/>
-    <keyword type="function" name="xmlUCSIsUnifiedCanadianAboriginalSyllabics ()" link="libxml2-xmlunicode.html#xmlUCSIsUnifiedCanadianAboriginalSyllabics"/>
-    <keyword type="function" name="xmlUCSIsVariationSelectors ()" link="libxml2-xmlunicode.html#xmlUCSIsVariationSelectors"/>
-    <keyword type="function" name="xmlUCSIsVariationSelectorsSupplement ()" link="libxml2-xmlunicode.html#xmlUCSIsVariationSelectorsSupplement"/>
-    <keyword type="function" name="xmlUCSIsYiRadicals ()" link="libxml2-xmlunicode.html#xmlUCSIsYiRadicals"/>
-    <keyword type="function" name="xmlUCSIsYiSyllables ()" link="libxml2-xmlunicode.html#xmlUCSIsYiSyllables"/>
-    <keyword type="function" name="xmlUCSIsYijingHexagramSymbols ()" link="libxml2-xmlunicode.html#xmlUCSIsYijingHexagramSymbols"/>
     <keyword type="function" name="xmlURIEscape ()" link="libxml2-uri.html#xmlURIEscape"/>
     <keyword type="function" name="xmlURIEscapeStr ()" link="libxml2-uri.html#xmlURIEscapeStr"/>
     <keyword type="function" name="xmlURIUnescapeString ()" link="libxml2-uri.html#xmlURIUnescapeString"/>
@@ -3337,6 +3088,7 @@
     <keyword type="function" name="xmlUTF8Strpos ()" link="libxml2-xmlstring.html#xmlUTF8Strpos"/>
     <keyword type="function" name="xmlUTF8Strsize ()" link="libxml2-xmlstring.html#xmlUTF8Strsize"/>
     <keyword type="function" name="xmlUTF8Strsub ()" link="libxml2-xmlstring.html#xmlUTF8Strsub"/>
+    <keyword type="function" name="xmlUTF8ToIsolat1 ()" link="libxml2-encoding.html#xmlUTF8ToIsolat1"/>
     <keyword type="function" name="xmlUnlinkNode ()" link="libxml2-tree.html#xmlUnlinkNode"/>
     <keyword type="function" name="xmlUnlockLibrary ()" link="libxml2-threads.html#xmlUnlockLibrary"/>
     <keyword type="function" name="xmlUnsetNsProp ()" link="libxml2-tree.html#xmlUnsetNsProp"/>
@@ -3383,6 +3135,7 @@
     <keyword type="function" name="xmlXIncludeProcessTreeFlagsData ()" link="libxml2-xinclude.html#xmlXIncludeProcessTreeFlagsData"/>
     <keyword type="function" name="xmlXIncludeSetErrorHandler ()" link="libxml2-xinclude.html#xmlXIncludeSetErrorHandler"/>
     <keyword type="function" name="xmlXIncludeSetFlags ()" link="libxml2-xinclude.html#xmlXIncludeSetFlags"/>
+    <keyword type="function" name="xmlXIncludeSetResourceLoader ()" link="libxml2-xinclude.html#xmlXIncludeSetResourceLoader"/>
     <keyword type="function" name="xmlXPathAddValues ()" link="libxml2-xpathInternals.html#xmlXPathAddValues"/>
     <keyword type="function" name="xmlXPathBooleanFunction ()" link="libxml2-xpathInternals.html#xmlXPathBooleanFunction"/>
     <keyword type="function" name="xmlXPathCastBooleanToNumber ()" link="libxml2-xpath.html#xmlXPathCastBooleanToNumber"/>
@@ -3532,6 +3285,8 @@
     <keyword type="function" name="xmlXPathTranslateFunction ()" link="libxml2-xpathInternals.html#xmlXPathTranslateFunction"/>
     <keyword type="function" name="xmlXPathTrueFunction ()" link="libxml2-xpathInternals.html#xmlXPathTrueFunction"/>
     <keyword type="function" name="xmlXPathValueFlipSign ()" link="libxml2-xpathInternals.html#xmlXPathValueFlipSign"/>
+    <keyword type="function" name="xmlXPathValuePop ()" link="libxml2-xpathInternals.html#xmlXPathValuePop"/>
+    <keyword type="function" name="xmlXPathValuePush ()" link="libxml2-xpathInternals.html#xmlXPathValuePush"/>
     <keyword type="function" name="xmlXPathVariableLookup ()" link="libxml2-xpathInternals.html#xmlXPathVariableLookup"/>
     <keyword type="function" name="xmlXPathVariableLookupNS ()" link="libxml2-xpathInternals.html#xmlXPathVariableLookupNS"/>
     <keyword type="function" name="xmlXPathWrapCString ()" link="libxml2-xpathInternals.html#xmlXPathWrapCString"/>
@@ -3539,26 +3294,7 @@
     <keyword type="function" name="xmlXPathWrapNodeSet ()" link="libxml2-xpathInternals.html#xmlXPathWrapNodeSet"/>
     <keyword type="function" name="xmlXPathWrapString ()" link="libxml2-xpathInternals.html#xmlXPathWrapString"/>
     <keyword type="function" name="xmlXPatherror ()" link="libxml2-xpathInternals.html#xmlXPatherror"/>
-    <keyword type="function" name="xmlXPtrBuildNodeList ()" link="libxml2-xpointer.html#xmlXPtrBuildNodeList"/>
     <keyword type="function" name="xmlXPtrEval ()" link="libxml2-xpointer.html#xmlXPtrEval"/>
-    <keyword type="function" name="xmlXPtrEvalRangePredicate ()" link="libxml2-xpointer.html#xmlXPtrEvalRangePredicate"/>
-    <keyword type="function" name="xmlXPtrFreeLocationSet ()" link="libxml2-xpointer.html#xmlXPtrFreeLocationSet"/>
-    <keyword type="function" name="xmlXPtrLocationSetAdd ()" link="libxml2-xpointer.html#xmlXPtrLocationSetAdd"/>
-    <keyword type="function" name="xmlXPtrLocationSetCreate ()" link="libxml2-xpointer.html#xmlXPtrLocationSetCreate"/>
-    <keyword type="function" name="xmlXPtrLocationSetDel ()" link="libxml2-xpointer.html#xmlXPtrLocationSetDel"/>
-    <keyword type="function" name="xmlXPtrLocationSetMerge ()" link="libxml2-xpointer.html#xmlXPtrLocationSetMerge"/>
-    <keyword type="function" name="xmlXPtrLocationSetRemove ()" link="libxml2-xpointer.html#xmlXPtrLocationSetRemove"/>
-    <keyword type="function" name="xmlXPtrNewCollapsedRange ()" link="libxml2-xpointer.html#xmlXPtrNewCollapsedRange"/>
     <keyword type="function" name="xmlXPtrNewContext ()" link="libxml2-xpointer.html#xmlXPtrNewContext"/>
-    <keyword type="function" name="xmlXPtrNewLocationSetNodeSet ()" link="libxml2-xpointer.html#xmlXPtrNewLocationSetNodeSet"/>
-    <keyword type="function" name="xmlXPtrNewLocationSetNodes ()" link="libxml2-xpointer.html#xmlXPtrNewLocationSetNodes"/>
-    <keyword type="function" name="xmlXPtrNewRange ()" link="libxml2-xpointer.html#xmlXPtrNewRange"/>
-    <keyword type="function" name="xmlXPtrNewRangeNodeObject ()" link="libxml2-xpointer.html#xmlXPtrNewRangeNodeObject"/>
-    <keyword type="function" name="xmlXPtrNewRangeNodePoint ()" link="libxml2-xpointer.html#xmlXPtrNewRangeNodePoint"/>
-    <keyword type="function" name="xmlXPtrNewRangeNodes ()" link="libxml2-xpointer.html#xmlXPtrNewRangeNodes"/>
-    <keyword type="function" name="xmlXPtrNewRangePointNode ()" link="libxml2-xpointer.html#xmlXPtrNewRangePointNode"/>
-    <keyword type="function" name="xmlXPtrNewRangePoints ()" link="libxml2-xpointer.html#xmlXPtrNewRangePoints"/>
-    <keyword type="function" name="xmlXPtrRangeToFunction ()" link="libxml2-xpointer.html#xmlXPtrRangeToFunction"/>
-    <keyword type="function" name="xmlXPtrWrapLocationSet ()" link="libxml2-xpointer.html#xmlXPtrWrapLocationSet"/>
   </functions>
 </book>
diff --git a/doc/libxml2-api.xml b/doc/libxml2-api.xml
index cd6294c..adc6e9e 100644
--- a/doc/libxml2-api.xml
+++ b/doc/libxml2-api.xml
@@ -13670,7 +13670,7 @@
       <arg name='len' type='int' info='@content length'/>
     </function>
     <function name='xmlTextMerge' file='tree' module='tree'>
-      <info>Merge the second text node into the first. The second node is unlinked and freed.</info>
+      <info>Merge the second text node into the first. If @first is NULL, @second is returned. Otherwise, the second node is unlinked and freed.</info>
       <return type='xmlNodePtr' info='the first text node augmented or NULL in case of error.'/>
       <arg name='first' type='xmlNodePtr' info='the first text node'/>
       <arg name='second' type='xmlNodePtr' info='the second text node being merged'/>
diff --git a/doc/xmllint.1 b/doc/xmllint.1
index 2e69cff..267ff15 100644
--- a/doc/xmllint.1
+++ b/doc/xmllint.1
@@ -2,12 +2,12 @@
 .\"     Title: xmllint
 .\"    Author: John Fleck <jfleck@inkstain.net>
 .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
-.\"      Date: 12/26/2024
+.\"      Date: 03/27/2025
 .\"    Manual: xmllint Manual
 .\"    Source: libxml2
 .\"  Language: English
 .\"
-.TH "XMLLINT" "1" "12/26/2024" "libxml2" "xmllint Manual"
+.TH "XMLLINT" "1" "03/27/2025" "libxml2" "xmllint Manual"
 .\" -----------------------------------------------------------------
 .\" * Define some portability stuff
 .\" -----------------------------------------------------------------
@@ -147,6 +147,8 @@
 Reformat and reindent the output\&. The
 \fBXMLLINT_INDENT\fR
 environment variable controls the indentation\&. The default value is two spaces " ")\&.
+.sp
+Especially in the absence of a DTD, this feature has never worked reliably and is fundamentally broken\&.
 .RE
 .PP
 \fB\-\-html\fR
diff --git a/doc/xmllint.html b/doc/xmllint.html
index f106ddf..d15528a 100644
--- a/doc/xmllint.html
+++ b/doc/xmllint.html
@@ -36,6 +36,9 @@
                     Reformat and reindent the output. The <code class="envar">XMLLINT_INDENT</code>
                     environment variable controls the indentation. The default value is two
                     spaces "  ").
+                </p><p>
+                    Especially in the absence of a DTD, this feature has never worked reliably
+                    and is fundamentally broken.
                 </p></dd><dt><span class="term"><code class="option">--html</code></span></dt><dd><p>Use the <acronym class="acronym">HTML</acronym> parser.</p></dd><dt><span class="term"><code class="option">--htmlout</code></span></dt><dd><p>
                     Output results as an <acronym class="acronym">HTML</acronym> file. This
                     causes <span class="command"><strong>xmllint</strong></span> to output the necessary <acronym class="acronym">HTML</acronym>