[libxml2] Rebuild documentation



commit 6cdaa192cda715b87149518c1c741a56aac6c920
Author: Nick Wellnhofer <wellnhofer aevum de>
Date:   Wed Aug 24 14:34:04 2022 +0200

    Rebuild documentation

 doc/devhelp/general.html                  |   55 +-
 doc/devhelp/index.html                    |   98 +-
 doc/devhelp/libxml2-HTMLparser.html       | 1606 ++++++--
 doc/devhelp/libxml2-HTMLtree.html         |  743 +++-
 doc/devhelp/libxml2-SAX.html              | 1155 ++++--
 doc/devhelp/libxml2-SAX2.html             | 1149 ++++--
 doc/devhelp/libxml2-c14n.html             |  328 +-
 doc/devhelp/libxml2-catalog.html          | 1075 ++++--
 doc/devhelp/libxml2-chvalid.html          |  732 +++-
 doc/devhelp/libxml2-debugXML.html         | 1066 ++++--
 doc/devhelp/libxml2-dict.html             |  447 ++-
 doc/devhelp/libxml2-encoding.html         |  709 +++-
 doc/devhelp/libxml2-entities.html         |  614 +++-
 doc/devhelp/libxml2-globals.html          | 1221 ++++--
 doc/devhelp/libxml2-hash.html             | 1171 ++++--
 doc/devhelp/libxml2-list.html             |  908 ++++-
 doc/devhelp/libxml2-nanoftp.html          |  807 +++-
 doc/devhelp/libxml2-nanohttp.html         |  564 ++-
 doc/devhelp/libxml2-parser.html           | 3561 +++++++++++++++---
 doc/devhelp/libxml2-parserInternals.html  | 3100 +++++++++++++---
 doc/devhelp/libxml2-pattern.html          |  553 ++-
 doc/devhelp/libxml2-relaxng.html          |  918 ++++-
 doc/devhelp/libxml2-schemasInternals.html | 1243 +++++--
 doc/devhelp/libxml2-schematron.html       |  480 ++-
 doc/devhelp/libxml2-threads.html          |  423 ++-
 doc/devhelp/libxml2-tree.html             | 5717 +++++++++++++++++++++++------
 doc/devhelp/libxml2-uri.html              |  521 ++-
 doc/devhelp/libxml2-valid.html            | 2513 ++++++++++---
 doc/devhelp/libxml2-xinclude.html         |  521 ++-
 doc/devhelp/libxml2-xlink.html            |  466 ++-
 doc/devhelp/libxml2-xmlIO.html            | 1734 +++++++--
 doc/devhelp/libxml2-xmlautomata.html      |  836 ++++-
 doc/devhelp/libxml2-xmlerror.html         |  553 ++-
 doc/devhelp/libxml2-xmlexports.html       |  137 +-
 doc/devhelp/libxml2-xmlmemory.html        |  761 +++-
 doc/devhelp/libxml2-xmlmodule.html        |  234 +-
 doc/devhelp/libxml2-xmlreader.html        | 2703 +++++++++++---
 doc/devhelp/libxml2-xmlregexp.html        | 1172 ++++--
 doc/devhelp/libxml2-xmlsave.html          |  441 ++-
 doc/devhelp/libxml2-xmlschemas.html       | 1080 ++++--
 doc/devhelp/libxml2-xmlschemastypes.html  | 1119 ++++--
 doc/devhelp/libxml2-xmlstring.html        | 1052 ++++--
 doc/devhelp/libxml2-xmlunicode.html       | 4249 +++++++++++++++++----
 doc/devhelp/libxml2-xmlversion.html       |  626 ++--
 doc/devhelp/libxml2-xmlwriter.html        | 3009 ++++++++++++---
 doc/devhelp/libxml2-xpath.html            | 1631 ++++++--
 doc/devhelp/libxml2-xpathInternals.html   | 3873 +++++++++++++++----
 doc/devhelp/libxml2-xpointer.html         |  700 +++-
 doc/examples/examples.xml                 |   56 +-
 doc/examples/index.html                   |   52 +-
 50 files changed, 48158 insertions(+), 12324 deletions(-)
---
diff --git a/doc/devhelp/general.html b/doc/devhelp/general.html
index a7403bdc..8b7ae7ba 100644
--- a/doc/devhelp/general.html
+++ b/doc/devhelp/general.html
@@ -1,38 +1,21 @@
-<?xml version="1.0" encoding="UTF-8"?>
 <html>
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
-    <title>libxml2: </title>
-    <meta name="generator" content="Libxml2 devhelp stylesheet"/>
-    <link rel="start" href="index.html" title="libxml2 Reference Manual"/>
-    <link rel="up" href="index.html" title="libxml2 Reference Manual"/>
-    <link rel="stylesheet" href="style.css" type="text/css"/>
-    <link rel="chapter" href="index.html" title="libxml2 Reference Manual"/>
-  </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="u" href="index.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-HTMLparser.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">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="l
 ibxml2-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 hr
 ef="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-xmlr
 egexp.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>
-  </body>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>libxml2: </title>
+<meta name="generator" content="Libxml2 devhelp stylesheet">
+<link rel="start" href="index.html" title="libxml2 Reference Manual">
+<link rel="up" href="index.html" title="libxml2 Reference Manual">
+<link rel="stylesheet" href="style.css" type="text/css">
+<link rel="chapter" href="index.html" title="libxml2 Reference Manual">
+</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="u" href="index.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-HTMLparser.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">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 exp
 ressions 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>
+</body>
 </html>
diff --git a/doc/devhelp/index.html b/doc/devhelp/index.html
index ae6c49ee..66c4ff85 100644
--- a/doc/devhelp/index.html
+++ b/doc/devhelp/index.html
@@ -1,31 +1,18 @@
-<?xml version="1.0" encoding="UTF-8"?>
 <html>
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
-    <title>libxml2 Reference Manual</title>
-    <meta name="generator" content="Libxml2 devhelp stylesheet"/>
-    <link rel="stylesheet" href="style.css" type="text/css"/>
-  </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="h" href="index.html">
-            <img src="home.png" width="24" height="24" border="0" alt="Home"/>
-          </a>
-        </td>
-        <td>
-          <a accesskey="n" href="general.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">libxml2 Reference Manual</span>
-    </h2>
-    <p>Libxml2 is the XML C parser and toolkit developed for the Gnome project
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>libxml2 Reference Manual</title>
+<meta name="generator" content="Libxml2 devhelp stylesheet">
+<link rel="stylesheet" href="style.css" type="text/css">
+</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="h" href="index.html"><img src="home.png" width="24" height="24" border="0" 
alt="Home"></a></td>
+<td><a accesskey="n" href="general.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">libxml2 Reference Manual</span></h2>
+<p>Libxml2 is the XML C parser and toolkit developed for the Gnome project
 (but usable outside of the Gnome platform), it is free software available
 under the <a href="http://www.opensource.org/licenses/mit-license.html";>MIT
 License</a>. XML itself is a metalanguage to design markup languages, i.e.
@@ -33,30 +20,43 @@ text language where semantic and structure are added to the content using
 extra "markup" information enclosed between angle brackets. HTML is the most
 well-known markup language. Though the library is written in C, a variety of
 language bindings make it available in other environments.</p>
-    <p>Libxml2 implements a number of existing standards related to markup
+<p>Libxml2 implements a number of existing standards related to markup
 languages:</p>
-    <ul>
-      <li>the XML standard: <a href="http://www.w3.org/TR/REC-xml";>http://www.w3.org/TR/REC-xml</a></li>
-      <li>Namespaces in XML: <a 
href="http://www.w3.org/TR/REC-xml-names/";>http://www.w3.org/TR/REC-xml-names/</a></li>
-      <li>XML Base: <a href="http://www.w3.org/TR/xmlbase/";>http://www.w3.org/TR/xmlbase/</a></li>
-      <li><a href="http://www.cis.ohio-state.edu/rfc/rfc2396.txt";>RFC 2396</a> :
-Uniform Resource Identifiers <a 
href="http://www.ietf.org/rfc/rfc2396.txt";>http://www.ietf.org/rfc/rfc2396.txt</a></li>
-      <li>XML Path Language (XPath) 1.0: <a 
href="http://www.w3.org/TR/xpath";>http://www.w3.org/TR/xpath</a></li>
-      <li>HTML4 parser: <a href="http://www.w3.org/TR/html401/";>http://www.w3.org/TR/html401/</a></li>
-      <li>XML Pointer Language (XPointer) Version 1.0: <a 
href="http://www.w3.org/TR/xptr";>http://www.w3.org/TR/xptr</a></li>
-      <li>XML Inclusions (XInclude) Version 1.0: <a 
href="http://www.w3.org/TR/xinclude/";>http://www.w3.org/TR/xinclude/</a></li>
-      <li>ISO-8859-x encodings, as well as <a 
href="http://www.cis.ohio-state.edu/rfc/rfc2044.txt";>rfc2044</a> [UTF-8]
+<ul>
+<li>the XML standard: <a href="http://www.w3.org/TR/REC-xml";>http://www.w3.org/TR/REC-xml</a>
+</li>
+<li>Namespaces in XML: <a href="http://www.w3.org/TR/REC-xml-names/";>http://www.w3.org/TR/REC-xml-names/</a>
+</li>
+<li>XML Base: <a href="http://www.w3.org/TR/xmlbase/";>http://www.w3.org/TR/xmlbase/</a>
+</li>
+<li>
+<a href="http://www.cis.ohio-state.edu/rfc/rfc2396.txt";>RFC 2396</a> :
+Uniform Resource Identifiers <a 
href="http://www.ietf.org/rfc/rfc2396.txt";>http://www.ietf.org/rfc/rfc2396.txt</a>
+</li>
+<li>XML Path Language (XPath) 1.0: <a href="http://www.w3.org/TR/xpath";>http://www.w3.org/TR/xpath</a>
+</li>
+<li>HTML4 parser: <a href="http://www.w3.org/TR/html401/";>http://www.w3.org/TR/html401/</a>
+</li>
+<li>XML Pointer Language (XPointer) Version 1.0: <a 
href="http://www.w3.org/TR/xptr";>http://www.w3.org/TR/xptr</a>
+</li>
+<li>XML Inclusions (XInclude) Version 1.0: <a 
href="http://www.w3.org/TR/xinclude/";>http://www.w3.org/TR/xinclude/</a>
+</li>
+<li>ISO-8859-x encodings, as well as <a href="http://www.cis.ohio-state.edu/rfc/rfc2044.txt";>rfc2044</a> 
[UTF-8]
 and <a href="http://www.cis.ohio-state.edu/rfc/rfc2781.txt";>rfc2781</a>
 [UTF-16] Unicode encodings, and more if using iconv support</li>
-      <li>part of SGML Open Technical Resolution TR9401:1997</li>
-      <li>XML Catalogs Working Draft 06 August 2001: <a 
href="http://www.oasis-open.org/committees/entity/spec-2001-08-06.html";>http://www.oasis-open.org/committees/entity/spec-2001-08-06.html</a></li>
-      <li>Canonical XML Version 1.0: <a 
href="http://www.w3.org/TR/xml-c14n";>http://www.w3.org/TR/xml-c14n</a>
-and the Exclusive XML Canonicalization CR draft <a 
href="http://www.w3.org/TR/xml-exc-c14n";>http://www.w3.org/TR/xml-exc-c14n</a></li>
-      <li>Relax NG, ISO/IEC 19757-2:2003, <a 
href="http://www.oasis-open.org/committees/relax-ng/spec-20011203.html";>http://www.oasis-open.org/committees/relax-ng/spec-20011203.html</a></li>
-      <li>W3C XML Schemas Part 2: Datatypes <a 
href="http://www.w3.org/TR/2001/REC-xmlschema-2-20010502/";>REC 02 May
-2001</a></li>
-      <li>W3C <a href="http://www.w3.org/TR/xml-id/";>xml:id</a> Working Draft 7
+<li>part of SGML Open Technical Resolution TR9401:1997</li>
+<li>XML Catalogs Working Draft 06 August 2001: <a 
href="http://www.oasis-open.org/committees/entity/spec-2001-08-06.html";>http://www.oasis-open.org/committees/entity/spec-2001-08-06.html</a>
+</li>
+<li>Canonical XML Version 1.0: <a href="http://www.w3.org/TR/xml-c14n";>http://www.w3.org/TR/xml-c14n</a>
+and the Exclusive XML Canonicalization CR draft <a 
href="http://www.w3.org/TR/xml-exc-c14n";>http://www.w3.org/TR/xml-exc-c14n</a>
+</li>
+<li>Relax NG, ISO/IEC 19757-2:2003, <a 
href="http://www.oasis-open.org/committees/relax-ng/spec-20011203.html";>http://www.oasis-open.org/committees/relax-ng/spec-20011203.html</a>
+</li>
+<li>W3C XML Schemas Part 2: Datatypes <a href="http://www.w3.org/TR/2001/REC-xmlschema-2-20010502/";>REC 02 
May
+2001</a>
+</li>
+<li>W3C <a href="http://www.w3.org/TR/xml-id/";>xml:id</a> Working Draft 7
 April 2004</li>
-    </ul>
-  </body>
+</ul>
+</body>
 </html>
diff --git a/doc/devhelp/libxml2-HTMLparser.html b/doc/devhelp/libxml2-HTMLparser.html
index d128cbe0..60a3e23f 100644
--- a/doc/devhelp/libxml2-HTMLparser.html
+++ b/doc/devhelp/libxml2-HTMLparser.html
@@ -1,44 +1,27 @@
-<?xml version="1.0" encoding="UTF-8"?>
 <html>
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
-    <title>HTMLparser: interface for an HTML 4.0 non-verifying parser</title>
-    <meta name="generator" content="Libxml2 devhelp stylesheet"/>
-    <link rel="start" href="index.html" title="libxml2 Reference Manual"/>
-    <link rel="up" href="general.html" title="API"/>
-    <link rel="stylesheet" href="style.css" type="text/css"/>
-    <link rel="chapter" href="general.html" title="API"/>
-  </head>
-  <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-    <table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
-      <tr valign="middle">
-        <td>
-          <a accesskey="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-HTMLtree.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">HTMLparser</span>
-    </h2>
-    <p>HTMLparser - interface for an HTML 4.0 non-verifying parser</p>
-    <p>this module implements an HTML 4.0 non-verifying parser with API compatible with the XML parser ones. 
It should be able to parse "real world" HTML, even if severely broken from a specification point of view. </p>
-    <p>Author(s): Daniel Veillard </p>
-    <div class="refsynopsisdiv">
-      <h2>Synopsis</h2>
-      <pre class="synopsis">#define <a href="#htmlDefaultSubelement">htmlDefaultSubelement</a>(elt);
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>HTMLparser: interface for an HTML 4.0 non-verifying parser</title>
+<meta name="generator" content="Libxml2 devhelp stylesheet">
+<link rel="start" href="index.html" title="libxml2 Reference Manual">
+<link rel="up" href="general.html" title="API">
+<link rel="stylesheet" href="style.css" type="text/css">
+<link rel="chapter" href="general.html" title="API">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr 
valign="middle">
+<td><a accesskey="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-HTMLtree.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">HTMLparser</span></h2>
+<p>HTMLparser - interface for an HTML 4.0 non-verifying parser</p>
+<p>this module implements an HTML 4.0 non-verifying parser with API compatible with the XML parser ones. It 
should be able to parse "real world" HTML, even if severely broken from a specification point of view. </p>
+<p>Author(s): Daniel Veillard </p>
+<div class="refsynopsisdiv">
+<h2>Synopsis</h2>
+<pre class="synopsis">#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>;
@@ -56,70 +39,114 @@ typedef enum <a href="#htmlParserOption">htmlParserOption</a>;
 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="#htmlCreateMemoryParserCtxt">htmlCreateMemoryParserCtxt</a>    (const char * buffer, <br/>              
                                        int size);
-<a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a>      <a 
href="#htmlCreatePushParserCtxt">htmlCreatePushParserCtxt</a>        (<a 
href="libxml2-HTMLparser.html#htmlSAXHandlerPtr">htmlSAXHandlerPtr</a> sax, <br/>                             
                       void * user_data, <br/>                                                         const 
char * chunk, <br/>                                                       int size, <br/>                     
                                    const char * filename, <br/>                                              
      <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc);
-<a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>    <a 
href="#htmlCtxtReadDoc">htmlCtxtReadDoc</a>          (<a 
href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt, <br/>                            
       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur, <br/>                                
         const char * URL, <br/>                                         const char * encoding, <br/>         
                           int options);
-<a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>    <a href="#htmlCtxtReadFd">htmlCtxtReadFd</a>  
          (<a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt, <br/>              
                     int fd, <br/>                                   const char * URL, <br/>                  
                       const char * encoding, <br/>                                    int options);
-<a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>    <a 
href="#htmlCtxtReadFile">htmlCtxtReadFile</a>        (<a 
href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt, <br/>                            
       const char * filename, <br/>                                    const char * encoding, <br/>           
                         int options);
-<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);
+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="#htmlCreateMemoryParserCtxt">htmlCreateMemoryParserCtxt</a>    (const char * buffer, <br>               
                                        int size);
+<a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a>      <a 
href="#htmlCreatePushParserCtxt">htmlCreatePushParserCtxt</a>        (<a 
href="libxml2-HTMLparser.html#htmlSAXHandlerPtr">htmlSAXHandlerPtr</a> sax, <br>                              
                       void * user_data, <br>                                                  const char * 
chunk, <br>                                                        int size, <br>                             
                     const char * filename, <br>                                                     <a 
href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc);
+<a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>    <a 
href="#htmlCtxtReadDoc">htmlCtxtReadDoc</a>          (<a 
href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt, <br>                             
       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur, <br>                                 
 const char * URL, <br>                                  const char * encoding, <br>                          
           int options);
+<a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>    <a href="#htmlCtxtReadFd">htmlCtxtReadFd</a>  
          (<a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt, <br>               
                     int fd, <br>                                    const char * URL, <br>                   
               const char * encoding, <br>                                     int options);
+<a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>    <a 
href="#htmlCtxtReadFile">htmlCtxtReadFile</a>        (<a 
href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt, <br>                             
       const char * filename, <br>                                     const char * encoding, <br>            
                         int options);
+<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="#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);
-int    <a href="#htmlEncodeEntities">htmlEncodeEntities</a>            (unsigned char * out, <br/>           
                           int * outlen, <br/>                                     const unsigned char * in, 
<br/>                                         int * inlen, <br/>                                      int 
quoteChar);
+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);
+int    <a href="#htmlEncodeEntities">htmlEncodeEntities</a>            (unsigned char * out, <br>            
                           int * outlen, <br>                                      const unsigned char * in, 
<br>                                  int * inlen, <br>                                       int quoteChar);
 const <a href="libxml2-HTMLparser.html#htmlEntityDesc">htmlEntityDesc</a> *    <a 
href="#htmlEntityLookup">htmlEntityLookup</a>        (const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
 const <a href="libxml2-HTMLparser.html#htmlEntityDesc">htmlEntityDesc</a> *    <a 
href="#htmlEntityValueLookup">htmlEntityValueLookup</a>      (unsigned int value);
 void   <a href="#htmlFreeParserCtxt">htmlFreeParserCtxt</a>            (<a 
href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt);
 int    <a href="#htmlHandleOmittedElem">htmlHandleOmittedElem</a>              (int val);
-int    <a href="#htmlIsAutoClosed">htmlIsAutoClosed</a>                (<a 
href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a> doc, <br/>                                  <a 
href="libxml2-HTMLparser.html#htmlNodePtr">htmlNodePtr</a> elem);
+int    <a href="#htmlIsAutoClosed">htmlIsAutoClosed</a>                (<a 
href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a> doc, <br>                                   <a 
href="libxml2-HTMLparser.html#htmlNodePtr">htmlNodePtr</a> elem);
 int    <a href="#htmlIsScriptAttribute">htmlIsScriptAttribute</a>              (const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
 <a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a>      <a 
href="#htmlNewParserCtxt">htmlNewParserCtxt</a>      (void);
-<a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a>      <a 
href="#htmlNewSAXParserCtxt">htmlNewSAXParserCtxt</a>        (<a 
href="libxml2-HTMLparser.html#htmlSAXHandlerPtr">htmlSAXHandlerPtr</a> sax, <br/>                             
               void * userData);
-<a href="libxml2-HTMLparser.html#htmlStatus">htmlStatus</a>    <a href="#htmlNodeStatus">htmlNodeStatus</a>  
          (const <a href="libxml2-HTMLparser.html#htmlNodePtr">htmlNodePtr</a> node, <br/>                    
                     int legacy);
+<a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a>      <a 
href="#htmlNewSAXParserCtxt">htmlNewSAXParserCtxt</a>        (<a 
href="libxml2-HTMLparser.html#htmlSAXHandlerPtr">htmlSAXHandlerPtr</a> sax, <br>                              
               void * userData);
+<a href="libxml2-HTMLparser.html#htmlStatus">htmlStatus</a>    <a href="#htmlNodeStatus">htmlNodeStatus</a>  
          (const <a href="libxml2-HTMLparser.html#htmlNodePtr">htmlNodePtr</a> node, <br>                     
             int legacy);
 int    <a href="#htmlParseCharRef">htmlParseCharRef</a>                (<a 
href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt);
-int    <a href="#htmlParseChunk">htmlParseChunk</a>                    (<a 
href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt, <br/>                            
       const char * chunk, <br/>                                       int size, <br/>                        
                 int terminate);
-<a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>    <a href="#htmlParseDoc">htmlParseDoc</a>      
          (const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur, <br/>                            
             const char * encoding);
+int    <a href="#htmlParseChunk">htmlParseChunk</a>                    (<a 
href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt, <br>                             
       const char * chunk, <br>                                        int size, <br>                         
         int terminate);
+<a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>    <a href="#htmlParseDoc">htmlParseDoc</a>      
          (const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur, <br>                             
     const char * encoding);
 int    <a href="#htmlParseDocument">htmlParseDocument</a>              (<a 
href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt);
 void   <a href="#htmlParseElement">htmlParseElement</a>                (<a 
href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt);
-const <a href="libxml2-HTMLparser.html#htmlEntityDesc">htmlEntityDesc</a> *    <a 
href="#htmlParseEntityRef">htmlParseEntityRef</a>    (<a 
href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt, <br/>                            
               const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** str);
-<a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>    <a href="#htmlParseFile">htmlParseFile</a>    
          (const char * filename, <br/>                                    const char * encoding);
-<a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>    <a href="#htmlReadDoc">htmlReadDoc</a>        
  (const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur, <br/>                                    
     const char * URL, <br/>                                         const char * encoding, <br/>             
                       int options);
-<a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>    <a href="#htmlReadFd">htmlReadFd</a>          
  (int fd, <br/>                                   const char * URL, <br/>                                    
     const char * encoding, <br/>                                    int options);
-<a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>    <a href="#htmlReadFile">htmlReadFile</a>      
          (const char * filename, <br/>                                    const char * encoding, <br/>       
                             int options);
-<a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>    <a href="#htmlReadIO">htmlReadIO</a>          
  (<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="#htmlReadMemory">htmlReadMemory</a>  
          (const char * buffer, <br/>                                      int size, <br/>                    
                     const char * URL, <br/>                                         const char * encoding, 
<br/>                                    int options);
-<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#htmlEntityDesc">htmlEntityDesc</a> *    <a 
href="#htmlParseEntityRef">htmlParseEntityRef</a>    (<a 
href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt, <br>                             
               const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** str);
+<a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>    <a href="#htmlParseFile">htmlParseFile</a>    
          (const char * filename, <br>                                     const char * encoding);
+<a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>    <a href="#htmlReadDoc">htmlReadDoc</a>        
  (const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur, <br>                                  
const char * URL, <br>                                  const char * encoding, <br>                           
          int options);
+<a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>    <a href="#htmlReadFd">htmlReadFd</a>          
  (int fd, <br>                                    const char * URL, <br>                                  
const char * encoding, <br>                                     int options);
+<a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>    <a href="#htmlReadFile">htmlReadFile</a>      
          (const char * filename, <br>                                     const char * encoding, <br>        
                             int options);
+<a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>    <a href="#htmlReadIO">htmlReadIO</a>          
  (<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="#htmlReadMemory">htmlReadMemory</a>  
          (const char * buffer, <br>                                       int size, <br>                     
             const char * URL, <br>                                  const char * encoding, <br>              
                       int options);
+<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);
 </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="htmlDefaultSubelement">Macro 
</a>htmlDefaultSubelement</h3><pre class="programlisting">#define <a 
href="#htmlDefaultSubelement">htmlDefaultSubelement</a>(elt);
-</pre><p>Returns the default subelement for this element</p><div class="variablelist"><table border="0"><col 
align="left"/><tbody><tr><td><span class="term"><i><tt>elt</tt></i>:</span></td><td>HTML 
element</td></tr></tbody></table></div>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="htmlElementAllowedHereDesc">Macro 
</a>htmlElementAllowedHereDesc</h3><pre class="programlisting">#define <a 
href="#htmlElementAllowedHereDesc">htmlElementAllowedHereDesc</a>(parent, elt);
-</pre><p>Checks whether an HTML element description may be a direct child of the specified element. Returns 
1 if allowed; 0 otherwise.</p><div class="variablelist"><table border="0"><col 
align="left"/><tbody><tr><td><span class="term"><i><tt>parent</tt></i>:</span></td><td>HTML parent 
element</td></tr><tr><td><span class="term"><i><tt>elt</tt></i>:</span></td><td>HTML 
element</td></tr></tbody></table></div>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="htmlRequiredAttrs">Macro </a>htmlRequiredAttrs</h3><pre 
class="programlisting">#define <a href="#htmlRequiredAttrs">htmlRequiredAttrs</a>(elt);
-</pre><p>Returns the attributes required for the specified element.</p><div class="variablelist"><table 
border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>elt</tt></i>:</span></td><td>HTML 
element</td></tr></tbody></table></div>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="htmlDocPtr">Typedef </a>htmlDocPtr</h3><pre 
class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> htmlDocPtr;
-</pre><p/>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="htmlElemDesc">Structure </a>htmlElemDesc</h3><pre 
class="programlisting">struct _htmlElemDesc {
+</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="htmlDefaultSubelement">Macro </a>htmlDefaultSubelement</h3>
+<pre class="programlisting">#define <a href="#htmlDefaultSubelement">htmlDefaultSubelement</a>(elt);
+</pre>
+<p>Returns the default subelement for this element</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>elt</tt></i>:</span></td>
+<td>HTML element</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="htmlElementAllowedHereDesc">Macro </a>htmlElementAllowedHereDesc</h3>
+<pre class="programlisting">#define <a 
href="#htmlElementAllowedHereDesc">htmlElementAllowedHereDesc</a>(parent, elt);
+</pre>
+<p>Checks whether an HTML element description may be a direct child of the specified element. Returns 1 if 
allowed; 0 otherwise.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>parent</tt></i>:</span></td>
+<td>HTML parent element</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>elt</tt></i>:</span></td>
+<td>HTML element</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="htmlRequiredAttrs">Macro </a>htmlRequiredAttrs</h3>
+<pre class="programlisting">#define <a href="#htmlRequiredAttrs">htmlRequiredAttrs</a>(elt);
+</pre>
+<p>Returns the attributes required for the specified element.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>elt</tt></i>:</span></td>
+<td>HTML element</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="htmlDocPtr">Typedef </a>htmlDocPtr</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> htmlDocPtr;
+</pre>
+<p></p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<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
@@ -135,50 +162,90 @@ const <a href="libxml2-HTMLparser.html#htmlElemDesc">htmlElemDesc</a> *   <a href=
     const char **      attrs_depr      : Additional deprecated attributes
     const char **      attrs_req       : Required attributes
 } htmlElemDesc;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="htmlElemDescPtr">Typedef </a>htmlElemDescPtr</h3><pre 
class="programlisting"><a href="libxml2-HTMLparser.html#htmlElemDesc">htmlElemDesc</a> * htmlElemDescPtr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="htmlElemDescPtr">Typedef </a>htmlElemDescPtr</h3>
+<pre class="programlisting"><a href="libxml2-HTMLparser.html#htmlElemDesc">htmlElemDesc</a> * 
htmlElemDescPtr;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="htmlEntityDesc">Structure </a>htmlEntityDesc</h3><pre 
class="programlisting">struct _htmlEntityDesc {
+<hr>
+<div class="refsect2" lang="en">
+<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
 } htmlEntityDesc;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="htmlEntityDescPtr">Typedef 
</a>htmlEntityDescPtr</h3><pre class="programlisting"><a 
href="libxml2-HTMLparser.html#htmlEntityDesc">htmlEntityDesc</a> * htmlEntityDescPtr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="htmlEntityDescPtr">Typedef </a>htmlEntityDescPtr</h3>
+<pre class="programlisting"><a href="libxml2-HTMLparser.html#htmlEntityDesc">htmlEntityDesc</a> * 
htmlEntityDescPtr;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="htmlNodePtr">Typedef </a>htmlNodePtr</h3><pre 
class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> htmlNodePtr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="htmlNodePtr">Typedef </a>htmlNodePtr</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> htmlNodePtr;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="htmlParserCtxt">Typedef </a>htmlParserCtxt</h3><pre 
class="programlisting"><a href="libxml2-tree.html#xmlParserCtxt">xmlParserCtxt</a> htmlParserCtxt;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="htmlParserCtxt">Typedef </a>htmlParserCtxt</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlParserCtxt">xmlParserCtxt</a> htmlParserCtxt;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="htmlParserCtxtPtr">Typedef 
</a>htmlParserCtxtPtr</h3><pre class="programlisting"><a 
href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> htmlParserCtxtPtr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="htmlParserCtxtPtr">Typedef </a>htmlParserCtxtPtr</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> 
htmlParserCtxtPtr;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="htmlParserInput">Typedef </a>htmlParserInput</h3><pre 
class="programlisting"><a href="libxml2-tree.html#xmlParserInput">xmlParserInput</a> htmlParserInput;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="htmlParserInput">Typedef </a>htmlParserInput</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlParserInput">xmlParserInput</a> htmlParserInput;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="htmlParserInputPtr">Typedef 
</a>htmlParserInputPtr</h3><pre class="programlisting"><a 
href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> htmlParserInputPtr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="htmlParserInputPtr">Typedef </a>htmlParserInputPtr</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> 
htmlParserInputPtr;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="htmlParserNodeInfo">Typedef 
</a>htmlParserNodeInfo</h3><pre class="programlisting"><a 
href="libxml2-parser.html#xmlParserNodeInfo">xmlParserNodeInfo</a> htmlParserNodeInfo;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="htmlParserNodeInfo">Typedef </a>htmlParserNodeInfo</h3>
+<pre class="programlisting"><a href="libxml2-parser.html#xmlParserNodeInfo">xmlParserNodeInfo</a> 
htmlParserNodeInfo;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="htmlParserOption">Enum </a>htmlParserOption</h3><pre 
class="programlisting">enum <a href="#htmlParserOption">htmlParserOption</a> {
+<hr>
+<div class="refsect2" lang="en">
+<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_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 */
@@ -190,184 +257,1137 @@ const <a href="libxml2-HTMLparser.html#htmlElemDesc">htmlElemDesc</a> *        <a 
href=
     <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 */
 };
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="htmlSAXHandler">Typedef </a>htmlSAXHandler</h3><pre 
class="programlisting"><a href="libxml2-tree.html#xmlSAXHandler">xmlSAXHandler</a> htmlSAXHandler;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="htmlSAXHandler">Typedef </a>htmlSAXHandler</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlSAXHandler">xmlSAXHandler</a> htmlSAXHandler;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="htmlSAXHandlerPtr">Typedef 
</a>htmlSAXHandlerPtr</h3><pre class="programlisting"><a 
href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> htmlSAXHandlerPtr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="htmlSAXHandlerPtr">Typedef </a>htmlSAXHandlerPtr</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> 
htmlSAXHandlerPtr;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="htmlStatus">Enum </a>htmlStatus</h3><pre 
class="programlisting">enum <a href="#htmlStatus">htmlStatus</a> {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="htmlStatus">Enum </a>htmlStatus</h3>
+<pre class="programlisting">enum <a href="#htmlStatus">htmlStatus</a> {
     <a name="HTML_NA">HTML_NA</a> = 0 /* something we don't check at all */
     <a name="HTML_INVALID">HTML_INVALID</a> = 1
     <a name="HTML_DEPRECATED">HTML_DEPRECATED</a> = 2
     <a name="HTML_VALID">HTML_VALID</a> = 4
     <a name="HTML_REQUIRED">HTML_REQUIRED</a> = 12 /*  VALID bit set so ( &amp; HTML_VALID ) is TRUE */
 };
-</pre><p/>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="UTF8ToHtml"/>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"/>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>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>elt</tt></i>:</span></td><td>HTML element</td></tr><tr><td><span 
class="term"><i><tt>attr</tt></i>:</span></td><td>HTML <a 
href="libxml2-SAX.html#attribute">attribute</a></td></tr><tr><td><span 
class="term"><i><tt>legacy</tt></i>:</span></td><td>whether to allow deprecated 
attributes</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>one of HTML_REQUIRED, 
HTML_VALID, HTML_DEPRECATED, <a 
href="libxml2-HTMLparser.html#HTML_INVALID">HTML_INVALID</a></td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="htmlAutoCloseTag"/>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>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>doc</tt></i>:</span></td><td>the HTML document</td></tr><tr><td><span 
class="term"><i><tt>name</tt></i>:</span></td><td>The tag name</td></tr><tr><td><span 
class="term"><i><tt>elem</tt></i>:</span></td><td>the HTML element</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if autoclose, 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="htmlCreateMemoryParserCtxt"/>htmlCreateMemoryParserCtxt 
()</h3><pre class="programlisting"><a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a>  
    htmlCreateMemoryParserCtxt      (const char * buffer, <br/>                                               
       int size)<br/>
-</pre><p>Create a parser context for an HTML in-memory document.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>buffer</tt></i>:</span></td><td>a pointer to a char array</td></tr><tr><td><span 
class="term"><i><tt>size</tt></i>:</span></td><td>the size of the array</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the new parser context or 
NULL</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="htmlCreatePushParserCtxt"/>htmlCreatePushParserCtxt 
()</h3><pre class="programlisting"><a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a>  
htmlCreatePushParserCtxt        (<a href="libxml2-HTMLparser.html#htmlSAXHandlerPtr">htmlSAXHandlerPtr</a> 
sax, <br/>                                                    void * user_data, <br/>                         
                                const char * chunk, <br/>                                                     
  int size, <br/>                                                         const char * filename, <br/>        
                                            <a 
href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc)<br/>
-</pre><p>Create a parser context for using the HTML parser in push mode The value of @filename is used for 
fetching external entities and error/warning reports.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>sax</tt></i>:</span></td><td>a SAX handler</td></tr><tr><td><span 
class="term"><i><tt>user_data</tt></i>:</span></td><td>The user data returned on SAX 
callbacks</td></tr><tr><td><span class="term"><i><tt>chunk</tt></i>:</span></td><td>a pointer to an array of 
chars</td></tr><tr><td><span class="term"><i><tt>size</tt></i>:</span></td><td>number of chars in the 
array</td></tr><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>an optional file name or 
URI</td></tr><tr><td><span class="term"><i><tt>enc</tt></i>:</span></td><td>an optional 
encoding</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new parser context 
or NULL</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="htmlCtxtReadDoc"/>htmlCtxtReadDoc ()</h3><pre 
class="programlisting"><a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>  htmlCtxtReadDoc         
(<a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt, <br/>                        
           const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur, <br/>                            
             const char * URL, <br/>                                         const char * encoding, <br/>     
                               int options)<br/>
-</pre><p>parse an XML in-memory document and build a tree. This reuses the existing @ctxt parser context</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctxt</tt></i>:</span></td><td>an HTML parser context</td></tr><tr><td><span 
class="term"><i><tt>cur</tt></i>:</span></td><td>a pointer to a zero terminated string</td></tr><tr><td><span 
class="term"><i><tt>URL</tt></i>:</span></td><td>the base URL to use for the document</td></tr><tr><td><span 
class="term"><i><tt>encoding</tt></i>:</span></td><td>the document encoding, or NULL</td></tr><tr><td><span 
class="term"><i><tt>options</tt></i>:</span></td><td>a combination of 
htmlParserOption(s)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the resulting 
document tree</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="htmlCtxtReadFd"/>htmlCtxtReadFd ()</h3><pre 
class="programlisting"><a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>    htmlCtxtReadFd          
(<a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt, <br/>                        
           int fd, <br/>                                   const char * URL, <br/>                            
             const char * encoding, <br/>                                    int options)<br/>
-</pre><p>parse an XML from a file descriptor and build a tree. This reuses the existing @ctxt parser 
context</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctxt</tt></i>:</span></td><td>an HTML parser context</td></tr><tr><td><span 
class="term"><i><tt>fd</tt></i>:</span></td><td>an open file descriptor</td></tr><tr><td><span 
class="term"><i><tt>URL</tt></i>:</span></td><td>the base URL to use for the document</td></tr><tr><td><span 
class="term"><i><tt>encoding</tt></i>:</span></td><td>the document encoding, or NULL</td></tr><tr><td><span 
class="term"><i><tt>options</tt></i>:</span></td><td>a combination of 
htmlParserOption(s)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the resulting 
document tree</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="htmlCtxtReadFile"/>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 XML file from the filesystem or the network. This reuses the existing @ctxt parser 
context</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctxt</tt></i>:</span></td><td>an HTML parser context</td></tr><tr><td><span 
class="term"><i><tt>filename</tt></i>:</span></td><td>a file or URL</td></tr><tr><td><span 
class="term"><i><tt>encoding</tt></i>:</span></td><td>the document encoding, or NULL</td></tr><tr><td><span 
class="term"><i><tt>options</tt></i>:</span></td><td>a combination of 
htmlParserOption(s)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the resulting 
document tree</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="htmlCtxtReadIO"/>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. This reuses the existing 
@ctxt parser context</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctxt</tt></i>:</span></td><td>an HTML parser context</td></tr><tr><td><span 
class="term"><i><tt>ioread</tt></i>:</span></td><td>an I/O read function</td></tr><tr><td><span 
class="term"><i><tt>ioclose</tt></i>:</span></td><td>an I/O close function</td></tr><tr><td><span 
class="term"><i><tt>ioctx</tt></i>:</span></td><td>an I/O handler</td></tr><tr><td><span 
class="term"><i><tt>URL</tt></i>:</span></td><td>the base URL to use for the document</td></tr><tr><td><span 
class="term"><i><tt>encoding</tt></i>:</span></td><td>the document encoding, or NULL</td></tr><tr><td><span 
class="term"><i><tt>options</tt></i>:</span></td><td>a combination of 
htmlParserOption(s)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the resulting 
document tree</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="htmlCtxtReadMemory"/>htmlCtxtReadMemory ()</h3><pre 
class="programlisting"><a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>    htmlCtxtReadMemory      
(<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)<br/>
-</pre><p>parse an XML in-memory document and build a tree. This reuses the existing @ctxt parser context</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctxt</tt></i>:</span></td><td>an HTML parser context</td></tr><tr><td><span 
class="term"><i><tt>buffer</tt></i>:</span></td><td>a pointer to a char array</td></tr><tr><td><span 
class="term"><i><tt>size</tt></i>:</span></td><td>the size of the array</td></tr><tr><td><span 
class="term"><i><tt>URL</tt></i>:</span></td><td>the base URL to use for the document</td></tr><tr><td><span 
class="term"><i><tt>encoding</tt></i>:</span></td><td>the document encoding, or NULL</td></tr><tr><td><span 
class="term"><i><tt>options</tt></i>:</span></td><td>a combination of 
htmlParserOption(s)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the resulting 
document tree</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="htmlCtxtReset"/>htmlCtxtReset ()</h3><pre 
class="programlisting">void     htmlCtxtReset                   (<a 
href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt)<br/>
-</pre><p>Reset a parser context</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctxt</tt></i>:</span></td><td>an HTML parser context</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="htmlCtxtUseOptions"/>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>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctxt</tt></i>:</span></td><td>an HTML parser context</td></tr><tr><td><span 
class="term"><i><tt>options</tt></i>:</span></td><td>a combination of 
htmlParserOption(s)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of 
success, the set of unknown or unimplemented options in case of error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="htmlElementAllowedHere"/>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>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>parent</tt></i>:</span></td><td>HTML parent element</td></tr><tr><td><span 
class="term"><i><tt>elt</tt></i>:</span></td><td>HTML element</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if allowed; 0 
otherwise.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="htmlElementStatusHere"/>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>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>parent</tt></i>:</span></td><td>HTML parent element</td></tr><tr><td><span 
class="term"><i><tt>elt</tt></i>:</span></td><td>HTML element</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>one of HTML_VALID, HTML_DEPRECATED, <a 
href="libxml2-HTMLparser.html#HTML_INVALID">HTML_INVALID</a></td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="htmlEncodeEntities"/>htmlEncodeEntities ()</h3><pre 
class="programlisting">int    htmlEncodeEntities              (unsigned char * out, <br/>                     
                 int * outlen, <br/>                                     const unsigned char * in, <br/>      
                                   int * inlen, <br/>                                      int quoteChar)<br/>
-</pre><p>Take a block of UTF-8 chars in and try to convert it to an ASCII plus HTML entities block of chars 
out.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>out</tt></i>:</span></td><td>a pointer to an array of bytes to store the 
result</td></tr><tr><td><span class="term"><i><tt>outlen</tt></i>:</span></td><td>the length of 
@out</td></tr><tr><td><span class="term"><i><tt>in</tt></i>:</span></td><td>a pointer to an array of UTF-8 
chars</td></tr><tr><td><span class="term"><i><tt>inlen</tt></i>:</span></td><td>the length of 
@in</td></tr><tr><td><span class="term"><i><tt>quoteChar</tt></i>:</span></td><td>the quote character to 
escape (' or ") or zero.</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if 
success, -2 if the transcoding fails, or -1 otherwise The value of @inlen after return is the number of 
octets consumed as the return value is positive, else unpredictable. The value of @outlen after return is the 
number of octets consumed.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="htmlEntityLookup"/>htmlEntityLookup ()</h3><pre 
class="programlisting">const <a href="libxml2-HTMLparser.html#htmlEntityDesc">htmlEntityDesc</a> *        
htmlEntityLookup        (const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br/>
-</pre><p>Lookup the given entity in EntitiesTable TODO: the linear scan is really ugly, an hash table is 
really needed.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>name</tt></i>:</span></td><td>the entity name</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the associated <a 
href="libxml2-HTMLparser.html#htmlEntityDescPtr">htmlEntityDescPtr</a> if found, NULL 
otherwise.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="htmlEntityValueLookup"/>htmlEntityValueLookup 
()</h3><pre class="programlisting">const <a href="libxml2-HTMLparser.html#htmlEntityDesc">htmlEntityDesc</a> 
*      htmlEntityValueLookup   (unsigned int value)<br/>
-</pre><p>Lookup the given entity in EntitiesTable TODO: the linear scan is really ugly, an hash table is 
really needed.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>value</tt></i>:</span></td><td>the entity's unicode value</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the associated <a 
href="libxml2-HTMLparser.html#htmlEntityDescPtr">htmlEntityDescPtr</a> if found, NULL 
otherwise.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="htmlFreeParserCtxt"/>htmlFreeParserCtxt ()</h3><pre 
class="programlisting">void   htmlFreeParserCtxt              (<a 
href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt)<br/>
-</pre><p>Free all the memory used by a parser context. However the parsed document in ctxt-&gt;myDoc is not 
freed.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctxt</tt></i>:</span></td><td>an HTML parser context</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="htmlHandleOmittedElem"/>htmlHandleOmittedElem 
()</h3><pre class="programlisting">int      htmlHandleOmittedElem           (int val)<br/>
-</pre><p>Set and return the previous value for handling HTML omitted tags.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>val</tt></i>:</span></td><td>int 0 or 1</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the last value for 0 for no handling, 1 for auto 
insertion.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="htmlIsAutoClosed"/>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>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>doc</tt></i>:</span></td><td>the HTML document</td></tr><tr><td><span 
class="term"><i><tt>elem</tt></i>:</span></td><td>the HTML element</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if autoclosed, 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="htmlIsScriptAttribute"/>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>
-<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></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></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="htmlNewParserCtxt"/>htmlNewParserCtxt ()</h3><pre 
class="programlisting"><a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a>        
htmlNewParserCtxt       (void)<br/>
-</pre><p>Allocate and initialize a new parser context.</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 <a 
href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> or NULL in case of allocation 
error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="htmlNewSAXParserCtxt"/>htmlNewSAXParserCtxt ()</h3><pre 
class="programlisting"><a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a>  
htmlNewSAXParserCtxt    (<a href="libxml2-HTMLparser.html#htmlSAXHandlerPtr">htmlSAXHandlerPtr</a> sax, <br/> 
                                           void * userData)<br/>
-</pre><p>Allocate and initialize a new parser context.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>sax</tt></i>:</span></td><td>SAX handler</td></tr><tr><td><span 
class="term"><i><tt>userData</tt></i>:</span></td><td>user data</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a 
href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> or NULL in case of allocation 
error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="htmlNodeStatus"/>htmlNodeStatus ()</h3><pre 
class="programlisting"><a href="libxml2-HTMLparser.html#htmlStatus">htmlStatus</a>    htmlNodeStatus          
(const <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>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>node</tt></i>:</span></td><td>an <a 
href="libxml2-HTMLparser.html#htmlNodePtr">htmlNodePtr</a> in a tree</td></tr><tr><td><span 
class="term"><i><tt>legacy</tt></i>:</span></td><td>whether to allow deprecated elements (YES is faster here 
for Element nodes)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>for Element 
nodes, a return from <a href="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></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="htmlParseCharRef"/>htmlParseCharRef ()</h3><pre 
class="programlisting">int        htmlParseCharRef                (<a 
href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt)<br/>
-</pre><p>parse Reference declarations [66] CharRef ::= '&amp;#' [0-9]+ ';' | '&amp;#x' [0-9a-fA-F]+ ';'</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctxt</tt></i>:</span></td><td>an HTML parser context</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the value parsed (as an 
int)</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="htmlParseChunk"/>htmlParseChunk ()</h3><pre 
class="programlisting">int    htmlParseChunk                  (<a 
href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt, <br/>                            
       const char * chunk, <br/>                                       int size, <br/>                        
                 int terminate)<br/>
-</pre><p>Parse a Chunk of memory</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctxt</tt></i>:</span></td><td>an HTML parser context</td></tr><tr><td><span 
class="term"><i><tt>chunk</tt></i>:</span></td><td>an char array</td></tr><tr><td><span 
class="term"><i><tt>size</tt></i>:</span></td><td>the size in byte of the chunk</td></tr><tr><td><span 
class="term"><i><tt>terminate</tt></i>:</span></td><td>last chunk indicator</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>zero if no error, the <a 
href="libxml2-xmlerror.html#xmlParserErrors">xmlParserErrors</a> 
otherwise.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="htmlParseDoc"/>htmlParseDoc ()</h3><pre 
class="programlisting"><a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>        htmlParseDoc        
    (const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur, <br/>                                  
       const char * encoding)<br/>
-</pre><p>parse an HTML in-memory document and build a tree.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>cur</tt></i>:</span></td><td>a pointer to an array of <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a></td></tr><tr><td><span 
class="term"><i><tt>encoding</tt></i>:</span></td><td>a free form C string describing the HTML document 
encoding, or NULL</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the resulting 
document tree</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="htmlParseDocument"/>htmlParseDocument ()</h3><pre 
class="programlisting">int      htmlParseDocument               (<a 
href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt)<br/>
-</pre><p>parse an HTML document (and build a tree if using the standard SAX interface).</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctxt</tt></i>:</span></td><td>an HTML parser context</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>0, -1 in case of error. the parser context is augmented 
as a result of the parsing.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="htmlParseElement"/>htmlParseElement ()</h3><pre 
class="programlisting">void       htmlParseElement                (<a 
href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt)<br/>
-</pre><p>parse an HTML element, this is highly recursive this is kept for compatibility with previous code 
versions [39] element ::= EmptyElemTag | STag content ETag [41] Attribute ::= Name Eq AttValue</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctxt</tt></i>:</span></td><td>an HTML parser context</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="htmlParseEntityRef"/>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>parse an HTML ENTITY references [68] EntityRef ::= '&amp;' Name ';'</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctxt</tt></i>:</span></td><td>an HTML parser context</td></tr><tr><td><span 
class="term"><i><tt>str</tt></i>:</span></td><td>location to store the entity name</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the associated <a 
href="libxml2-HTMLparser.html#htmlEntityDescPtr">htmlEntityDescPtr</a> if found, or NULL otherwise, if 
non-NULL *str will have to be freed by the caller.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="htmlParseFile"/>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. Automatic support for ZLIB/Compress compressed document is 
provided by default if found at compile-time.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>filename</tt></i>:</span></td><td>the filename</td></tr><tr><td><span 
class="term"><i><tt>encoding</tt></i>:</span></td><td>a free form C string describing the HTML document 
encoding, or NULL</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the resulting 
document tree</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="htmlReadDoc"/>htmlReadDoc ()</h3><pre 
class="programlisting"><a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>  htmlReadDoc             
(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur, <br/>                                      
   const char * URL, <br/>                                         const char * encoding, <br/>               
                     int options)<br/>
-</pre><p>parse an XML in-memory document and build a tree.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>cur</tt></i>:</span></td><td>a pointer to a zero terminated string</td></tr><tr><td><span 
class="term"><i><tt>URL</tt></i>:</span></td><td>the base URL to use for the document</td></tr><tr><td><span 
class="term"><i><tt>encoding</tt></i>:</span></td><td>the document encoding, or NULL</td></tr><tr><td><span 
class="term"><i><tt>options</tt></i>:</span></td><td>a combination of 
htmlParserOption(s)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the resulting 
document tree</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="htmlReadFd"/>htmlReadFd ()</h3><pre 
class="programlisting"><a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>    htmlReadFd              
(int fd, <br/>                                   const char * URL, <br/>                                      
   const char * encoding, <br/>                                    int options)<br/>
-</pre><p>parse an HTML from a file descriptor and build a tree. NOTE that the file descriptor will not be 
closed when the reader is closed or reset.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>fd</tt></i>:</span></td><td>an open file descriptor</td></tr><tr><td><span 
class="term"><i><tt>URL</tt></i>:</span></td><td>the base URL to use for the document</td></tr><tr><td><span 
class="term"><i><tt>encoding</tt></i>:</span></td><td>the document encoding, or NULL</td></tr><tr><td><span 
class="term"><i><tt>options</tt></i>:</span></td><td>a combination of 
htmlParserOption(s)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the resulting 
document tree</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="htmlReadFile"/>htmlReadFile ()</h3><pre 
class="programlisting"><a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>        htmlReadFile        
    (const char * filename, <br/>                                    const char * encoding, <br/>             
                       int options)<br/>
-</pre><p>parse an XML file from the filesystem or the network.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>filename</tt></i>:</span></td><td>a file or URL</td></tr><tr><td><span 
class="term"><i><tt>encoding</tt></i>:</span></td><td>the document encoding, or NULL</td></tr><tr><td><span 
class="term"><i><tt>options</tt></i>:</span></td><td>a combination of 
htmlParserOption(s)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the resulting 
document tree</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="htmlReadIO"/>htmlReadIO ()</h3><pre 
class="programlisting"><a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>    htmlReadIO              
(<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.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ioread</tt></i>:</span></td><td>an I/O read function</td></tr><tr><td><span 
class="term"><i><tt>ioclose</tt></i>:</span></td><td>an I/O close function</td></tr><tr><td><span 
class="term"><i><tt>ioctx</tt></i>:</span></td><td>an I/O handler</td></tr><tr><td><span 
class="term"><i><tt>URL</tt></i>:</span></td><td>the base URL to use for the document</td></tr><tr><td><span 
class="term"><i><tt>encoding</tt></i>:</span></td><td>the document encoding, or NULL</td></tr><tr><td><span 
class="term"><i><tt>options</tt></i>:</span></td><td>a combination of 
htmlParserOption(s)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the resulting 
document tree</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="htmlReadMemory"/>htmlReadMemory ()</h3><pre 
class="programlisting"><a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>    htmlReadMemory          
(const char * buffer, <br/>                                      int size, <br/>                              
           const char * URL, <br/>                                         const char * encoding, <br/>       
                             int options)<br/>
-</pre><p>parse an XML in-memory document and build a tree.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>buffer</tt></i>:</span></td><td>a pointer to a char array</td></tr><tr><td><span 
class="term"><i><tt>size</tt></i>:</span></td><td>the size of the array</td></tr><tr><td><span 
class="term"><i><tt>URL</tt></i>:</span></td><td>the base URL to use for the document</td></tr><tr><td><span 
class="term"><i><tt>encoding</tt></i>:</span></td><td>the document encoding, or NULL</td></tr><tr><td><span 
class="term"><i><tt>options</tt></i>:</span></td><td>a combination of 
htmlParserOption(s)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the resulting 
document tree</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="htmlSAXParseDoc"/>htmlSAXParseDoc ()</h3><pre 
class="programlisting"><a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>  htmlSAXParseDoc         
(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)<br/>
-</pre><p>Parse an HTML in-memory document. If sax is not NULL, use the SAX callbacks to handle parse events. 
If sax is NULL, fallback to the default DOM behavior and return a tree.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>cur</tt></i>:</span></td><td>a pointer to an array of <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a></td></tr><tr><td><span 
class="term"><i><tt>encoding</tt></i>:</span></td><td>a free form C string describing the HTML document 
encoding, or NULL</td></tr><tr><td><span class="term"><i><tt>sax</tt></i>:</span></td><td>the SAX handler 
block</td></tr><tr><td><span class="term"><i><tt>userData</tt></i>:</span></td><td>if using SAX, this pointer 
will be provided on callbacks.</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the resulting document tree unless SAX is NULL or the 
document is not well formed.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="htmlSAXParseFile"/>htmlSAXParseFile ()</h3><pre 
class="programlisting"><a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>        htmlSAXParseFile    
    (const char * filename, <br/>                                    const char * encoding, <br/>             
                       <a href="libxml2-HTMLparser.html#htmlSAXHandlerPtr">htmlSAXHandlerPtr</a> sax, <br/>   
                                 void * userData)<br/>
-</pre><p>parse an HTML file and build a tree. Automatic support for ZLIB/Compress compressed document is 
provided by default if found at compile-time. It use the given SAX function block to handle the parsing 
callback. If sax is NULL, fallback to the default DOM tree building routines.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>filename</tt></i>:</span></td><td>the filename</td></tr><tr><td><span 
class="term"><i><tt>encoding</tt></i>:</span></td><td>a free form C string describing the HTML document 
encoding, or NULL</td></tr><tr><td><span class="term"><i><tt>sax</tt></i>:</span></td><td>the SAX handler 
block</td></tr><tr><td><span class="term"><i><tt>userData</tt></i>:</span></td><td>if using SAX, this pointer 
will be provided on callbacks.</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the resulting document tree unless SAX is NULL or the 
document is not well formed.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="htmlTagLookup"/>htmlTagLookup ()</h3><pre 
class="programlisting">const <a href="libxml2-HTMLparser.html#htmlElemDesc">htmlElemDesc</a> *  htmlTagLookup 
  (const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * tag)<br/>
-</pre><p>Lookup the HTML tag in the ElementTable</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>tag</tt></i>:</span></td><td>The tag name in lowercase</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the related <a 
href="libxml2-HTMLparser.html#htmlElemDescPtr">htmlElemDescPtr</a> or NULL if not 
found.</td></tr></tbody></table></div></div>
-        <hr/>
-      </div>
-    </div>
-  </body>
+</pre>
+<p></p>
+</div>
+<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>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>elt</tt></i>:</span></td>
+<td>HTML element</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>attr</tt></i>:</span></td>
+<td>HTML <a href="libxml2-SAX.html#attribute">attribute</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>legacy</tt></i>:</span></td>
+<td>whether to allow deprecated attributes</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>one of HTML_REQUIRED, HTML_VALID, HTML_DEPRECATED, <a 
href="libxml2-HTMLparser.html#HTML_INVALID">HTML_INVALID</a>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>doc</tt></i>:</span></td>
+<td>the HTML document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>The tag name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>elem</tt></i>:</span></td>
+<td>the HTML element</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if autoclose, 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="htmlCreateMemoryParserCtxt"></a>htmlCreateMemoryParserCtxt ()</h3>
+<pre class="programlisting"><a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a>  
htmlCreateMemoryParserCtxt      (const char * buffer, <br>                                                    
   int size)<br>
+</pre>
+<p>Create a parser context for an HTML in-memory document.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>buffer</tt></i>:</span></td>
+<td>a pointer to a char array</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>size</tt></i>:</span></td>
+<td>the size of the array</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the new parser context or NULL</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="htmlCreatePushParserCtxt"></a>htmlCreatePushParserCtxt ()</h3>
+<pre class="programlisting"><a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a>  
htmlCreatePushParserCtxt        (<a href="libxml2-HTMLparser.html#htmlSAXHandlerPtr">htmlSAXHandlerPtr</a> 
sax, <br>                                                     void * user_data, <br>                          
                        const char * chunk, <br>                                                        int 
size, <br>                                                  const char * filename, <br>                       
                              <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc)<br>
+</pre>
+<p>Create a parser context for using the HTML parser in push mode The value of @filename is used for 
fetching external entities and error/warning reports.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>sax</tt></i>:</span></td>
+<td>a SAX handler</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>user_data</tt></i>:</span></td>
+<td>The user data returned on SAX callbacks</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>chunk</tt></i>:</span></td>
+<td>a pointer to an array of chars</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>size</tt></i>:</span></td>
+<td>number of chars in the array</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>filename</tt></i>:</span></td>
+<td>an optional file name or URI</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>enc</tt></i>:</span></td>
+<td>an optional encoding</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the new parser context or NULL</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="htmlCtxtReadDoc"></a>htmlCtxtReadDoc ()</h3>
+<pre class="programlisting"><a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>        
htmlCtxtReadDoc         (<a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt, <br> 
                                   const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur, <br>     
                             const char * URL, <br>                                  const char * encoding, 
<br>                                     int options)<br>
+</pre>
+<p>parse an XML in-memory document and build a tree. This reuses the existing @ctxt parser context</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>an HTML parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>a pointer to a zero terminated string</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>URL</tt></i>:</span></td>
+<td>the base URL to use for the document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
+<td>the document encoding, or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>options</tt></i>:</span></td>
+<td>a combination of htmlParserOption(s)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the resulting document tree</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="htmlCtxtReadFd"></a>htmlCtxtReadFd ()</h3>
+<pre class="programlisting"><a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>        
htmlCtxtReadFd          (<a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt, <br> 
                                   int fd, <br>                                    const char * URL, <br>     
                             const char * encoding, <br>                                     int options)<br>
+</pre>
+<p>parse an XML from a file descriptor and build a tree. This reuses the existing @ctxt parser context</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>an HTML parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>fd</tt></i>:</span></td>
+<td>an open file descriptor</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>URL</tt></i>:</span></td>
+<td>the base URL to use for the document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
+<td>the document encoding, or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>options</tt></i>:</span></td>
+<td>a combination of htmlParserOption(s)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the resulting document tree</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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 XML file from the filesystem or the network. This reuses the existing @ctxt parser context</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>an HTML parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>filename</tt></i>:</span></td>
+<td>a file or URL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
+<td>the document encoding, or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>options</tt></i>:</span></td>
+<td>a combination of htmlParserOption(s)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the resulting document tree</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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. This reuses the existing @ctxt 
parser context</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>an HTML parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ioread</tt></i>:</span></td>
+<td>an I/O read function</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ioclose</tt></i>:</span></td>
+<td>an I/O close function</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ioctx</tt></i>:</span></td>
+<td>an I/O handler</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>URL</tt></i>:</span></td>
+<td>the base URL to use for the document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
+<td>the document encoding, or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>options</tt></i>:</span></td>
+<td>a combination of htmlParserOption(s)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the resulting document tree</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="htmlCtxtReadMemory"></a>htmlCtxtReadMemory ()</h3>
+<pre class="programlisting"><a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>        
htmlCtxtReadMemory      (<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)<br>
+</pre>
+<p>parse an XML in-memory document and build a tree. This reuses the existing @ctxt parser context</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>an HTML parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>buffer</tt></i>:</span></td>
+<td>a pointer to a char array</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>size</tt></i>:</span></td>
+<td>the size of the array</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>URL</tt></i>:</span></td>
+<td>the base URL to use for the document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
+<td>the document encoding, or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>options</tt></i>:</span></td>
+<td>a combination of htmlParserOption(s)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the resulting document tree</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="htmlCtxtReset"></a>htmlCtxtReset ()</h3>
+<pre class="programlisting">void       htmlCtxtReset                   (<a 
href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt)<br>
+</pre>
+<p>Reset a parser context</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>an HTML parser context</td>
+</tr></tbody>
+</table></div>
+</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>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>an HTML parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>options</tt></i>:</span></td>
+<td>a combination of htmlParserOption(s)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 in case of success, the set of unknown or unimplemented options in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>parent</tt></i>:</span></td>
+<td>HTML parent element</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>elt</tt></i>:</span></td>
+<td>HTML element</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if allowed; 0 otherwise.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>parent</tt></i>:</span></td>
+<td>HTML parent element</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>elt</tt></i>:</span></td>
+<td>HTML element</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>one of HTML_VALID, HTML_DEPRECATED, <a href="libxml2-HTMLparser.html#HTML_INVALID">HTML_INVALID</a>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="htmlEncodeEntities"></a>htmlEncodeEntities ()</h3>
+<pre class="programlisting">int        htmlEncodeEntities              (unsigned char * out, <br>            
                           int * outlen, <br>                                      const unsigned char * in, 
<br>                                  int * inlen, <br>                                       int 
quoteChar)<br>
+</pre>
+<p>Take a block of UTF-8 chars in and try to convert it to an ASCII plus HTML entities block of chars 
out.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>out</tt></i>:</span></td>
+<td>a pointer to an array of bytes to store the result</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>outlen</tt></i>:</span></td>
+<td>the length of @out</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>in</tt></i>:</span></td>
+<td>a pointer to an array of UTF-8 chars</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>inlen</tt></i>:</span></td>
+<td>the length of @in</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>quoteChar</tt></i>:</span></td>
+<td>the quote character to escape (' or ") or zero.</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 if success, -2 if the transcoding fails, or -1 otherwise The value of @inlen after return is the 
number of octets consumed as the return value is positive, else unpredictable. The value of @outlen after 
return is the number of octets consumed.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="htmlEntityLookup"></a>htmlEntityLookup ()</h3>
+<pre class="programlisting">const <a href="libxml2-HTMLparser.html#htmlEntityDesc">htmlEntityDesc</a> *      
  htmlEntityLookup        (const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
+</pre>
+<p>Lookup the given entity in EntitiesTable TODO: the linear scan is really ugly, an hash table is really 
needed.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the entity name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the associated <a href="libxml2-HTMLparser.html#htmlEntityDescPtr">htmlEntityDescPtr</a> if found, NULL 
otherwise.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="htmlEntityValueLookup"></a>htmlEntityValueLookup ()</h3>
+<pre class="programlisting">const <a href="libxml2-HTMLparser.html#htmlEntityDesc">htmlEntityDesc</a> *      
  htmlEntityValueLookup   (unsigned int value)<br>
+</pre>
+<p>Lookup the given entity in EntitiesTable TODO: the linear scan is really ugly, an hash table is really 
needed.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>value</tt></i>:</span></td>
+<td>the entity's unicode value</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the associated <a href="libxml2-HTMLparser.html#htmlEntityDescPtr">htmlEntityDescPtr</a> if found, NULL 
otherwise.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="htmlFreeParserCtxt"></a>htmlFreeParserCtxt ()</h3>
+<pre class="programlisting">void       htmlFreeParserCtxt              (<a 
href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt)<br>
+</pre>
+<p>Free all the memory used by a parser context. However the parsed document in ctxt-&gt;myDoc is not 
freed.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>an HTML parser context</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="htmlHandleOmittedElem"></a>htmlHandleOmittedElem ()</h3>
+<pre class="programlisting">int        htmlHandleOmittedElem           (int val)<br>
+</pre>
+<p>Set and return the previous value for handling HTML omitted tags.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>val</tt></i>:</span></td>
+<td>int 0 or 1</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the last value for 0 for no handling, 1 for auto insertion.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>doc</tt></i>:</span></td>
+<td>the HTML document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>elem</tt></i>:</span></td>
+<td>the HTML element</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if autoclosed, 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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>
+<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>
+</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>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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 parser context.</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 <a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> or NULL in case of 
allocation error</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="htmlNewSAXParserCtxt"></a>htmlNewSAXParserCtxt ()</h3>
+<pre class="programlisting"><a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a>  
htmlNewSAXParserCtxt    (<a href="libxml2-HTMLparser.html#htmlSAXHandlerPtr">htmlSAXHandlerPtr</a> sax, <br>  
                                           void * userData)<br>
+</pre>
+<p>Allocate and initialize a new parser context.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>sax</tt></i>:</span></td>
+<td>SAX handler</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>userData</tt></i>:</span></td>
+<td>user data</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the <a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> or NULL in case of 
allocation error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="htmlNodeStatus"></a>htmlNodeStatus ()</h3>
+<pre class="programlisting"><a href="libxml2-HTMLparser.html#htmlStatus">htmlStatus</a>        
htmlNodeStatus          (const <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>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>node</tt></i>:</span></td>
+<td>an <a href="libxml2-HTMLparser.html#htmlNodePtr">htmlNodePtr</a> in a tree</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>legacy</tt></i>:</span></td>
+<td>whether to allow deprecated elements (YES is faster here for Element nodes)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>for Element nodes, a return from <a 
href="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>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="htmlParseCharRef"></a>htmlParseCharRef ()</h3>
+<pre class="programlisting">int        htmlParseCharRef                (<a 
href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt)<br>
+</pre>
+<p>parse Reference declarations [66] CharRef ::= '&amp;#' [0-9]+ ';' | '&amp;#x' [0-9a-fA-F]+ ';'</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>an HTML parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the value parsed (as an int)</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="htmlParseChunk"></a>htmlParseChunk ()</h3>
+<pre class="programlisting">int        htmlParseChunk                  (<a 
href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt, <br>                             
       const char * chunk, <br>                                        int size, <br>                         
         int terminate)<br>
+</pre>
+<p>Parse a Chunk of memory</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>an HTML parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>chunk</tt></i>:</span></td>
+<td>an char array</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>size</tt></i>:</span></td>
+<td>the size in byte of the chunk</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>terminate</tt></i>:</span></td>
+<td>last chunk indicator</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>zero if no error, the <a href="libxml2-xmlerror.html#xmlParserErrors">xmlParserErrors</a> otherwise.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="htmlParseDoc"></a>htmlParseDoc ()</h3>
+<pre class="programlisting"><a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>        htmlParseDoc  
          (const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur, <br>                             
     const char * encoding)<br>
+</pre>
+<p>parse an HTML in-memory document and build a tree.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>a pointer to an array of <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
+<td>a free form C string describing the HTML document encoding, or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the resulting document tree</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="htmlParseDocument"></a>htmlParseDocument ()</h3>
+<pre class="programlisting">int        htmlParseDocument               (<a 
href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt)<br>
+</pre>
+<p>parse an HTML document (and build a tree if using the standard SAX interface).</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>an HTML parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0, -1 in case of error. the parser context is augmented as a result of the parsing.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="htmlParseElement"></a>htmlParseElement ()</h3>
+<pre class="programlisting">void       htmlParseElement                (<a 
href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt)<br>
+</pre>
+<p>parse an HTML element, this is highly recursive this is kept for compatibility with previous code 
versions [39] element ::= EmptyElemTag | STag content ETag [41] Attribute ::= Name Eq AttValue</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>an HTML parser context</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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>parse an HTML ENTITY references [68] EntityRef ::= '&amp;' Name ';'</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>an HTML parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>str</tt></i>:</span></td>
+<td>location to store the entity name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the associated <a href="libxml2-HTMLparser.html#htmlEntityDescPtr">htmlEntityDescPtr</a> if found, or 
NULL otherwise, if non-NULL *str will have to be freed by the caller.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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. Automatic support for ZLIB/Compress compressed document is provided 
by default if found at compile-time.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>filename</tt></i>:</span></td>
+<td>the filename</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
+<td>a free form C string describing the HTML document encoding, or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the resulting document tree</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="htmlReadDoc"></a>htmlReadDoc ()</h3>
+<pre class="programlisting"><a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>        htmlReadDoc   
          (const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur, <br>                             
     const char * URL, <br>                                  const char * encoding, <br>                      
               int options)<br>
+</pre>
+<p>parse an XML in-memory document and build a tree.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>a pointer to a zero terminated string</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>URL</tt></i>:</span></td>
+<td>the base URL to use for the document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
+<td>the document encoding, or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>options</tt></i>:</span></td>
+<td>a combination of htmlParserOption(s)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the resulting document tree</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="htmlReadFd"></a>htmlReadFd ()</h3>
+<pre class="programlisting"><a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>        htmlReadFd    
          (int fd, <br>                                    const char * URL, <br>                             
     const char * encoding, <br>                                     int options)<br>
+</pre>
+<p>parse an HTML from a file descriptor and build a tree. NOTE that the file descriptor will not be closed 
when the reader is closed or reset.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>fd</tt></i>:</span></td>
+<td>an open file descriptor</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>URL</tt></i>:</span></td>
+<td>the base URL to use for the document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
+<td>the document encoding, or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>options</tt></i>:</span></td>
+<td>a combination of htmlParserOption(s)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the resulting document tree</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="htmlReadFile"></a>htmlReadFile ()</h3>
+<pre class="programlisting"><a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>        htmlReadFile  
          (const char * filename, <br>                                     const char * encoding, <br>        
                             int options)<br>
+</pre>
+<p>parse an XML file from the filesystem or the network.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>filename</tt></i>:</span></td>
+<td>a file or URL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
+<td>the document encoding, or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>options</tt></i>:</span></td>
+<td>a combination of htmlParserOption(s)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the resulting document tree</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="htmlReadIO"></a>htmlReadIO ()</h3>
+<pre class="programlisting"><a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>        htmlReadIO    
          (<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.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ioread</tt></i>:</span></td>
+<td>an I/O read function</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ioclose</tt></i>:</span></td>
+<td>an I/O close function</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ioctx</tt></i>:</span></td>
+<td>an I/O handler</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>URL</tt></i>:</span></td>
+<td>the base URL to use for the document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
+<td>the document encoding, or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>options</tt></i>:</span></td>
+<td>a combination of htmlParserOption(s)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the resulting document tree</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="htmlReadMemory"></a>htmlReadMemory ()</h3>
+<pre class="programlisting"><a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>        
htmlReadMemory          (const char * buffer, <br>                                       int size, <br>       
                           const char * URL, <br>                                  const char * encoding, 
<br>                                     int options)<br>
+</pre>
+<p>parse an XML in-memory document and build a tree.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>buffer</tt></i>:</span></td>
+<td>a pointer to a char array</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>size</tt></i>:</span></td>
+<td>the size of the array</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>URL</tt></i>:</span></td>
+<td>the base URL to use for the document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
+<td>the document encoding, or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>options</tt></i>:</span></td>
+<td>a combination of htmlParserOption(s)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the resulting document tree</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="htmlSAXParseDoc"></a>htmlSAXParseDoc ()</h3>
+<pre class="programlisting"><a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>        
htmlSAXParseDoc         (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)<br>
+</pre>
+<p>Parse an HTML in-memory document. If sax is not NULL, use the SAX callbacks to handle parse events. If 
sax is NULL, fallback to the default DOM behavior and return a tree.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>a pointer to an array of <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
+<td>a free form C string describing the HTML document encoding, or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>sax</tt></i>:</span></td>
+<td>the SAX handler block</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>userData</tt></i>:</span></td>
+<td>if using SAX, this pointer will be provided on callbacks.</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the resulting document tree unless SAX is NULL or the document is not well formed.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="htmlSAXParseFile"></a>htmlSAXParseFile ()</h3>
+<pre class="programlisting"><a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>        
htmlSAXParseFile        (const char * filename, <br>                                     const char * 
encoding, <br>                                     <a 
href="libxml2-HTMLparser.html#htmlSAXHandlerPtr">htmlSAXHandlerPtr</a> sax, <br>                              
       void * userData)<br>
+</pre>
+<p>parse an HTML file and build a tree. Automatic support for ZLIB/Compress compressed document is provided 
by default if found at compile-time. It use the given SAX function block to handle the parsing callback. If 
sax is NULL, fallback to the default DOM tree building routines.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>filename</tt></i>:</span></td>
+<td>the filename</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
+<td>a free form C string describing the HTML document encoding, or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>sax</tt></i>:</span></td>
+<td>the SAX handler block</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>userData</tt></i>:</span></td>
+<td>if using SAX, this pointer will be provided on callbacks.</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the resulting document tree unless SAX is NULL or the document is not well formed.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="htmlTagLookup"></a>htmlTagLookup ()</h3>
+<pre class="programlisting">const <a href="libxml2-HTMLparser.html#htmlElemDesc">htmlElemDesc</a> *    
htmlTagLookup   (const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * tag)<br>
+</pre>
+<p>Lookup the HTML tag in the ElementTable</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>tag</tt></i>:</span></td>
+<td>The tag name in lowercase</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the related <a href="libxml2-HTMLparser.html#htmlElemDescPtr">htmlElemDescPtr</a> or NULL if not 
found.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+</div>
+</div>
+</body>
 </html>
diff --git a/doc/devhelp/libxml2-HTMLtree.html b/doc/devhelp/libxml2-HTMLtree.html
index 7076c272..203cb38f 100644
--- a/doc/devhelp/libxml2-HTMLtree.html
+++ b/doc/devhelp/libxml2-HTMLtree.html
@@ -1,172 +1,587 @@
-<?xml version="1.0" encoding="UTF-8"?>
 <html>
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
-    <title>HTMLtree: specific APIs to process HTML tree, especially serialization</title>
-    <meta name="generator" content="Libxml2 devhelp stylesheet"/>
-    <link rel="start" href="index.html" title="libxml2 Reference Manual"/>
-    <link rel="up" href="general.html" title="API"/>
-    <link rel="stylesheet" href="style.css" type="text/css"/>
-    <link rel="chapter" href="general.html" title="API"/>
-  </head>
-  <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-    <table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
-      <tr valign="middle">
-        <td>
-          <a accesskey="p" href="libxml2-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>
-        <th width="100%" align="center">libxml2 Reference Manual</th>
-      </tr>
-    </table>
-    <h2>
-      <span class="refentrytitle">HTMLtree</span>
-    </h2>
-    <p>HTMLtree - specific APIs to process HTML tree, especially serialization</p>
-    <p>this module implements a few function needed to process tree in an HTML specific way. </p>
-    <p>Author(s): Daniel Veillard </p>
-    <div class="refsynopsisdiv">
-      <h2>Synopsis</h2>
-      <pre class="synopsis">#define <a href="#HTML_COMMENT_NODE">HTML_COMMENT_NODE</a>;
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>HTMLtree: specific APIs to process HTML tree, especially serialization</title>
+<meta name="generator" content="Libxml2 devhelp stylesheet">
+<link rel="start" href="index.html" title="libxml2 Reference Manual">
+<link rel="up" href="general.html" title="API">
+<link rel="stylesheet" href="style.css" type="text/css">
+<link rel="chapter" href="general.html" title="API">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr 
valign="middle">
+<td><a accesskey="p" href="libxml2-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>
+<th width="100%" align="center">libxml2 Reference Manual</th>
+</tr></table>
+<h2><span class="refentrytitle">HTMLtree</span></h2>
+<p>HTMLtree - specific APIs to process HTML tree, especially serialization</p>
+<p>this module implements a few function needed to process tree in an HTML specific way. </p>
+<p>Author(s): Daniel Veillard </p>
+<div class="refsynopsisdiv">
+<h2>Synopsis</h2>
+<pre class="synopsis">#define <a href="#HTML_COMMENT_NODE">HTML_COMMENT_NODE</a>;
 #define <a href="#HTML_ENTITY_REF_NODE">HTML_ENTITY_REF_NODE</a>;
 #define <a href="#HTML_PI_NODE">HTML_PI_NODE</a>;
 #define <a href="#HTML_PRESERVE_NODE">HTML_PRESERVE_NODE</a>;
 #define <a href="#HTML_TEXT_NODE">HTML_TEXT_NODE</a>;
-void   <a href="#htmlDocContentDumpFormatOutput">htmlDocContentDumpFormatOutput</a>    (<a 
href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf, <br/>                                 
       <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br/>                                  const 
char * encoding, <br/>                                    int format);
-void   <a href="#htmlDocContentDumpOutput">htmlDocContentDumpOutput</a>        (<a 
href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf, <br/>                                 
       <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br/>                                  const 
char * encoding);
-int    <a href="#htmlDocDump">htmlDocDump</a>                  (FILE * f, <br/>                              
           <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur);
-void   <a href="#htmlDocDumpMemory">htmlDocDumpMemory</a>              (<a 
href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br/>                                  <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** mem, <br/>                                      int * 
size);
-void   <a href="#htmlDocDumpMemoryFormat">htmlDocDumpMemoryFormat</a>          (<a 
href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br/>                                  <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** mem, <br/>                                      int * 
size, <br/>                                       int format);
+void   <a href="#htmlDocContentDumpFormatOutput">htmlDocContentDumpFormatOutput</a>    (<a 
href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf, <br>                                  
       <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br>                                   const 
char * encoding, <br>                                     int format);
+void   <a href="#htmlDocContentDumpOutput">htmlDocContentDumpOutput</a>        (<a 
href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf, <br>                                  
       <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br>                                   const 
char * encoding);
+int    <a href="#htmlDocDump">htmlDocDump</a>                  (FILE * f, <br>                               
   <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur);
+void   <a href="#htmlDocDumpMemory">htmlDocDumpMemory</a>              (<a 
href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br>                                   <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** mem, <br>                                       int * 
size);
+void   <a href="#htmlDocDumpMemoryFormat">htmlDocDumpMemoryFormat</a>          (<a 
href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br>                                   <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** mem, <br>                                       int * 
size, <br>                                        int format);
 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *   <a 
href="#htmlGetMetaEncoding">htmlGetMetaEncoding</a>  (<a 
href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a> doc);
 int    <a href="#htmlIsBooleanAttr">htmlIsBooleanAttr</a>              (const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
-<a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>    <a href="#htmlNewDoc">htmlNewDoc</a>          
  (const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URI, <br/>                                    
     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID);
-<a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>    <a 
href="#htmlNewDocNoDtD">htmlNewDocNoDtD</a>          (const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URI, <br/>                                         const 
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID);
-int    <a href="#htmlNodeDump">htmlNodeDump</a>                        (<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#xmlNodePtr">xmlNodePtr</a> cur);
-void   <a href="#htmlNodeDumpFile">htmlNodeDumpFile</a>                (FILE * out, <br/>                    
                   <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>                             
     <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
-int    <a href="#htmlNodeDumpFileFormat">htmlNodeDumpFileFormat</a>            (FILE * out, <br/>            
                           <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>                     
             <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br/>                                 
       const char * encoding, <br/>                                    int format);
-void   <a href="#htmlNodeDumpFormatOutput">htmlNodeDumpFormatOutput</a>        (<a 
href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf, <br/>                                 
       <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>                                  <a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br/>                                        const 
char * encoding, <br/>                                    int format);
-void   <a href="#htmlNodeDumpOutput">htmlNodeDumpOutput</a>            (<a 
href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf, <br/>                                 
       <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>                                  <a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br/>                                        const 
char * encoding);
-int    <a href="#htmlSaveFile">htmlSaveFile</a>                        (const char * filename, <br/>         
                           <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur);
-int    <a href="#htmlSaveFileEnc">htmlSaveFileEnc</a>                  (const char * filename, <br/>         
                           <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br/>                     
             const char * encoding);
-int    <a href="#htmlSaveFileFormat">htmlSaveFileFormat</a>            (const char * filename, <br/>         
                           <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br/>                     
             const char * encoding, <br/>                                    int format);
-int    <a href="#htmlSetMetaEncoding">htmlSetMetaEncoding</a>          (<a 
href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a> doc, <br/>                                  const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * encoding);
-</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="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>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><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>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="HTML_PI_NODE">Macro </a>HTML_PI_NODE</h3><pre 
class="programlisting">#define <a href="#HTML_PI_NODE">HTML_PI_NODE</a>;
-</pre><p>Macro. A processing instruction in a HTML document is really implemented the same way as a 
processing instruction in an XML document.</p>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="HTML_PRESERVE_NODE">Macro 
</a>HTML_PRESERVE_NODE</h3><pre class="programlisting">#define <a 
href="#HTML_PRESERVE_NODE">HTML_PRESERVE_NODE</a>;
-</pre><p>Macro. A preserved node in a HTML document is really implemented the same way as a CDATA section in 
an XML document.</p>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="HTML_TEXT_NODE">Macro </a>HTML_TEXT_NODE</h3><pre 
class="programlisting">#define <a href="#HTML_TEXT_NODE">HTML_TEXT_NODE</a>;
-</pre><p>Macro. A text node in a HTML document is really implemented the same way as a text node in an XML 
document.</p>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="htmlDocContentDumpFormatOutput"/>htmlDocContentDumpFormatOutput ()</h3><pre class="programlisting">void 
  htmlDocContentDumpFormatOutput  (<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf, 
<br/>                                        <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br/>   
                               const char * encoding, <br/>                                    int 
format)<br/>
-</pre><p>Dump an HTML document.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>buf</tt></i>:</span></td><td>the HTML buffer output</td></tr><tr><td><span 
class="term"><i><tt>cur</tt></i>:</span></td><td>the document</td></tr><tr><td><span 
class="term"><i><tt>encoding</tt></i>:</span></td><td>the encoding string (unused)</td></tr><tr><td><span 
class="term"><i><tt>format</tt></i>:</span></td><td>should formatting spaces been 
added</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="htmlDocContentDumpOutput"/>htmlDocContentDumpOutput 
()</h3><pre class="programlisting">void       htmlDocContentDumpOutput        (<a 
href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf, <br/>                                 
       <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br/>                                  const 
char * encoding)<br/>
-</pre><p>Dump an HTML document. Formatting return/spaces are added.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>buf</tt></i>:</span></td><td>the HTML buffer output</td></tr><tr><td><span 
class="term"><i><tt>cur</tt></i>:</span></td><td>the document</td></tr><tr><td><span 
class="term"><i><tt>encoding</tt></i>:</span></td><td>the encoding string 
(unused)</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="htmlDocDump"/>htmlDocDump ()</h3><pre 
class="programlisting">int  htmlDocDump                     (FILE * f, <br/>                                  
       <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur)<br/>
-</pre><p>Dump an HTML document to an open FILE.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>f</tt></i>:</span></td><td>the FILE*</td></tr><tr><td><span 
class="term"><i><tt>cur</tt></i>:</span></td><td>the document</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of byte written or -1 in case of 
failure.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="htmlDocDumpMemory"/>htmlDocDumpMemory ()</h3><pre 
class="programlisting">void     htmlDocDumpMemory               (<a 
href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br/>                                  <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** mem, <br/>                                      int * 
size)<br/>
-</pre><p>Dump an HTML document in memory and return the <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> 
* and it's size. It's up to the caller to free the memory.</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 document</td></tr><tr><td><span 
class="term"><i><tt>mem</tt></i>:</span></td><td>OUT: the memory pointer</td></tr><tr><td><span 
class="term"><i><tt>size</tt></i>:</span></td><td>OUT: the memory length</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="htmlDocDumpMemoryFormat"/>htmlDocDumpMemoryFormat 
()</h3><pre class="programlisting">void htmlDocDumpMemoryFormat         (<a 
href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br/>                                  <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** mem, <br/>                                      int * 
size, <br/>                                       int format)<br/>
-</pre><p>Dump an HTML document in memory and return the <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> 
* and it's size. It's up to the caller to free the memory.</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 document</td></tr><tr><td><span 
class="term"><i><tt>mem</tt></i>:</span></td><td>OUT: the memory pointer</td></tr><tr><td><span 
class="term"><i><tt>size</tt></i>:</span></td><td>OUT: the memory length</td></tr><tr><td><span 
class="term"><i><tt>format</tt></i>:</span></td><td>should formatting spaces been 
added</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="htmlGetMetaEncoding"/>htmlGetMetaEncoding ()</h3><pre 
class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * htmlGetMetaEncoding     
(<a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a> doc)<br/>
-</pre><p>Encoding definition lookup in the Meta tags</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</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the current encoding as flagged in the HTML 
source</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="htmlIsBooleanAttr"/>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 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></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></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="htmlNewDoc"/>htmlNewDoc ()</h3><pre 
class="programlisting"><a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>    htmlNewDoc              
(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URI, <br/>                                      
   const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID)<br/>
-</pre><p>Creates a new HTML document</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>URI</tt></i>:</span></td><td>URI for the dtd, or NULL</td></tr><tr><td><span 
class="term"><i><tt>ExternalID</tt></i>:</span></td><td>the external ID of the DTD, or 
NULL</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a new 
document</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="htmlNewDocNoDtD"/>htmlNewDocNoDtD ()</h3><pre 
class="programlisting"><a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>  htmlNewDocNoDtD         
(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URI, <br/>                                      
   const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID)<br/>
-</pre><p>Creates a new HTML document without a DTD node if @URI and @ExternalID are NULL</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>URI</tt></i>:</span></td><td>URI for the dtd, or NULL</td></tr><tr><td><span 
class="term"><i><tt>ExternalID</tt></i>:</span></td><td>the external ID of the DTD, or 
NULL</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a new document, do not 
initialize the DTD if not provided</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="htmlNodeDump"/>htmlNodeDump ()</h3><pre 
class="programlisting">int        htmlNodeDump                    (<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#xmlNodePtr">xmlNodePtr</a> cur)<br/>
-</pre><p>Dump an HTML node, recursive behaviour,children are printed too, and formatting returns are 
added.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>buf</tt></i>:</span></td><td>the HTML buffer output</td></tr><tr><td><span 
class="term"><i><tt>doc</tt></i>:</span></td><td>the document</td></tr><tr><td><span 
class="term"><i><tt>cur</tt></i>:</span></td><td>the current node</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of byte written or -1 in case of 
error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="htmlNodeDumpFile"/>htmlNodeDumpFile ()</h3><pre 
class="programlisting">void       htmlNodeDumpFile                (FILE * out, <br/>                          
             <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>                                  
<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur)<br/>
-</pre><p>Dump an HTML node, recursive behaviour,children are printed too, and formatting returns are 
added.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>out</tt></i>:</span></td><td>the FILE pointer</td></tr><tr><td><span 
class="term"><i><tt>doc</tt></i>:</span></td><td>the document</td></tr><tr><td><span 
class="term"><i><tt>cur</tt></i>:</span></td><td>the current node</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="htmlNodeDumpFileFormat"/>htmlNodeDumpFileFormat 
()</h3><pre class="programlisting">int    htmlNodeDumpFileFormat          (FILE * out, <br/>                  
                     <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>                           
       <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br/>                                       
 const char * encoding, <br/>                                    int format)<br/>
-</pre><p>Dump an HTML node, recursive behaviour,children are printed too. TODO: if encoding == NULL try to 
save in the doc encoding</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>out</tt></i>:</span></td><td>the FILE pointer</td></tr><tr><td><span 
class="term"><i><tt>doc</tt></i>:</span></td><td>the document</td></tr><tr><td><span 
class="term"><i><tt>cur</tt></i>:</span></td><td>the current node</td></tr><tr><td><span 
class="term"><i><tt>encoding</tt></i>:</span></td><td>the document encoding</td></tr><tr><td><span 
class="term"><i><tt>format</tt></i>:</span></td><td>should formatting spaces been 
added</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of byte written 
or -1 in case of failure.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="htmlNodeDumpFormatOutput"/>htmlNodeDumpFormatOutput 
()</h3><pre class="programlisting">void       htmlNodeDumpFormatOutput        (<a 
href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf, <br/>                                 
       <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>                                  <a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br/>                                        const 
char * encoding, <br/>                                    int format)<br/>
-</pre><p>Dump an HTML node, recursive behaviour,children are printed too.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>buf</tt></i>:</span></td><td>the HTML buffer output</td></tr><tr><td><span 
class="term"><i><tt>doc</tt></i>:</span></td><td>the document</td></tr><tr><td><span 
class="term"><i><tt>cur</tt></i>:</span></td><td>the current node</td></tr><tr><td><span 
class="term"><i><tt>encoding</tt></i>:</span></td><td>the encoding string (unused)</td></tr><tr><td><span 
class="term"><i><tt>format</tt></i>:</span></td><td>should formatting spaces been 
added</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="htmlNodeDumpOutput"/>htmlNodeDumpOutput ()</h3><pre 
class="programlisting">void   htmlNodeDumpOutput              (<a 
href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf, <br/>                                 
       <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>                                  <a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br/>                                        const 
char * encoding)<br/>
-</pre><p>Dump an HTML node, recursive behaviour,children are printed too, and formatting returns/spaces are 
added.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>buf</tt></i>:</span></td><td>the HTML buffer output</td></tr><tr><td><span 
class="term"><i><tt>doc</tt></i>:</span></td><td>the document</td></tr><tr><td><span 
class="term"><i><tt>cur</tt></i>:</span></td><td>the current node</td></tr><tr><td><span 
class="term"><i><tt>encoding</tt></i>:</span></td><td>the encoding string 
(unused)</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="htmlSaveFile"/>htmlSaveFile ()</h3><pre 
class="programlisting">int        htmlSaveFile                    (const char * filename, <br/>               
                     <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur)<br/>
-</pre><p>Dump an HTML document to a file. If @filename is "-" the stdout file is used.</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 (or URL)</td></tr><tr><td><span 
class="term"><i><tt>cur</tt></i>:</span></td><td>the document</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of byte written or -1 in case of 
failure.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="htmlSaveFileEnc"/>htmlSaveFileEnc ()</h3><pre 
class="programlisting">int  htmlSaveFileEnc                 (const char * filename, <br/>                     
               <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br/>                                 
 const char * encoding)<br/>
-</pre><p>Dump an HTML document to a file using a given encoding and formatting returns/spaces are added.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>filename</tt></i>:</span></td><td>the filename</td></tr><tr><td><span 
class="term"><i><tt>cur</tt></i>:</span></td><td>the document</td></tr><tr><td><span 
class="term"><i><tt>encoding</tt></i>:</span></td><td>the document encoding</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of byte written or -1 in case of 
failure.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="htmlSaveFileFormat"/>htmlSaveFileFormat ()</h3><pre 
class="programlisting">int    htmlSaveFileFormat              (const char * filename, <br/>                   
                 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br/>                               
   const char * encoding, <br/>                                    int format)<br/>
-</pre><p>Dump an HTML document to a file using a given encoding.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>filename</tt></i>:</span></td><td>the filename</td></tr><tr><td><span 
class="term"><i><tt>cur</tt></i>:</span></td><td>the document</td></tr><tr><td><span 
class="term"><i><tt>encoding</tt></i>:</span></td><td>the document encoding</td></tr><tr><td><span 
class="term"><i><tt>format</tt></i>:</span></td><td>should formatting spaces been 
added</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of byte written 
or -1 in case of failure.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="htmlSetMetaEncoding"/>htmlSetMetaEncoding ()</h3><pre 
class="programlisting">int  htmlSetMetaEncoding             (<a 
href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a> doc, <br/>                                  const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * encoding)<br/>
-</pre><p>Sets the current encoding in the Meta tags NOTE: this will not change the document content 
encoding, just the META flag associated.</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</td></tr><tr><td><span 
class="term"><i><tt>encoding</tt></i>:</span></td><td>the encoding string</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success and -1 in case of 
error</td></tr></tbody></table></div></div>
-        <hr/>
-      </div>
-    </div>
-  </body>
+<a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>    <a href="#htmlNewDoc">htmlNewDoc</a>          
  (const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URI, <br>                                  
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID);
+<a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>    <a 
href="#htmlNewDocNoDtD">htmlNewDocNoDtD</a>          (const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URI, <br>                                  const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID);
+int    <a href="#htmlNodeDump">htmlNodeDump</a>                        (<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#xmlNodePtr">xmlNodePtr</a> cur);
+void   <a href="#htmlNodeDumpFile">htmlNodeDumpFile</a>                (FILE * out, <br>                     
                   <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>                              
     <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
+int    <a href="#htmlNodeDumpFileFormat">htmlNodeDumpFileFormat</a>            (FILE * out, <br>             
                           <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>                      
             <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br>                                  
       const char * encoding, <br>                                     int format);
+void   <a href="#htmlNodeDumpFormatOutput">htmlNodeDumpFormatOutput</a>        (<a 
href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf, <br>                                  
       <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>                                   <a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br>                                         const 
char * encoding, <br>                                     int format);
+void   <a href="#htmlNodeDumpOutput">htmlNodeDumpOutput</a>            (<a 
href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf, <br>                                  
       <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>                                   <a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br>                                         const 
char * encoding);
+int    <a href="#htmlSaveFile">htmlSaveFile</a>                        (const char * filename, <br>          
                           <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur);
+int    <a href="#htmlSaveFileEnc">htmlSaveFileEnc</a>                  (const char * filename, <br>          
                           <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br>                      
             const char * encoding);
+int    <a href="#htmlSaveFileFormat">htmlSaveFileFormat</a>            (const char * filename, <br>          
                           <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br>                      
             const char * encoding, <br>                                     int format);
+int    <a href="#htmlSetMetaEncoding">htmlSetMetaEncoding</a>          (<a 
href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a> doc, <br>                                   const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * encoding);
+</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="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>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="HTML_PI_NODE">Macro </a>HTML_PI_NODE</h3>
+<pre class="programlisting">#define <a href="#HTML_PI_NODE">HTML_PI_NODE</a>;
+</pre>
+<p>Macro. A processing instruction in a HTML document is really implemented the same way as a processing 
instruction in an XML document.</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="HTML_PRESERVE_NODE">Macro </a>HTML_PRESERVE_NODE</h3>
+<pre class="programlisting">#define <a href="#HTML_PRESERVE_NODE">HTML_PRESERVE_NODE</a>;
+</pre>
+<p>Macro. A preserved node in a HTML document is really implemented the same way as a CDATA section in an 
XML document.</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="HTML_TEXT_NODE">Macro </a>HTML_TEXT_NODE</h3>
+<pre class="programlisting">#define <a href="#HTML_TEXT_NODE">HTML_TEXT_NODE</a>;
+</pre>
+<p>Macro. A text node in a HTML document is really implemented the same way as a text node in an XML 
document.</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="htmlDocContentDumpFormatOutput"></a>htmlDocContentDumpFormatOutput ()</h3>
+<pre class="programlisting">void       htmlDocContentDumpFormatOutput  (<a 
href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf, <br>                                  
       <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br>                                   const 
char * encoding, <br>                                     int format)<br>
+</pre>
+<p>Dump an HTML document.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>buf</tt></i>:</span></td>
+<td>the HTML buffer output</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>the document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
+<td>the encoding string (unused)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>format</tt></i>:</span></td>
+<td>should formatting spaces been added</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="htmlDocContentDumpOutput"></a>htmlDocContentDumpOutput ()</h3>
+<pre class="programlisting">void       htmlDocContentDumpOutput        (<a 
href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf, <br>                                  
       <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br>                                   const 
char * encoding)<br>
+</pre>
+<p>Dump an HTML document. Formatting return/spaces are added.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>buf</tt></i>:</span></td>
+<td>the HTML buffer output</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>the document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
+<td>the encoding string (unused)</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="htmlDocDump"></a>htmlDocDump ()</h3>
+<pre class="programlisting">int        htmlDocDump                     (FILE * f, <br>                       
           <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur)<br>
+</pre>
+<p>Dump an HTML document to an open FILE.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>f</tt></i>:</span></td>
+<td>the FILE*</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>the document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the number of byte written or -1 in case of failure.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="htmlDocDumpMemory"></a>htmlDocDumpMemory ()</h3>
+<pre class="programlisting">void       htmlDocDumpMemory               (<a 
href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br>                                   <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** mem, <br>                                       int * 
size)<br>
+</pre>
+<p>Dump an HTML document in memory and return the <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * and 
it's size. It's up to the caller to free the memory.</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 document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>mem</tt></i>:</span></td>
+<td>OUT: the memory pointer</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>size</tt></i>:</span></td>
+<td>OUT: the memory length</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="htmlDocDumpMemoryFormat"></a>htmlDocDumpMemoryFormat ()</h3>
+<pre class="programlisting">void       htmlDocDumpMemoryFormat         (<a 
href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br>                                   <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** mem, <br>                                       int * 
size, <br>                                        int format)<br>
+</pre>
+<p>Dump an HTML document in memory and return the <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * and 
it's size. It's up to the caller to free the memory.</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 document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>mem</tt></i>:</span></td>
+<td>OUT: the memory pointer</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>size</tt></i>:</span></td>
+<td>OUT: the memory length</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>format</tt></i>:</span></td>
+<td>should formatting spaces been added</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="htmlGetMetaEncoding"></a>htmlGetMetaEncoding ()</h3>
+<pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *       
htmlGetMetaEncoding     (<a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a> doc)<br>
+</pre>
+<p>Encoding definition lookup in the Meta tags</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</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the current encoding as flagged in the HTML source</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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 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>
+</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>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="htmlNewDoc"></a>htmlNewDoc ()</h3>
+<pre class="programlisting"><a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>        htmlNewDoc    
          (const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URI, <br>                             
     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID)<br>
+</pre>
+<p>Creates a new HTML document</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>URI</tt></i>:</span></td>
+<td>URI for the dtd, or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ExternalID</tt></i>:</span></td>
+<td>the external ID of the DTD, or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a new document</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="htmlNewDocNoDtD"></a>htmlNewDocNoDtD ()</h3>
+<pre class="programlisting"><a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>        
htmlNewDocNoDtD         (const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URI, <br>               
                   const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID)<br>
+</pre>
+<p>Creates a new HTML document without a DTD node if @URI and @ExternalID are NULL</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>URI</tt></i>:</span></td>
+<td>URI for the dtd, or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ExternalID</tt></i>:</span></td>
+<td>the external ID of the DTD, or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a new document, do not initialize the DTD if not provided</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="htmlNodeDump"></a>htmlNodeDump ()</h3>
+<pre class="programlisting">int        htmlNodeDump                    (<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#xmlNodePtr">xmlNodePtr</a> cur)<br>
+</pre>
+<p>Dump an HTML node, recursive behaviour,children are printed too, and formatting returns are added.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>buf</tt></i>:</span></td>
+<td>the HTML buffer output</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>doc</tt></i>:</span></td>
+<td>the document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>the current node</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the number of byte written or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="htmlNodeDumpFile"></a>htmlNodeDumpFile ()</h3>
+<pre class="programlisting">void       htmlNodeDumpFile                (FILE * out, <br>                     
                   <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>                              
     <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur)<br>
+</pre>
+<p>Dump an HTML node, recursive behaviour,children are printed too, and formatting returns are added.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>out</tt></i>:</span></td>
+<td>the FILE pointer</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>doc</tt></i>:</span></td>
+<td>the document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>the current node</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="htmlNodeDumpFileFormat"></a>htmlNodeDumpFileFormat ()</h3>
+<pre class="programlisting">int        htmlNodeDumpFileFormat          (FILE * out, <br>                     
                   <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>                              
     <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br>                                         
const char * encoding, <br>                                     int format)<br>
+</pre>
+<p>Dump an HTML node, recursive behaviour,children are printed too. TODO: if encoding == NULL try to save in 
the doc encoding</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>out</tt></i>:</span></td>
+<td>the FILE pointer</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>doc</tt></i>:</span></td>
+<td>the document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>the current node</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
+<td>the document encoding</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>format</tt></i>:</span></td>
+<td>should formatting spaces been added</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the number of byte written or -1 in case of failure.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="htmlNodeDumpFormatOutput"></a>htmlNodeDumpFormatOutput ()</h3>
+<pre class="programlisting">void       htmlNodeDumpFormatOutput        (<a 
href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf, <br>                                  
       <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>                                   <a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br>                                         const 
char * encoding, <br>                                     int format)<br>
+</pre>
+<p>Dump an HTML node, recursive behaviour,children are printed too.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>buf</tt></i>:</span></td>
+<td>the HTML buffer output</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>doc</tt></i>:</span></td>
+<td>the document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>the current node</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
+<td>the encoding string (unused)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>format</tt></i>:</span></td>
+<td>should formatting spaces been added</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="htmlNodeDumpOutput"></a>htmlNodeDumpOutput ()</h3>
+<pre class="programlisting">void       htmlNodeDumpOutput              (<a 
href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf, <br>                                  
       <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>                                   <a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br>                                         const 
char * encoding)<br>
+</pre>
+<p>Dump an HTML node, recursive behaviour,children are printed too, and formatting returns/spaces are 
added.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>buf</tt></i>:</span></td>
+<td>the HTML buffer output</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>doc</tt></i>:</span></td>
+<td>the document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>the current node</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
+<td>the encoding string (unused)</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="htmlSaveFile"></a>htmlSaveFile ()</h3>
+<pre class="programlisting">int        htmlSaveFile                    (const char * filename, <br>          
                           <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur)<br>
+</pre>
+<p>Dump an HTML document to a file. If @filename is "-" the stdout file is used.</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 (or URL)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>the document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the number of byte written or -1 in case of failure.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="htmlSaveFileEnc"></a>htmlSaveFileEnc ()</h3>
+<pre class="programlisting">int        htmlSaveFileEnc                 (const char * filename, <br>          
                           <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br>                      
             const char * encoding)<br>
+</pre>
+<p>Dump an HTML document to a file using a given encoding and formatting returns/spaces are added.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>filename</tt></i>:</span></td>
+<td>the filename</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>the document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
+<td>the document encoding</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the number of byte written or -1 in case of failure.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="htmlSaveFileFormat"></a>htmlSaveFileFormat ()</h3>
+<pre class="programlisting">int        htmlSaveFileFormat              (const char * filename, <br>          
                           <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br>                      
             const char * encoding, <br>                                     int format)<br>
+</pre>
+<p>Dump an HTML document to a file using a given encoding.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>filename</tt></i>:</span></td>
+<td>the filename</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>the document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
+<td>the document encoding</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>format</tt></i>:</span></td>
+<td>should formatting spaces been added</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the number of byte written or -1 in case of failure.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="htmlSetMetaEncoding"></a>htmlSetMetaEncoding ()</h3>
+<pre class="programlisting">int        htmlSetMetaEncoding             (<a 
href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a> doc, <br>                                   const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * encoding)<br>
+</pre>
+<p>Sets the current encoding in the Meta tags NOTE: this will not change the document content encoding, just 
the META flag associated.</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</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
+<td>the encoding string</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 in case of success and -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+</div>
+</div>
+</body>
 </html>
diff --git a/doc/devhelp/libxml2-SAX.html b/doc/devhelp/libxml2-SAX.html
index b487a0c2..b87a6e63 100644
--- a/doc/devhelp/libxml2-SAX.html
+++ b/doc/devhelp/libxml2-SAX.html
@@ -1,238 +1,943 @@
-<?xml version="1.0" encoding="UTF-8"?>
 <html>
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
-    <title>SAX: Old SAX version 1 handler, deprecated</title>
-    <meta name="generator" content="Libxml2 devhelp stylesheet"/>
-    <link rel="start" href="index.html" title="libxml2 Reference Manual"/>
-    <link rel="up" href="general.html" title="API"/>
-    <link rel="stylesheet" href="style.css" type="text/css"/>
-    <link rel="chapter" href="general.html" title="API"/>
-  </head>
-  <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-    <table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
-      <tr valign="middle">
-        <td>
-          <a accesskey="p" href="libxml2-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-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">SAX</span>
-    </h2>
-    <p>SAX - Old SAX version 1 handler, deprecated</p>
-    <p>DEPRECATED set of SAX version 1 interfaces used to build the DOM tree. </p>
-    <p> WARNING: this module is deprecated !</p>
-    <p>Author(s): Daniel Veillard </p>
-    <div class="refsynopsisdiv">
-      <h2>Synopsis</h2>
-      <pre class="synopsis">void       <a href="#attribute">attribute</a>                      (void * ctx, 
<br/>                                       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * 
fullname, <br/>                                    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> 
* value);
-void   <a href="#attributeDecl">attributeDecl</a>                      (void * ctx, <br/>                    
                   const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * elem, <br/>                   
                     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * fullname, <br/>             
                       int type, <br/>                                         int def, <br/>                 
                 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * defaultValue, <br/>             
                           <a href="libxml2-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a> tree);
-void   <a href="#cdataBlock">cdataBlock</a>                    (void * ctx, <br/>                            
           const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br/>                          
             int len);
-void   <a href="#characters">characters</a>                    (void * ctx, <br/>                            
           const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ch, <br/>                             
     int len);
-int    <a href="#checkNamespace">checkNamespace</a>                    (void * ctx, <br/>                    
                   <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * namespace);
-void   <a href="#comment">comment</a>                  (void * ctx, <br/>                                    
   const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value);
-void   <a href="#elementDecl">elementDecl</a>                  (void * ctx, <br/>                            
           const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>                           
             int type, <br/>                                         <a 
href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> content);
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>SAX: Old SAX version 1 handler, deprecated</title>
+<meta name="generator" content="Libxml2 devhelp stylesheet">
+<link rel="start" href="index.html" title="libxml2 Reference Manual">
+<link rel="up" href="general.html" title="API">
+<link rel="stylesheet" href="style.css" type="text/css">
+<link rel="chapter" href="general.html" title="API">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr 
valign="middle">
+<td><a accesskey="p" href="libxml2-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-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">SAX</span></h2>
+<p>SAX - Old SAX version 1 handler, deprecated</p>
+<p>DEPRECATED set of SAX version 1 interfaces used to build the DOM tree. </p>
+<p> WARNING: this module is deprecated !</p>
+<p>Author(s): Daniel Veillard </p>
+<div class="refsynopsisdiv">
+<h2>Synopsis</h2>
+<pre class="synopsis">void     <a href="#attribute">attribute</a>                      (void * ctx, <br>     
                                   const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * fullname, 
<br>                                     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value);
+void   <a href="#attributeDecl">attributeDecl</a>                      (void * ctx, <br>                     
                   const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * elem, <br>                    
                     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * fullname, <br>              
                       int type, <br>                                  int def, <br>                          
         const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * defaultValue, <br>                      
                   <a href="libxml2-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a> tree);
+void   <a href="#cdataBlock">cdataBlock</a>                    (void * ctx, <br>                             
           const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br>                           
             int len);
+void   <a href="#characters">characters</a>                    (void * ctx, <br>                             
           const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ch, <br>                              
     int len);
+int    <a href="#checkNamespace">checkNamespace</a>                    (void * ctx, <br>                     
                   <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * namespace);
+void   <a href="#comment">comment</a>                  (void * ctx, <br>                                     
   const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value);
+void   <a href="#elementDecl">elementDecl</a>                  (void * ctx, <br>                             
           const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>                            
             int type, <br>                                  <a 
href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> content);
 void   <a href="#endDocument">endDocument</a>                  (void * ctx);
-void   <a href="#endElement">endElement</a>                    (void * ctx, <br/>                            
           const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
-void   <a href="#entityDecl">entityDecl</a>                    (void * ctx, <br/>                            
           const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>                           
             int type, <br/>                                         const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * publicId, <br/>                                    const 
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * systemId, <br/>                                    <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
-void   <a href="#externalSubset">externalSubset</a>                    (void * ctx, <br/>                    
                   const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>                   
                     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br/>           
                       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * SystemID);
+void   <a href="#endElement">endElement</a>                    (void * ctx, <br>                             
           const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
+void   <a href="#entityDecl">entityDecl</a>                    (void * ctx, <br>                             
           const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>                            
             int type, <br>                                  const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * publicId, <br>                                     const 
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * systemId, <br>                                     <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
+void   <a href="#externalSubset">externalSubset</a>                    (void * ctx, <br>                     
                   const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>                    
                     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br>            
                       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * SystemID);
 int    <a href="#getColumnNumber">getColumnNumber</a>                  (void * ctx);
-<a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a>      <a href="#getEntity">getEntity</a>            
  (void * ctx, <br/>                                       const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
+<a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a>      <a href="#getEntity">getEntity</a>            
  (void * ctx, <br>                                        const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
 int    <a href="#getLineNumber">getLineNumber</a>                      (void * ctx);
 <a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a>      <a href="#getNamespace">getNamespace</a>              
  (void * ctx);
-<a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a>      <a 
href="#getParameterEntity">getParameterEntity</a>    (void * ctx, <br/>                                       
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
+<a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a>      <a 
href="#getParameterEntity">getParameterEntity</a>    (void * ctx, <br>                                        
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *   <a href="#getPublicId">getPublicId</a>        
  (void * ctx);
 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *   <a href="#getSystemId">getSystemId</a>        
  (void * ctx);
-void   <a href="#globalNamespace">globalNamespace</a>                  (void * ctx, <br/>                    
                   const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * href, <br/>                   
                     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix);
+void   <a href="#globalNamespace">globalNamespace</a>                  (void * ctx, <br>                     
                   const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * href, <br>                    
                     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix);
 int    <a href="#hasExternalSubset">hasExternalSubset</a>              (void * ctx);
 int    <a href="#hasInternalSubset">hasInternalSubset</a>              (void * ctx);
-void   <a href="#ignorableWhitespace">ignorableWhitespace</a>          (void * ctx, <br/>                    
                   const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ch, <br/>                     
             int len);
+void   <a href="#ignorableWhitespace">ignorableWhitespace</a>          (void * ctx, <br>                     
                   const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ch, <br>                      
             int len);
 void   <a href="#inithtmlDefaultSAXHandler">inithtmlDefaultSAXHandler</a>      (<a 
href="libxml2-parser.html#xmlSAXHandlerV1">xmlSAXHandlerV1</a> * hdlr);
-void   <a href="#initxmlDefaultSAXHandler">initxmlDefaultSAXHandler</a>        (<a 
href="libxml2-parser.html#xmlSAXHandlerV1">xmlSAXHandlerV1</a> * hdlr, <br/>                                  
       int warning);
-void   <a href="#internalSubset">internalSubset</a>                    (void * ctx, <br/>                    
                   const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>                   
                     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br/>           
                       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * SystemID);
+void   <a href="#initxmlDefaultSAXHandler">initxmlDefaultSAXHandler</a>        (<a 
href="libxml2-parser.html#xmlSAXHandlerV1">xmlSAXHandlerV1</a> * hdlr, <br>                                  
int warning);
+void   <a href="#internalSubset">internalSubset</a>                    (void * ctx, <br>                     
                   const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>                    
                     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br>            
                       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * SystemID);
 int    <a href="#isStandalone">isStandalone</a>                        (void * ctx);
-void   <a href="#namespaceDecl">namespaceDecl</a>                      (void * ctx, <br/>                    
                   const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * href, <br/>                   
                     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix);
-void   <a href="#notationDecl">notationDecl</a>                        (void * ctx, <br/>                    
                   const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>                   
                     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * publicId, <br/>             
                       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * systemId);
-void   <a href="#processingInstruction">processingInstruction</a>              (void * ctx, <br/>            
                           const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * target, <br/>         
                             const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * data);
-void   <a href="#reference">reference</a>                      (void * ctx, <br/>                            
           const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
-<a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>    <a 
href="#resolveEntity">resolveEntity</a>      (void * ctx, <br/>                                       const 
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * publicId, <br/>                                    
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * systemId);
-void   <a href="#setDocumentLocator">setDocumentLocator</a>            (void * ctx, <br/>                    
                   <a href="libxml2-tree.html#xmlSAXLocatorPtr">xmlSAXLocatorPtr</a> loc);
-void   <a href="#setNamespace">setNamespace</a>                        (void * ctx, <br/>                    
                   const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
+void   <a href="#namespaceDecl">namespaceDecl</a>                      (void * ctx, <br>                     
                   const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * href, <br>                    
                     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix);
+void   <a href="#notationDecl">notationDecl</a>                        (void * ctx, <br>                     
                   const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>                    
                     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * publicId, <br>              
                       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * systemId);
+void   <a href="#processingInstruction">processingInstruction</a>              (void * ctx, <br>             
                           const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * target, <br>          
                             const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * data);
+void   <a href="#reference">reference</a>                      (void * ctx, <br>                             
           const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
+<a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>    <a 
href="#resolveEntity">resolveEntity</a>      (void * ctx, <br>                                        const 
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * publicId, <br>                                     
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * systemId);
+void   <a href="#setDocumentLocator">setDocumentLocator</a>            (void * ctx, <br>                     
                   <a href="libxml2-tree.html#xmlSAXLocatorPtr">xmlSAXLocatorPtr</a> loc);
+void   <a href="#setNamespace">setNamespace</a>                        (void * ctx, <br>                     
                   const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
 void   <a href="#startDocument">startDocument</a>                      (void * ctx);
-void   <a href="#startElement">startElement</a>                        (void * ctx, <br/>                    
                   const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * fullname, <br/>               
                     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** atts);
-void   <a href="#unparsedEntityDecl">unparsedEntityDecl</a>            (void * ctx, <br/>                    
                   const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>                   
                     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * publicId, <br/>             
                       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * systemId, <br/>           
                         const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * notationName);
-</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="attribute"/>attribute ()</h3><pre 
class="programlisting">void     attribute                       (void * ctx, <br/>                            
           const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * fullname, <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. DEPRECATED: 
use xmlSAX2Attribute()</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>the user data (XML parser context)</td></tr><tr><td><span 
class="term"><i><tt>fullname</tt></i>:</span></td><td>The <a href="libxml2-SAX.html#attribute">attribute</a> 
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></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="attributeDecl"/>attributeDecl ()</h3><pre 
class="programlisting">void     attributeDecl                   (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 DEPRECATED: use 
xmlSAX2AttributeDecl()</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>the user data (XML parser context)</td></tr><tr><td><span 
class="term"><i><tt>elem</tt></i>:</span></td><td>the name of the element</td></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></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></tr><tr><td><span 
class="term"><i><tt>def</tt></i>:</span></td><td>the type of default value</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></tr><tr><td><span 
class="term"><i><tt>tree</tt></i>:</span></td><td>the tree of enumerated value 
set</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="cdataBlock"/>cdataBlock ()</h3><pre 
class="programlisting">void   cdataBlock                      (void * ctx, <br/>                              
         const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br/>                            
           int len)<br/>
-</pre><p>called when a pcdata block has been parsed DEPRECATED: use xmlSAX2CDataBlock()</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>the user data (XML parser context)</td></tr><tr><td><span 
class="term"><i><tt>value</tt></i>:</span></td><td>The pcdata content</td></tr><tr><td><span 
class="term"><i><tt>len</tt></i>:</span></td><td>the block length</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="characters"/>characters ()</h3><pre 
class="programlisting">void   characters                      (void * ctx, <br/>                              
         const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ch, <br/>                               
   int len)<br/>
-</pre><p>receiving some chars from the parser. DEPRECATED: use xmlSAX2Characters()</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>the user data (XML parser context)</td></tr><tr><td><span 
class="term"><i><tt>ch</tt></i>:</span></td><td>a <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> 
string</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>the number of <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a></td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="checkNamespace"/>checkNamespace ()</h3><pre 
class="programlisting">int    checkNamespace                  (void * ctx, <br/>                              
         <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * namespace)<br/>
-</pre><p>Check that the current element namespace is the same as the one read upon parsing. DEPRECATED</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>the user data (XML parser context)</td></tr><tr><td><span 
class="term"><i><tt>namespace</tt></i>:</span></td><td>the namespace to check against</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="comment"/>comment ()</h3><pre 
class="programlisting">void comment                 (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. DEPRECATED: use 
xmlSAX2Comment()</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>the user data (XML parser context)</td></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></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="elementDecl"/>elementDecl ()</h3><pre 
class="programlisting">void elementDecl                     (void * ctx, <br/>                                
       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>                               
         int type, <br/>                                         <a 
href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> content)<br/>
-</pre><p>An element definition has been parsed DEPRECATED: use xmlSAX2ElementDecl()</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>the user data (XML parser context)</td></tr><tr><td><span 
class="term"><i><tt>name</tt></i>:</span></td><td>the element name</td></tr><tr><td><span 
class="term"><i><tt>type</tt></i>:</span></td><td>the element type</td></tr><tr><td><span 
class="term"><i><tt>content</tt></i>:</span></td><td>the element value 
tree</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="endDocument"/>endDocument ()</h3><pre 
class="programlisting">void endDocument                     (void * ctx)<br/>
-</pre><p>called when the document end has been detected. DEPRECATED: use xmlSAX2EndDocument()</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>the user data (XML parser 
context)</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="endElement"/>endElement ()</h3><pre 
class="programlisting">void   endElement                      (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. DEPRECATED: use xmlSAX2EndElement()</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>the user data (XML parser context)</td></tr><tr><td><span 
class="term"><i><tt>name</tt></i>:</span></td><td>The element name</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="entityDecl"/>entityDecl ()</h3><pre 
class="programlisting">void   entityDecl                      (void * ctx, <br/>                              
         const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>                             
           int type, <br/>                                         const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * publicId, <br/>                                    const 
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * systemId, <br/>                                    <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br/>
-</pre><p>An entity definition has been parsed DEPRECATED: use xmlSAX2EntityDecl()</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>the user data (XML parser context)</td></tr><tr><td><span 
class="term"><i><tt>name</tt></i>:</span></td><td>the entity name</td></tr><tr><td><span 
class="term"><i><tt>type</tt></i>:</span></td><td>the entity type</td></tr><tr><td><span 
class="term"><i><tt>publicId</tt></i>:</span></td><td>The public ID of the entity</td></tr><tr><td><span 
class="term"><i><tt>systemId</tt></i>:</span></td><td>The system ID of the entity</td></tr><tr><td><span 
class="term"><i><tt>content</tt></i>:</span></td><td>the entity value (without 
processing).</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="externalSubset"/>externalSubset ()</h3><pre 
class="programlisting">void   externalSubset                  (void * ctx, <br/>                              
         const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>                             
           const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br/>                     
             const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * SystemID)<br/>
-</pre><p>Callback on external subset declaration. DEPRECATED: use xmlSAX2ExternalSubset()</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>the user data (XML parser context)</td></tr><tr><td><span 
class="term"><i><tt>name</tt></i>:</span></td><td>the root element name</td></tr><tr><td><span 
class="term"><i><tt>ExternalID</tt></i>:</span></td><td>the external ID</td></tr><tr><td><span 
class="term"><i><tt>SystemID</tt></i>:</span></td><td>the SYSTEM ID (e.g. filename or 
URL)</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="getColumnNumber"/>getColumnNumber ()</h3><pre 
class="programlisting">int  getColumnNumber                 (void * ctx)<br/>
-</pre><p>Provide the column number of the current parsing point. DEPRECATED: use xmlSAX2GetColumnNumber()</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>the user data (XML parser context)</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>an int</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="getEntity"/>getEntity ()</h3><pre 
class="programlisting"><a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a>        getEntity             
  (void * ctx, <br/>                                       const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br/>
-</pre><p>Get an entity by name DEPRECATED: use xmlSAX2GetEntity()</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>the user data (XML parser context)</td></tr><tr><td><span 
class="term"><i><tt>name</tt></i>:</span></td><td>The entity name</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a 
href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a> if found.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="getLineNumber"/>getLineNumber ()</h3><pre 
class="programlisting">int      getLineNumber                   (void * ctx)<br/>
-</pre><p>Provide the line number of the current parsing point. DEPRECATED: use xmlSAX2GetLineNumber()</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>the user data (XML parser context)</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>an int</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="getNamespace"/>getNamespace ()</h3><pre 
class="programlisting"><a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a>  getNamespace            (void * 
ctx)<br/>
-</pre><p>Get the current element namespace. DEPRECATED</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>the user data (XML parser context)</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> or 
NULL if none</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="getParameterEntity"/>getParameterEntity ()</h3><pre 
class="programlisting"><a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a>      getParameterEntity      
(void * ctx, <br/>                                       const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br/>
-</pre><p>Get a parameter entity by name DEPRECATED: use xmlSAX2GetParameterEntity()</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>the user data (XML parser context)</td></tr><tr><td><span 
class="term"><i><tt>name</tt></i>:</span></td><td>The entity name</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a 
href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a> if found.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="getPublicId"/>getPublicId ()</h3><pre 
class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * getPublicId             
(void * ctx)<br/>
-</pre><p>Provides the public ID e.g. "-//SGMLSOURCE//DTD DEMO//EN" DEPRECATED: use xmlSAX2GetPublicId()</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>the user data (XML parser context)</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>a <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> 
*</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="getSystemId"/>getSystemId ()</h3><pre 
class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * getSystemId             
(void * ctx)<br/>
-</pre><p>Provides the system ID, basically URL or filename e.g. http://www.sgmlsource.com/dtds/memo.dtd 
DEPRECATED: use xmlSAX2GetSystemId()</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>the user data (XML parser context)</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>a <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> 
*</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="globalNamespace"/>globalNamespace ()</h3><pre 
class="programlisting">void globalNamespace                 (void * ctx, <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>An old global namespace has been parsed. DEPRECATED</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>the user data (XML parser context)</td></tr><tr><td><span 
class="term"><i><tt>href</tt></i>:</span></td><td>the namespace associated URN</td></tr><tr><td><span 
class="term"><i><tt>prefix</tt></i>:</span></td><td>the namespace prefix</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="hasExternalSubset"/>hasExternalSubset ()</h3><pre 
class="programlisting">int      hasExternalSubset               (void * ctx)<br/>
-</pre><p>Does this document has an external subset DEPRECATED: use xmlSAX2HasExternalSubset()</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>the user data (XML parser context)</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="hasInternalSubset"/>hasInternalSubset ()</h3><pre 
class="programlisting">int      hasInternalSubset               (void * ctx)<br/>
-</pre><p>Does this document has an internal subset DEPRECATED: use xmlSAX2HasInternalSubset()</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>the user data (XML parser context)</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="ignorableWhitespace"/>ignorableWhitespace ()</h3><pre 
class="programlisting">void ignorableWhitespace             (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> DEPRECATED: use xmlSAX2IgnorableWhitespace()</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>the user data (XML parser context)</td></tr><tr><td><span 
class="term"><i><tt>ch</tt></i>:</span></td><td>a <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> 
string</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>the number of <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a></td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="inithtmlDefaultSAXHandler"/>inithtmlDefaultSAXHandler 
()</h3><pre class="programlisting">void     inithtmlDefaultSAXHandler       (<a 
href="libxml2-parser.html#xmlSAXHandlerV1">xmlSAXHandlerV1</a> * hdlr)<br/>
-</pre><p>Initialize the default HTML SAX version 1 handler DEPRECATED: use 
xmlSAX2InitHtmlDefaultSAXHandler() for the new SAX2 blocks</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>hdlr</tt></i>:</span></td><td>the SAX handler</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="initxmlDefaultSAXHandler"/>initxmlDefaultSAXHandler 
()</h3><pre class="programlisting">void       initxmlDefaultSAXHandler        (<a 
href="libxml2-parser.html#xmlSAXHandlerV1">xmlSAXHandlerV1</a> * hdlr, <br/>                                  
       int warning)<br/>
-</pre><p>Initialize the default XML SAX version 1 handler DEPRECATED: use xmlSAX2InitDefaultSAXHandler() for 
the new SAX2 blocks</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>hdlr</tt></i>:</span></td><td>the SAX handler</td></tr><tr><td><span 
class="term"><i><tt>warning</tt></i>:</span></td><td>flag if non-zero sets the handler warning 
procedure</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="internalSubset"/>internalSubset ()</h3><pre 
class="programlisting">void   internalSubset                  (void * ctx, <br/>                              
         const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>                             
           const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br/>                     
             const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * SystemID)<br/>
-</pre><p>Callback on internal subset declaration. DEPRECATED: use xmlSAX2InternalSubset()</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>the user data (XML parser context)</td></tr><tr><td><span 
class="term"><i><tt>name</tt></i>:</span></td><td>the root element name</td></tr><tr><td><span 
class="term"><i><tt>ExternalID</tt></i>:</span></td><td>the external ID</td></tr><tr><td><span 
class="term"><i><tt>SystemID</tt></i>:</span></td><td>the SYSTEM ID (e.g. filename or 
URL)</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="isStandalone"/>isStandalone ()</h3><pre 
class="programlisting">int        isStandalone                    (void * ctx)<br/>
-</pre><p>Is this document tagged standalone ? DEPRECATED: use xmlSAX2IsStandalone()</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>the user data (XML parser context)</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="namespaceDecl"/>namespaceDecl ()</h3><pre 
class="programlisting">void     namespaceDecl                   (void * ctx, <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>A namespace has been parsed. DEPRECATED</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>the user data (XML parser context)</td></tr><tr><td><span 
class="term"><i><tt>href</tt></i>:</span></td><td>the namespace associated URN</td></tr><tr><td><span 
class="term"><i><tt>prefix</tt></i>:</span></td><td>the namespace prefix</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="notationDecl"/>notationDecl ()</h3><pre 
class="programlisting">void       notationDecl                    (void * ctx, <br/>                          
             const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>                         
               const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * publicId, <br/>                   
                 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * systemId)<br/>
-</pre><p>What to do when a notation declaration has been parsed. DEPRECATED: use xmlSAX2NotationDecl()</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>the user data (XML parser context)</td></tr><tr><td><span 
class="term"><i><tt>name</tt></i>:</span></td><td>The name of the notation</td></tr><tr><td><span 
class="term"><i><tt>publicId</tt></i>:</span></td><td>The public ID of the entity</td></tr><tr><td><span 
class="term"><i><tt>systemId</tt></i>:</span></td><td>The system ID of the 
entity</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="processingInstruction"/>processingInstruction 
()</h3><pre class="programlisting">void     processingInstruction           (void * ctx, <br/>                
                       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * target, <br/>             
                         const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * data)<br/>
-</pre><p>A processing instruction has been parsed. DEPRECATED: use xmlSAX2ProcessingInstruction()</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>the user data (XML parser context)</td></tr><tr><td><span 
class="term"><i><tt>target</tt></i>:</span></td><td>the target name</td></tr><tr><td><span 
class="term"><i><tt>data</tt></i>:</span></td><td>the PI data's</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="reference"/>reference ()</h3><pre 
class="programlisting">void     reference                       (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. DEPRECATED: 
use xmlSAX2Reference()</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>the user data (XML parser context)</td></tr><tr><td><span 
class="term"><i><tt>name</tt></i>:</span></td><td>The entity name</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="resolveEntity"/>resolveEntity ()</h3><pre 
class="programlisting"><a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>      resolveEntity 
  (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 resolveEntity() callback in the SAX block - or better use the xmlSetExternalEntityLoader() 
function to set up it's own entity resolution routine DEPRECATED: use xmlSAX2ResolveEntity()</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>the user data (XML parser context)</td></tr><tr><td><span 
class="term"><i><tt>publicId</tt></i>:</span></td><td>The public ID of the entity</td></tr><tr><td><span 
class="term"><i><tt>systemId</tt></i>:</span></td><td>The system ID of the entity</td></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></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="setDocumentLocator"/>setDocumentLocator ()</h3><pre 
class="programlisting">void   setDocumentLocator              (void * ctx, <br/>                              
         <a href="libxml2-tree.html#xmlSAXLocatorPtr">xmlSAXLocatorPtr</a> loc)<br/>
-</pre><p>Receive the document locator at startup, actually <a 
href="libxml2-globals.html#xmlDefaultSAXLocator">xmlDefaultSAXLocator</a> Everything is available on the 
context, so this is useless in our case. DEPRECATED</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>the user data (XML parser context)</td></tr><tr><td><span 
class="term"><i><tt>loc</tt></i>:</span></td><td>A SAX Locator</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="setNamespace"/>setNamespace ()</h3><pre 
class="programlisting">void       setNamespace                    (void * ctx, <br/>                          
             const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br/>
-</pre><p>Set the current element namespace. DEPRECATED</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>the user data (XML parser context)</td></tr><tr><td><span 
class="term"><i><tt>name</tt></i>:</span></td><td>the namespace prefix</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="startDocument"/>startDocument ()</h3><pre 
class="programlisting">void     startDocument                   (void * ctx)<br/>
-</pre><p>called when the document start being processed. DEPRECATED: use xmlSAX2StartDocument()</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>the user data (XML parser 
context)</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="startElement"/>startElement ()</h3><pre 
class="programlisting">void       startElement                    (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. DEPRECATED: use xmlSAX2StartElement()</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>the user data (XML parser context)</td></tr><tr><td><span 
class="term"><i><tt>fullname</tt></i>:</span></td><td>The element name, including namespace 
prefix</td></tr><tr><td><span class="term"><i><tt>atts</tt></i>:</span></td><td>An array of name/value 
attributes pairs, NULL terminated</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="unparsedEntityDecl"/>unparsedEntityDecl ()</h3><pre 
class="programlisting">void   unparsedEntityDecl              (void * ctx, <br/>                              
         const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>                             
           const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * publicId, <br/>                       
             const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * systemId, <br/>                     
               const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * notationName)<br/>
-</pre><p>What to do when an unparsed entity declaration is parsed DEPRECATED: use 
xmlSAX2UnparsedEntityDecl()</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>the user data (XML parser context)</td></tr><tr><td><span 
class="term"><i><tt>name</tt></i>:</span></td><td>The name of the entity</td></tr><tr><td><span 
class="term"><i><tt>publicId</tt></i>:</span></td><td>The public ID of the entity</td></tr><tr><td><span 
class="term"><i><tt>systemId</tt></i>:</span></td><td>The system ID of the entity</td></tr><tr><td><span 
class="term"><i><tt>notationName</tt></i>:</span></td><td>the name of the 
notation</td></tr></tbody></table></div></div>
-        <hr/>
-      </div>
-    </div>
-  </body>
+void   <a href="#startElement">startElement</a>                        (void * ctx, <br>                     
                   const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * fullname, <br>                
                     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** atts);
+void   <a href="#unparsedEntityDecl">unparsedEntityDecl</a>            (void * ctx, <br>                     
                   const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>                    
                     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * publicId, <br>              
                       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * systemId, <br>            
                         const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * notationName);
+</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="attribute"></a>attribute ()</h3>
+<pre class="programlisting">void       attribute                       (void * ctx, <br>                     
                   const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * fullname, <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. DEPRECATED: 
use xmlSAX2Attribute()</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>the user data (XML parser context)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>fullname</tt></i>:</span></td>
+<td>The <a href="libxml2-SAX.html#attribute">attribute</a> 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>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="attributeDecl"></a>attributeDecl ()</h3>
+<pre class="programlisting">void       attributeDecl                   (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 DEPRECATED: use 
xmlSAX2AttributeDecl()</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>the user data (XML parser context)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>elem</tt></i>:</span></td>
+<td>the name of the element</td>
+</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>
+</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>
+</tr>
+<tr>
+<td><span class="term"><i><tt>def</tt></i>:</span></td>
+<td>the type of default value</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>
+</tr>
+<tr>
+<td><span class="term"><i><tt>tree</tt></i>:</span></td>
+<td>the tree of enumerated value set</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="cdataBlock"></a>cdataBlock ()</h3>
+<pre class="programlisting">void       cdataBlock                      (void * ctx, <br>                     
                   const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br>                   
                     int len)<br>
+</pre>
+<p>called when a pcdata block has been parsed DEPRECATED: use xmlSAX2CDataBlock()</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>the user data (XML parser context)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>value</tt></i>:</span></td>
+<td>The pcdata content</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>len</tt></i>:</span></td>
+<td>the block length</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="characters"></a>characters ()</h3>
+<pre class="programlisting">void       characters                      (void * ctx, <br>                     
                   const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ch, <br>                      
             int len)<br>
+</pre>
+<p>receiving some chars from the parser. DEPRECATED: use xmlSAX2Characters()</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>the user data (XML parser context)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ch</tt></i>:</span></td>
+<td>a <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> string</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>len</tt></i>:</span></td>
+<td>the number of <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="checkNamespace"></a>checkNamespace ()</h3>
+<pre class="programlisting">int        checkNamespace                  (void * ctx, <br>                     
                   <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * namespace)<br>
+</pre>
+<p>Check that the current element namespace is the same as the one read upon parsing. DEPRECATED</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>the user data (XML parser context)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>namespace</tt></i>:</span></td>
+<td>the namespace to check against</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="comment"></a>comment ()</h3>
+<pre class="programlisting">void       comment                 (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. DEPRECATED: use xmlSAX2Comment()</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>the user data (XML parser context)</td>
+</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>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="elementDecl"></a>elementDecl ()</h3>
+<pre class="programlisting">void       elementDecl                     (void * ctx, <br>                     
                   const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>                    
                     int type, <br>                                  <a 
href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> content)<br>
+</pre>
+<p>An element definition has been parsed DEPRECATED: use xmlSAX2ElementDecl()</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>the user data (XML parser context)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the element name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>type</tt></i>:</span></td>
+<td>the element type</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>content</tt></i>:</span></td>
+<td>the element value tree</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="endDocument"></a>endDocument ()</h3>
+<pre class="programlisting">void       endDocument                     (void * ctx)<br>
+</pre>
+<p>called when the document end has been detected. DEPRECATED: use xmlSAX2EndDocument()</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>the user data (XML parser context)</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="endElement"></a>endElement ()</h3>
+<pre class="programlisting">void       endElement                      (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. DEPRECATED: use xmlSAX2EndElement()</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>the user data (XML parser context)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>The element name</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="entityDecl"></a>entityDecl ()</h3>
+<pre class="programlisting">void       entityDecl                      (void * ctx, <br>                     
                   const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>                    
                     int type, <br>                                  const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * publicId, <br>                                     const 
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * systemId, <br>                                     <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br>
+</pre>
+<p>An entity definition has been parsed DEPRECATED: use xmlSAX2EntityDecl()</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>the user data (XML parser context)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the entity name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>type</tt></i>:</span></td>
+<td>the entity type</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>publicId</tt></i>:</span></td>
+<td>The public ID of the entity</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>systemId</tt></i>:</span></td>
+<td>The system ID of the entity</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>content</tt></i>:</span></td>
+<td>the entity value (without processing).</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="externalSubset"></a>externalSubset ()</h3>
+<pre class="programlisting">void       externalSubset                  (void * ctx, <br>                     
                   const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>                    
                     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br>            
                       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * SystemID)<br>
+</pre>
+<p>Callback on external subset declaration. DEPRECATED: use xmlSAX2ExternalSubset()</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>the user data (XML parser context)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the root element name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ExternalID</tt></i>:</span></td>
+<td>the external ID</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>SystemID</tt></i>:</span></td>
+<td>the SYSTEM ID (e.g. filename or URL)</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="getColumnNumber"></a>getColumnNumber ()</h3>
+<pre class="programlisting">int        getColumnNumber                 (void * ctx)<br>
+</pre>
+<p>Provide the column number of the current parsing point. DEPRECATED: use xmlSAX2GetColumnNumber()</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>the user data (XML parser context)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>an int</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="getEntity"></a>getEntity ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a>  getEntity             
  (void * ctx, <br>                                        const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
+</pre>
+<p>Get an entity by name DEPRECATED: use xmlSAX2GetEntity()</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>the user data (XML parser context)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>The entity name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the <a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a> if found.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="getLineNumber"></a>getLineNumber ()</h3>
+<pre class="programlisting">int        getLineNumber                   (void * ctx)<br>
+</pre>
+<p>Provide the line number of the current parsing point. DEPRECATED: use xmlSAX2GetLineNumber()</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>the user data (XML parser context)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>an int</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="getNamespace"></a>getNamespace ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a>  getNamespace            (void 
* ctx)<br>
+</pre>
+<p>Get the current element namespace. DEPRECATED</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>the user data (XML parser context)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the <a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> or NULL if none</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="getParameterEntity"></a>getParameterEntity ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a>  getParameterEntity    
  (void * ctx, <br>                                        const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
+</pre>
+<p>Get a parameter entity by name DEPRECATED: use xmlSAX2GetParameterEntity()</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>the user data (XML parser context)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>The entity name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the <a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a> if found.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="getPublicId"></a>getPublicId ()</h3>
+<pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *       getPublicId   
          (void * ctx)<br>
+</pre>
+<p>Provides the public ID e.g. "-//SGMLSOURCE//DTD DEMO//EN" DEPRECATED: use xmlSAX2GetPublicId()</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>the user data (XML parser context)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="getSystemId"></a>getSystemId ()</h3>
+<pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *       getSystemId   
          (void * ctx)<br>
+</pre>
+<p>Provides the system ID, basically URL or filename e.g. http://www.sgmlsource.com/dtds/memo.dtd 
DEPRECATED: use xmlSAX2GetSystemId()</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>the user data (XML parser context)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="globalNamespace"></a>globalNamespace ()</h3>
+<pre class="programlisting">void       globalNamespace                 (void * ctx, <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>An old global namespace has been parsed. DEPRECATED</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>the user data (XML parser context)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>href</tt></i>:</span></td>
+<td>the namespace associated URN</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>prefix</tt></i>:</span></td>
+<td>the namespace prefix</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="hasExternalSubset"></a>hasExternalSubset ()</h3>
+<pre class="programlisting">int        hasExternalSubset               (void * ctx)<br>
+</pre>
+<p>Does this document has an external subset DEPRECATED: use xmlSAX2HasExternalSubset()</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>the user data (XML parser context)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="hasInternalSubset"></a>hasInternalSubset ()</h3>
+<pre class="programlisting">int        hasInternalSubset               (void * ctx)<br>
+</pre>
+<p>Does this document has an internal subset DEPRECATED: use xmlSAX2HasInternalSubset()</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>the user data (XML parser context)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="ignorableWhitespace"></a>ignorableWhitespace ()</h3>
+<pre class="programlisting">void       ignorableWhitespace             (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> DEPRECATED: use xmlSAX2IgnorableWhitespace()</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>the user data (XML parser context)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ch</tt></i>:</span></td>
+<td>a <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> string</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>len</tt></i>:</span></td>
+<td>the number of <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="inithtmlDefaultSAXHandler"></a>inithtmlDefaultSAXHandler ()</h3>
+<pre class="programlisting">void       inithtmlDefaultSAXHandler       (<a 
href="libxml2-parser.html#xmlSAXHandlerV1">xmlSAXHandlerV1</a> * hdlr)<br>
+</pre>
+<p>Initialize the default HTML SAX version 1 handler DEPRECATED: use xmlSAX2InitHtmlDefaultSAXHandler() for 
the new SAX2 blocks</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>hdlr</tt></i>:</span></td>
+<td>the SAX handler</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="initxmlDefaultSAXHandler"></a>initxmlDefaultSAXHandler ()</h3>
+<pre class="programlisting">void       initxmlDefaultSAXHandler        (<a 
href="libxml2-parser.html#xmlSAXHandlerV1">xmlSAXHandlerV1</a> * hdlr, <br>                                  
int warning)<br>
+</pre>
+<p>Initialize the default XML SAX version 1 handler DEPRECATED: use xmlSAX2InitDefaultSAXHandler() for the 
new SAX2 blocks</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>hdlr</tt></i>:</span></td>
+<td>the SAX handler</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>warning</tt></i>:</span></td>
+<td>flag if non-zero sets the handler warning procedure</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="internalSubset"></a>internalSubset ()</h3>
+<pre class="programlisting">void       internalSubset                  (void * ctx, <br>                     
                   const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>                    
                     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br>            
                       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * SystemID)<br>
+</pre>
+<p>Callback on internal subset declaration. DEPRECATED: use xmlSAX2InternalSubset()</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>the user data (XML parser context)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the root element name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ExternalID</tt></i>:</span></td>
+<td>the external ID</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>SystemID</tt></i>:</span></td>
+<td>the SYSTEM ID (e.g. filename or URL)</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="isStandalone"></a>isStandalone ()</h3>
+<pre class="programlisting">int        isStandalone                    (void * ctx)<br>
+</pre>
+<p>Is this document tagged standalone ? DEPRECATED: use xmlSAX2IsStandalone()</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>the user data (XML parser context)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="namespaceDecl"></a>namespaceDecl ()</h3>
+<pre class="programlisting">void       namespaceDecl                   (void * ctx, <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>A namespace has been parsed. DEPRECATED</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>the user data (XML parser context)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>href</tt></i>:</span></td>
+<td>the namespace associated URN</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>prefix</tt></i>:</span></td>
+<td>the namespace prefix</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="notationDecl"></a>notationDecl ()</h3>
+<pre class="programlisting">void       notationDecl                    (void * ctx, <br>                     
                   const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>                    
                     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * publicId, <br>              
                       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * systemId)<br>
+</pre>
+<p>What to do when a notation declaration has been parsed. DEPRECATED: use xmlSAX2NotationDecl()</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>the user data (XML parser context)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>The name of the notation</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>publicId</tt></i>:</span></td>
+<td>The public ID of the entity</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>systemId</tt></i>:</span></td>
+<td>The system ID of the entity</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="processingInstruction"></a>processingInstruction ()</h3>
+<pre class="programlisting">void       processingInstruction           (void * ctx, <br>                     
                   const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * target, <br>                  
                     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * data)<br>
+</pre>
+<p>A processing instruction has been parsed. DEPRECATED: use xmlSAX2ProcessingInstruction()</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>the user data (XML parser context)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>target</tt></i>:</span></td>
+<td>the target name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>data</tt></i>:</span></td>
+<td>the PI data's</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="reference"></a>reference ()</h3>
+<pre class="programlisting">void       reference                       (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. DEPRECATED: use 
xmlSAX2Reference()</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>the user data (XML parser context)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>The entity name</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="resolveEntity"></a>resolveEntity ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>        
resolveEntity   (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 resolveEntity() callback in the SAX block - or better use the xmlSetExternalEntityLoader() function to 
set up it's own entity resolution routine DEPRECATED: use xmlSAX2ResolveEntity()</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>the user data (XML parser context)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>publicId</tt></i>:</span></td>
+<td>The public ID of the entity</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>systemId</tt></i>:</span></td>
+<td>The system ID of the entity</td>
+</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>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="setDocumentLocator"></a>setDocumentLocator ()</h3>
+<pre class="programlisting">void       setDocumentLocator              (void * ctx, <br>                     
                   <a href="libxml2-tree.html#xmlSAXLocatorPtr">xmlSAXLocatorPtr</a> loc)<br>
+</pre>
+<p>Receive the document locator at startup, actually <a 
href="libxml2-globals.html#xmlDefaultSAXLocator">xmlDefaultSAXLocator</a> Everything is available on the 
context, so this is useless in our case. DEPRECATED</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>the user data (XML parser context)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>loc</tt></i>:</span></td>
+<td>A SAX Locator</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="setNamespace"></a>setNamespace ()</h3>
+<pre class="programlisting">void       setNamespace                    (void * ctx, <br>                     
                   const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
+</pre>
+<p>Set the current element namespace. DEPRECATED</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>the user data (XML parser context)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the namespace prefix</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="startDocument"></a>startDocument ()</h3>
+<pre class="programlisting">void       startDocument                   (void * ctx)<br>
+</pre>
+<p>called when the document start being processed. DEPRECATED: use xmlSAX2StartDocument()</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>the user data (XML parser context)</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="startElement"></a>startElement ()</h3>
+<pre class="programlisting">void       startElement                    (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. DEPRECATED: use xmlSAX2StartElement()</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>the user data (XML parser context)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>fullname</tt></i>:</span></td>
+<td>The element name, including namespace prefix</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>atts</tt></i>:</span></td>
+<td>An array of name/value attributes pairs, NULL terminated</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="unparsedEntityDecl"></a>unparsedEntityDecl ()</h3>
+<pre class="programlisting">void       unparsedEntityDecl              (void * ctx, <br>                     
                   const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>                    
                     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * publicId, <br>              
                       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * systemId, <br>            
                         const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * notationName)<br>
+</pre>
+<p>What to do when an unparsed entity declaration is parsed DEPRECATED: use xmlSAX2UnparsedEntityDecl()</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>the user data (XML parser context)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>The name of the entity</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>publicId</tt></i>:</span></td>
+<td>The public ID of the entity</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>systemId</tt></i>:</span></td>
+<td>The system ID of the entity</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>notationName</tt></i>:</span></td>
+<td>the name of the notation</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+</div>
+</div>
+</body>
 </html>
diff --git a/doc/devhelp/libxml2-SAX2.html b/doc/devhelp/libxml2-SAX2.html
index 2882e6f4..2e2a6ed7 100644
--- a/doc/devhelp/libxml2-SAX2.html
+++ b/doc/devhelp/libxml2-SAX2.html
@@ -1,237 +1,940 @@
-<?xml version="1.0" encoding="UTF-8"?>
 <html>
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
-    <title>SAX2: SAX2 parser interface used to build the DOM tree</title>
-    <meta name="generator" content="Libxml2 devhelp stylesheet"/>
-    <link rel="start" href="index.html" title="libxml2 Reference Manual"/>
-    <link rel="up" href="general.html" title="API"/>
-    <link rel="stylesheet" href="style.css" type="text/css"/>
-    <link rel="chapter" href="general.html" title="API"/>
-  </head>
-  <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-    <table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
-      <tr valign="middle">
-        <td>
-          <a accesskey="p" href="libxml2-SAX.html">
-            <img src="left.png" width="24" height="24" border="0" alt="Prev"/>
-          </a>
-        </td>
-        <td>
-          <a accesskey="u" href="general.html">
-            <img src="up.png" width="24" height="24" border="0" alt="Up"/>
-          </a>
-        </td>
-        <td>
-          <a accesskey="h" href="index.html">
-            <img src="home.png" width="24" height="24" border="0" alt="Home"/>
-          </a>
-        </td>
-        <td>
-          <a accesskey="n" href="libxml2-c14n.html">
-            <img src="right.png" width="24" height="24" border="0" alt="Next"/>
-          </a>
-        </td>
-        <th width="100%" align="center">libxml2 Reference Manual</th>
-      </tr>
-    </table>
-    <h2>
-      <span class="refentrytitle">SAX2</span>
-    </h2>
-    <p>SAX2 - SAX2 parser interface used to build the DOM tree</p>
-    <p>those are the default SAX2 interfaces used by the library when building DOM tree. </p>
-    <p>Author(s): Daniel Veillard </p>
-    <div class="refsynopsisdiv">
-      <h2>Synopsis</h2>
-      <pre class="synopsis">void       <a href="#htmlDefaultSAXHandlerInit">htmlDefaultSAXHandlerInit</a>    
  (void);
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>SAX2: SAX2 parser interface used to build the DOM tree</title>
+<meta name="generator" content="Libxml2 devhelp stylesheet">
+<link rel="start" href="index.html" title="libxml2 Reference Manual">
+<link rel="up" href="general.html" title="API">
+<link rel="stylesheet" href="style.css" type="text/css">
+<link rel="chapter" href="general.html" title="API">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr 
valign="middle">
+<td><a accesskey="p" href="libxml2-SAX.html"><img src="left.png" width="24" height="24" border="0" 
alt="Prev"></a></td>
+<td><a accesskey="u" href="general.html"><img src="up.png" width="24" height="24" border="0" 
alt="Up"></a></td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" 
alt="Home"></a></td>
+<td><a accesskey="n" href="libxml2-c14n.html"><img src="right.png" width="24" height="24" border="0" 
alt="Next"></a></td>
+<th width="100%" align="center">libxml2 Reference Manual</th>
+</tr></table>
+<h2><span class="refentrytitle">SAX2</span></h2>
+<p>SAX2 - SAX2 parser interface used to build the DOM tree</p>
+<p>those are the default SAX2 interfaces used by the library when building DOM tree. </p>
+<p>Author(s): Daniel Veillard </p>
+<div class="refsynopsisdiv">
+<h2>Synopsis</h2>
+<pre class="synopsis">void     <a href="#htmlDefaultSAXHandlerInit">htmlDefaultSAXHandlerInit</a>      
(void);
 void   <a href="#xmlDefaultSAXHandlerInit">xmlDefaultSAXHandlerInit</a>        (void);
-void   <a href="#xmlSAX2AttributeDecl">xmlSAX2AttributeDecl</a>                (void * ctx, <br/>            
                           const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * elem, <br/>           
                             const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * fullname, <br/>     
                               int type, <br/>                                         int def, <br/>         
                         const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * defaultValue, <br/>     
                                   <a href="libxml2-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a> tree);
-void   <a href="#xmlSAX2CDataBlock">xmlSAX2CDataBlock</a>              (void * ctx, <br/>                    
                   const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br/>                  
                     int len);
-void   <a href="#xmlSAX2Characters">xmlSAX2Characters</a>              (void * ctx, <br/>                    
                   const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ch, <br/>                     
             int len);
-void   <a href="#xmlSAX2Comment">xmlSAX2Comment</a>                    (void * ctx, <br/>                    
                   const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value);
-void   <a href="#xmlSAX2ElementDecl">xmlSAX2ElementDecl</a>            (void * ctx, <br/>                    
                   const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>                   
                     int type, <br/>                                         <a 
href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> content);
+void   <a href="#xmlSAX2AttributeDecl">xmlSAX2AttributeDecl</a>                (void * ctx, <br>             
                           const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * elem, <br>            
                             const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * fullname, <br>      
                               int type, <br>                                  int def, <br>                  
                 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * defaultValue, <br>              
                           <a href="libxml2-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a> tree);
+void   <a href="#xmlSAX2CDataBlock">xmlSAX2CDataBlock</a>              (void * ctx, <br>                     
                   const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br>                   
                     int len);
+void   <a href="#xmlSAX2Characters">xmlSAX2Characters</a>              (void * ctx, <br>                     
                   const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ch, <br>                      
             int len);
+void   <a href="#xmlSAX2Comment">xmlSAX2Comment</a>                    (void * ctx, <br>                     
                   const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value);
+void   <a href="#xmlSAX2ElementDecl">xmlSAX2ElementDecl</a>            (void * ctx, <br>                     
                   const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>                    
                     int type, <br>                                  <a 
href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> content);
 void   <a href="#xmlSAX2EndDocument">xmlSAX2EndDocument</a>            (void * ctx);
-void   <a href="#xmlSAX2EndElement">xmlSAX2EndElement</a>              (void * ctx, <br/>                    
                   const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
-void   <a href="#xmlSAX2EndElementNs">xmlSAX2EndElementNs</a>          (void * ctx, <br/>                    
                   const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * localname, <br/>              
                     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br/>               
                       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URI);
-void   <a href="#xmlSAX2EntityDecl">xmlSAX2EntityDecl</a>              (void * ctx, <br/>                    
                   const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>                   
                     int type, <br/>                                         const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * publicId, <br/>                                    const 
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * systemId, <br/>                                    <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
-void   <a href="#xmlSAX2ExternalSubset">xmlSAX2ExternalSubset</a>              (void * ctx, <br/>            
                           const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>           
                             const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br/>   
                               const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * SystemID);
+void   <a href="#xmlSAX2EndElement">xmlSAX2EndElement</a>              (void * ctx, <br>                     
                   const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
+void   <a href="#xmlSAX2EndElementNs">xmlSAX2EndElementNs</a>          (void * ctx, <br>                     
                   const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * localname, <br>               
                     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br>                
                       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URI);
+void   <a href="#xmlSAX2EntityDecl">xmlSAX2EntityDecl</a>              (void * ctx, <br>                     
                   const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>                    
                     int type, <br>                                  const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * publicId, <br>                                     const 
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * systemId, <br>                                     <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
+void   <a href="#xmlSAX2ExternalSubset">xmlSAX2ExternalSubset</a>              (void * ctx, <br>             
                           const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>            
                             const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br>    
                               const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * SystemID);
 int    <a href="#xmlSAX2GetColumnNumber">xmlSAX2GetColumnNumber</a>            (void * ctx);
-<a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a>      <a 
href="#xmlSAX2GetEntity">xmlSAX2GetEntity</a>        (void * ctx, <br/>                                       
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
+<a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a>      <a 
href="#xmlSAX2GetEntity">xmlSAX2GetEntity</a>        (void * ctx, <br>                                        
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
 int    <a href="#xmlSAX2GetLineNumber">xmlSAX2GetLineNumber</a>                (void * ctx);
-<a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a>      <a 
href="#xmlSAX2GetParameterEntity">xmlSAX2GetParameterEntity</a>      (void * ctx, <br/>                       
                        const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
+<a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a>      <a 
href="#xmlSAX2GetParameterEntity">xmlSAX2GetParameterEntity</a>      (void * ctx, <br>                        
                        const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *   <a 
href="#xmlSAX2GetPublicId">xmlSAX2GetPublicId</a>    (void * ctx);
 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *   <a 
href="#xmlSAX2GetSystemId">xmlSAX2GetSystemId</a>    (void * ctx);
 int    <a href="#xmlSAX2HasExternalSubset">xmlSAX2HasExternalSubset</a>        (void * ctx);
 int    <a href="#xmlSAX2HasInternalSubset">xmlSAX2HasInternalSubset</a>        (void * ctx);
-void   <a href="#xmlSAX2IgnorableWhitespace">xmlSAX2IgnorableWhitespace</a>    (void * ctx, <br/>            
                           const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ch, <br/>             
                     int len);
-void   <a href="#xmlSAX2InitDefaultSAXHandler">xmlSAX2InitDefaultSAXHandler</a>        (<a 
href="libxml2-tree.html#xmlSAXHandler">xmlSAXHandler</a> * hdlr, <br/>                                       
int warning);
+void   <a href="#xmlSAX2IgnorableWhitespace">xmlSAX2IgnorableWhitespace</a>    (void * ctx, <br>             
                           const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ch, <br>              
                     int len);
+void   <a href="#xmlSAX2InitDefaultSAXHandler">xmlSAX2InitDefaultSAXHandler</a>        (<a 
href="libxml2-tree.html#xmlSAXHandler">xmlSAXHandler</a> * hdlr, <br>                                        
int warning);
 void   <a href="#xmlSAX2InitHtmlDefaultSAXHandler">xmlSAX2InitHtmlDefaultSAXHandler</a>        (<a 
href="libxml2-tree.html#xmlSAXHandler">xmlSAXHandler</a> * hdlr);
-void   <a href="#xmlSAX2InternalSubset">xmlSAX2InternalSubset</a>              (void * ctx, <br/>            
                           const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>           
                             const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br/>   
                               const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * SystemID);
+void   <a href="#xmlSAX2InternalSubset">xmlSAX2InternalSubset</a>              (void * ctx, <br>             
                           const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>            
                             const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br>    
                               const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * SystemID);
 int    <a href="#xmlSAX2IsStandalone">xmlSAX2IsStandalone</a>          (void * ctx);
-void   <a href="#xmlSAX2NotationDecl">xmlSAX2NotationDecl</a>          (void * ctx, <br/>                    
                   const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>                   
                     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * publicId, <br/>             
                       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * systemId);
-void   <a href="#xmlSAX2ProcessingInstruction">xmlSAX2ProcessingInstruction</a>        (void * ctx, <br/>    
                                   const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * target, <br/> 
                                     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * data);
-void   <a href="#xmlSAX2Reference">xmlSAX2Reference</a>                (void * ctx, <br/>                    
                   const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
-<a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>    <a 
href="#xmlSAX2ResolveEntity">xmlSAX2ResolveEntity</a>        (void * ctx, <br/>                               
                const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * publicId, <br/>                  
                          const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * systemId);
-void   <a href="#xmlSAX2SetDocumentLocator">xmlSAX2SetDocumentLocator</a>      (void * ctx, <br/>            
                           <a href="libxml2-tree.html#xmlSAXLocatorPtr">xmlSAXLocatorPtr</a> loc);
+void   <a href="#xmlSAX2NotationDecl">xmlSAX2NotationDecl</a>          (void * ctx, <br>                     
                   const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>                    
                     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * publicId, <br>              
                       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * systemId);
+void   <a href="#xmlSAX2ProcessingInstruction">xmlSAX2ProcessingInstruction</a>        (void * ctx, <br>     
                                   const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * target, <br>  
                                     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * data);
+void   <a href="#xmlSAX2Reference">xmlSAX2Reference</a>                (void * ctx, <br>                     
                   const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
+<a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>    <a 
href="#xmlSAX2ResolveEntity">xmlSAX2ResolveEntity</a>        (void * ctx, <br>                                
                const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * publicId, <br>                   
                          const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * systemId);
+void   <a href="#xmlSAX2SetDocumentLocator">xmlSAX2SetDocumentLocator</a>      (void * ctx, <br>             
                           <a href="libxml2-tree.html#xmlSAXLocatorPtr">xmlSAXLocatorPtr</a> loc);
 void   <a href="#xmlSAX2StartDocument">xmlSAX2StartDocument</a>                (void * ctx);
-void   <a href="#xmlSAX2StartElement">xmlSAX2StartElement</a>          (void * ctx, <br/>                    
                   const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * fullname, <br/>               
                     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** atts);
-void   <a href="#xmlSAX2StartElementNs">xmlSAX2StartElementNs</a>              (void * ctx, <br/>            
                           const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * localname, <br/>      
                             const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br/>       
                               const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URI, <br/>        
                                 int nb_namespaces, <br/>                                        const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** namespaces, <br/>                                        
 int nb_attributes, <br/>                                        int nb_defaulted, <br/>                      
                   const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** attributes);
-void   <a href="#xmlSAX2UnparsedEntityDecl">xmlSAX2UnparsedEntityDecl</a>      (void * ctx, <br/>            
                           const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>           
                             const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * publicId, <br/>     
                               const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * systemId, <br/>   
                                 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * notationName);
+void   <a href="#xmlSAX2StartElement">xmlSAX2StartElement</a>          (void * ctx, <br>                     
                   const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * fullname, <br>                
                     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** atts);
+void   <a href="#xmlSAX2StartElementNs">xmlSAX2StartElementNs</a>              (void * ctx, <br>             
                           const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * localname, <br>       
                             const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br>        
                               const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URI, <br>         
                         int nb_namespaces, <br>                                         const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** namespaces, <br>                                  int 
nb_attributes, <br>                                         int nb_defaulted, <br>                            
      const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** attributes);
+void   <a href="#xmlSAX2UnparsedEntityDecl">xmlSAX2UnparsedEntityDecl</a>      (void * ctx, <br>             
                           const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>            
                             const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * publicId, <br>      
                               const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * systemId, <br>    
                                 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * notationName);
 int    <a href="#xmlSAXDefaultVersion">xmlSAXDefaultVersion</a>                (int version);
-int    <a href="#xmlSAXVersion">xmlSAXVersion</a>                      (<a 
href="libxml2-tree.html#xmlSAXHandler">xmlSAXHandler</a> * hdlr, <br/>                                       
int version);
-</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="htmlDefaultSAXHandlerInit"/>htmlDefaultSAXHandlerInit 
()</h3><pre class="programlisting">void     htmlDefaultSAXHandlerInit       (void)<br/>
-</pre><p>DEPRECATED: This function will be made private. Call <a 
href="libxml2-parser.html#xmlInitParser">xmlInitParser</a> to initialize the library. Initialize the default 
SAX handler</p>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlDefaultSAXHandlerInit"/>xmlDefaultSAXHandlerInit 
()</h3><pre class="programlisting">void       xmlDefaultSAXHandlerInit        (void)<br/>
-</pre><p>DEPRECATED: This function will be made private. Call <a 
href="libxml2-parser.html#xmlInitParser">xmlInitParser</a> to initialize the library. Initialize the default 
SAX2 handler</p>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSAX2AttributeDecl"/>xmlSAX2AttributeDecl ()</h3><pre 
class="programlisting">void       xmlSAX2AttributeDecl            (void * ctx, <br/>                          
             const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * elem, <br/>                         
               const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * fullname, <br/>                   
                 int type, <br/>                                         int def, <br/>                       
           const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * defaultValue, <br/>                   
                     <a href="libxml2-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a> tree)<br/>
-</pre><p>An <a href="libxml2-SAX.html#attribute">attribute</a> definition has been parsed</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>the user data (XML parser context)</td></tr><tr><td><span 
class="term"><i><tt>elem</tt></i>:</span></td><td>the name of the element</td></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></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></tr><tr><td><span 
class="term"><i><tt>def</tt></i>:</span></td><td>the type of default value</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></tr><tr><td><span 
class="term"><i><tt>tree</tt></i>:</span></td><td>the tree of enumerated value 
set</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSAX2CDataBlock"/>xmlSAX2CDataBlock ()</h3><pre 
class="programlisting">void     xmlSAX2CDataBlock               (void * ctx, <br/>                            
           const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br/>                          
             int len)<br/>
-</pre><p>called when a pcdata block has been parsed</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>the user data (XML parser context)</td></tr><tr><td><span 
class="term"><i><tt>value</tt></i>:</span></td><td>The pcdata content</td></tr><tr><td><span 
class="term"><i><tt>len</tt></i>:</span></td><td>the block length</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSAX2Characters"/>xmlSAX2Characters ()</h3><pre 
class="programlisting">void     xmlSAX2Characters               (void * ctx, <br/>                            
           const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ch, <br/>                             
     int len)<br/>
-</pre><p>receiving some chars from the parser.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>the user data (XML parser context)</td></tr><tr><td><span 
class="term"><i><tt>ch</tt></i>:</span></td><td>a <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> 
string</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>the number of <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a></td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSAX2Comment"/>xmlSAX2Comment ()</h3><pre 
class="programlisting">void   xmlSAX2Comment                  (void * ctx, <br/>                              
         const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value)<br/>
-</pre><p>A <a href="libxml2-SAX2.html#xmlSAX2Comment">xmlSAX2Comment</a> has been parsed.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>the user data (XML parser context)</td></tr><tr><td><span 
class="term"><i><tt>value</tt></i>:</span></td><td>the <a 
href="libxml2-SAX2.html#xmlSAX2Comment">xmlSAX2Comment</a> content</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSAX2ElementDecl"/>xmlSAX2ElementDecl ()</h3><pre 
class="programlisting">void   xmlSAX2ElementDecl              (void * ctx, <br/>                              
         const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>                             
           int type, <br/>                                         <a 
href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> content)<br/>
-</pre><p>An element definition has been parsed</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>the user data (XML parser context)</td></tr><tr><td><span 
class="term"><i><tt>name</tt></i>:</span></td><td>the element name</td></tr><tr><td><span 
class="term"><i><tt>type</tt></i>:</span></td><td>the element type</td></tr><tr><td><span 
class="term"><i><tt>content</tt></i>:</span></td><td>the element value 
tree</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSAX2EndDocument"/>xmlSAX2EndDocument ()</h3><pre 
class="programlisting">void   xmlSAX2EndDocument              (void * ctx)<br/>
-</pre><p>called when the document end has been detected.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>the user data (XML parser 
context)</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSAX2EndElement"/>xmlSAX2EndElement ()</h3><pre 
class="programlisting">void     xmlSAX2EndElement               (void * ctx, <br/>                            
           const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br/>
-</pre><p>called when the end of an element has been detected.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>the user data (XML parser context)</td></tr><tr><td><span 
class="term"><i><tt>name</tt></i>:</span></td><td>The element name</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSAX2EndElementNs"/>xmlSAX2EndElementNs ()</h3><pre 
class="programlisting">void xmlSAX2EndElementNs             (void * ctx, <br/>                                
       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * localname, <br/>                          
         const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br/>                           
           const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URI)<br/>
-</pre><p>SAX2 callback when an element end has been detected by the parser. It provides the namespace 
information for the element.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>the user data (XML parser context)</td></tr><tr><td><span 
class="term"><i><tt>localname</tt></i>:</span></td><td>the local name of the element</td></tr><tr><td><span 
class="term"><i><tt>prefix</tt></i>:</span></td><td>the element namespace prefix if 
available</td></tr><tr><td><span class="term"><i><tt>URI</tt></i>:</span></td><td>the element namespace name 
if available</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSAX2EntityDecl"/>xmlSAX2EntityDecl ()</h3><pre 
class="programlisting">void     xmlSAX2EntityDecl               (void * ctx, <br/>                            
           const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>                           
             int type, <br/>                                         const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * publicId, <br/>                                    const 
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * systemId, <br/>                                    <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br/>
-</pre><p>An entity definition has been parsed</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>the user data (XML parser context)</td></tr><tr><td><span 
class="term"><i><tt>name</tt></i>:</span></td><td>the entity name</td></tr><tr><td><span 
class="term"><i><tt>type</tt></i>:</span></td><td>the entity type</td></tr><tr><td><span 
class="term"><i><tt>publicId</tt></i>:</span></td><td>The public ID of the entity</td></tr><tr><td><span 
class="term"><i><tt>systemId</tt></i>:</span></td><td>The system ID of the entity</td></tr><tr><td><span 
class="term"><i><tt>content</tt></i>:</span></td><td>the entity value (without 
processing).</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSAX2ExternalSubset"/>xmlSAX2ExternalSubset 
()</h3><pre class="programlisting">void     xmlSAX2ExternalSubset           (void * ctx, <br/>                
                       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>               
                         const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br/>       
                           const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * SystemID)<br/>
-</pre><p>Callback on external subset declaration.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>the user data (XML parser context)</td></tr><tr><td><span 
class="term"><i><tt>name</tt></i>:</span></td><td>the root element name</td></tr><tr><td><span 
class="term"><i><tt>ExternalID</tt></i>:</span></td><td>the external ID</td></tr><tr><td><span 
class="term"><i><tt>SystemID</tt></i>:</span></td><td>the SYSTEM ID (e.g. filename or 
URL)</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSAX2GetColumnNumber"/>xmlSAX2GetColumnNumber 
()</h3><pre class="programlisting">int    xmlSAX2GetColumnNumber          (void * ctx)<br/>
-</pre><p>Provide the column number of the current parsing point.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>the user data (XML parser context)</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>an int</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSAX2GetEntity"/>xmlSAX2GetEntity ()</h3><pre 
class="programlisting"><a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a>  xmlSAX2GetEntity        
(void * ctx, <br/>                                       const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br/>
-</pre><p>Get an entity by name</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>the user data (XML parser context)</td></tr><tr><td><span 
class="term"><i><tt>name</tt></i>:</span></td><td>The entity name</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a 
href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a> if found.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSAX2GetLineNumber"/>xmlSAX2GetLineNumber ()</h3><pre 
class="programlisting">int        xmlSAX2GetLineNumber            (void * ctx)<br/>
-</pre><p>Provide the line number of the current parsing point.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>the user data (XML parser context)</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>an int</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSAX2GetParameterEntity"/>xmlSAX2GetParameterEntity 
()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a>        
xmlSAX2GetParameterEntity       (void * ctx, <br/>                                               const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br/>
-</pre><p>Get a parameter entity by name</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>the user data (XML parser context)</td></tr><tr><td><span 
class="term"><i><tt>name</tt></i>:</span></td><td>The entity name</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a 
href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a> if found.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSAX2GetPublicId"/>xmlSAX2GetPublicId ()</h3><pre 
class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *   xmlSAX2GetPublicId      
(void * ctx)<br/>
-</pre><p>Provides the public ID e.g. "-//SGMLSOURCE//DTD DEMO//EN"</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>the user data (XML parser context)</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>a <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> 
*</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSAX2GetSystemId"/>xmlSAX2GetSystemId ()</h3><pre 
class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *   xmlSAX2GetSystemId      
(void * ctx)<br/>
-</pre><p>Provides the system ID, basically URL or filename e.g. http://www.sgmlsource.com/dtds/memo.dtd</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>the user data (XML parser context)</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>a <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> 
*</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSAX2HasExternalSubset"/>xmlSAX2HasExternalSubset 
()</h3><pre class="programlisting">int        xmlSAX2HasExternalSubset        (void * ctx)<br/>
-</pre><p>Does this document has an external subset</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>the user data (XML parser context)</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSAX2HasInternalSubset"/>xmlSAX2HasInternalSubset 
()</h3><pre class="programlisting">int        xmlSAX2HasInternalSubset        (void * ctx)<br/>
-</pre><p>Does this document has an internal subset</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>the user data (XML parser context)</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSAX2IgnorableWhitespace"/>xmlSAX2IgnorableWhitespace 
()</h3><pre class="programlisting">void   xmlSAX2IgnorableWhitespace      (void * ctx, <br/>                  
                     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ch, <br/>                   
               int len)<br/>
-</pre><p>receiving some ignorable whitespaces from the parser. UNUSED: by default the DOM building will use 
<a href="libxml2-SAX2.html#xmlSAX2Characters">xmlSAX2Characters</a></p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>the user data (XML parser context)</td></tr><tr><td><span 
class="term"><i><tt>ch</tt></i>:</span></td><td>a <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> 
string</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>the number of <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a></td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlSAX2InitDefaultSAXHandler"/>xmlSAX2InitDefaultSAXHandler ()</h3><pre class="programlisting">void     
  xmlSAX2InitDefaultSAXHandler    (<a href="libxml2-tree.html#xmlSAXHandler">xmlSAXHandler</a> * hdlr, <br/>  
                                     int warning)<br/>
-</pre><p>Initialize the default XML SAX2 handler</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>hdlr</tt></i>:</span></td><td>the SAX handler</td></tr><tr><td><span 
class="term"><i><tt>warning</tt></i>:</span></td><td>flag if non-zero sets the handler warning 
procedure</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlSAX2InitHtmlDefaultSAXHandler"/>xmlSAX2InitHtmlDefaultSAXHandler ()</h3><pre 
class="programlisting">void       xmlSAX2InitHtmlDefaultSAXHandler        (<a 
href="libxml2-tree.html#xmlSAXHandler">xmlSAXHandler</a> * hdlr)<br/>
-</pre><p>Initialize the default HTML SAX2 handler</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>hdlr</tt></i>:</span></td><td>the SAX handler</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSAX2InternalSubset"/>xmlSAX2InternalSubset 
()</h3><pre class="programlisting">void     xmlSAX2InternalSubset           (void * ctx, <br/>                
                       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>               
                         const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br/>       
                           const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * SystemID)<br/>
-</pre><p>Callback on internal subset declaration.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>the user data (XML parser context)</td></tr><tr><td><span 
class="term"><i><tt>name</tt></i>:</span></td><td>the root element name</td></tr><tr><td><span 
class="term"><i><tt>ExternalID</tt></i>:</span></td><td>the external ID</td></tr><tr><td><span 
class="term"><i><tt>SystemID</tt></i>:</span></td><td>the SYSTEM ID (e.g. filename or 
URL)</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSAX2IsStandalone"/>xmlSAX2IsStandalone ()</h3><pre 
class="programlisting">int  xmlSAX2IsStandalone             (void * ctx)<br/>
-</pre><p>Is this document tagged standalone ?</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>the user data (XML parser context)</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSAX2NotationDecl"/>xmlSAX2NotationDecl ()</h3><pre 
class="programlisting">void xmlSAX2NotationDecl             (void * ctx, <br/>                                
       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>                               
         const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * publicId, <br/>                         
           const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * systemId)<br/>
-</pre><p>What to do when a notation declaration has been parsed.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>the user data (XML parser context)</td></tr><tr><td><span 
class="term"><i><tt>name</tt></i>:</span></td><td>The name of the notation</td></tr><tr><td><span 
class="term"><i><tt>publicId</tt></i>:</span></td><td>The public ID of the entity</td></tr><tr><td><span 
class="term"><i><tt>systemId</tt></i>:</span></td><td>The system ID of the 
entity</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlSAX2ProcessingInstruction"/>xmlSAX2ProcessingInstruction ()</h3><pre class="programlisting">void     
  xmlSAX2ProcessingInstruction    (void * ctx, <br/>                                       const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * target, <br/>                                      const 
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * data)<br/>
-</pre><p>A processing instruction has been parsed.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>the user data (XML parser context)</td></tr><tr><td><span 
class="term"><i><tt>target</tt></i>:</span></td><td>the target name</td></tr><tr><td><span 
class="term"><i><tt>data</tt></i>:</span></td><td>the PI data's</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSAX2Reference"/>xmlSAX2Reference ()</h3><pre 
class="programlisting">void       xmlSAX2Reference                (void * ctx, <br/>                          
             const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br/>
-</pre><p>called when an entity <a href="libxml2-SAX2.html#xmlSAX2Reference">xmlSAX2Reference</a> is 
detected.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>the user data (XML parser context)</td></tr><tr><td><span 
class="term"><i><tt>name</tt></i>:</span></td><td>The entity name</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSAX2ResolveEntity"/>xmlSAX2ResolveEntity ()</h3><pre 
class="programlisting"><a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>        
xmlSAX2ResolveEntity    (void * ctx, <br/>                                               const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * publicId, <br/>                                           
 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * systemId)<br/>
-</pre><p>The entity loader, to control the loading of external entities, the application can either: - 
override this xmlSAX2ResolveEntity() callback in the SAX block - or better use the 
xmlSetExternalEntityLoader() function to set up it's own entity resolution routine</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>the user data (XML parser context)</td></tr><tr><td><span 
class="term"><i><tt>publicId</tt></i>:</span></td><td>The public ID of the entity</td></tr><tr><td><span 
class="term"><i><tt>systemId</tt></i>:</span></td><td>The system ID of the entity</td></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></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSAX2SetDocumentLocator"/>xmlSAX2SetDocumentLocator 
()</h3><pre class="programlisting">void     xmlSAX2SetDocumentLocator       (void * ctx, <br/>                
                       <a href="libxml2-tree.html#xmlSAXLocatorPtr">xmlSAXLocatorPtr</a> loc)<br/>
-</pre><p>Receive the document locator at startup, actually <a 
href="libxml2-globals.html#xmlDefaultSAXLocator">xmlDefaultSAXLocator</a> Everything is available on the 
context, so this is useless in our case.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>the user data (XML parser context)</td></tr><tr><td><span 
class="term"><i><tt>loc</tt></i>:</span></td><td>A SAX Locator</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSAX2StartDocument"/>xmlSAX2StartDocument ()</h3><pre 
class="programlisting">void       xmlSAX2StartDocument            (void * ctx)<br/>
-</pre><p>called when the document start being processed.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>the user data (XML parser 
context)</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSAX2StartElement"/>xmlSAX2StartElement ()</h3><pre 
class="programlisting">void xmlSAX2StartElement             (void * ctx, <br/>                                
       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * fullname, <br/>                           
         const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** atts)<br/>
-</pre><p>called when an opening tag has been processed.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>the user data (XML parser context)</td></tr><tr><td><span 
class="term"><i><tt>fullname</tt></i>:</span></td><td>The element name, including namespace 
prefix</td></tr><tr><td><span class="term"><i><tt>atts</tt></i>:</span></td><td>An array of name/value 
attributes pairs, NULL terminated</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSAX2StartElementNs"/>xmlSAX2StartElementNs 
()</h3><pre class="programlisting">void     xmlSAX2StartElementNs           (void * ctx, <br/>                
                       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * localname, <br/>          
                         const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br/>           
                           const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URI, <br/>            
                             int nb_namespaces, <br/>                                        const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** namespaces, <br/>                                        
 int nb_attributes, <br/>                                        int nb_defaulted, <br/>                      
                   const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** attributes)<br/>
-</pre><p>SAX2 callback when an element start has been detected by the parser. It provides the namespace 
information for the element, as well as the new namespace declarations on the element.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>the user data (XML parser context)</td></tr><tr><td><span 
class="term"><i><tt>localname</tt></i>:</span></td><td>the local name of the element</td></tr><tr><td><span 
class="term"><i><tt>prefix</tt></i>:</span></td><td>the element namespace prefix if 
available</td></tr><tr><td><span class="term"><i><tt>URI</tt></i>:</span></td><td>the element namespace name 
if available</td></tr><tr><td><span class="term"><i><tt>nb_namespaces</tt></i>:</span></td><td>number of 
namespace definitions on that node</td></tr><tr><td><span 
class="term"><i><tt>namespaces</tt></i>:</span></td><td>pointer to the array of prefix/URI pairs namespace 
definitions</td></tr><tr><td><span class="term"><i><tt>nb_attributes</tt></i>:</span></td><td>the number of 
attributes on that node</td></tr><tr><td><span class="term"><i><tt>nb_defaulted</tt></i>:</span></td><td>the 
number of defaulte
 d attributes.</td></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></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSAX2UnparsedEntityDecl"/>xmlSAX2UnparsedEntityDecl 
()</h3><pre class="programlisting">void     xmlSAX2UnparsedEntityDecl       (void * ctx, <br/>                
                       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>               
                         const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * publicId, <br/>         
                           const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * systemId, <br/>       
                             const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * notationName)<br/>
-</pre><p>What to do when an unparsed entity declaration is parsed</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>the user data (XML parser context)</td></tr><tr><td><span 
class="term"><i><tt>name</tt></i>:</span></td><td>The name of the entity</td></tr><tr><td><span 
class="term"><i><tt>publicId</tt></i>:</span></td><td>The public ID of the entity</td></tr><tr><td><span 
class="term"><i><tt>systemId</tt></i>:</span></td><td>The system ID of the entity</td></tr><tr><td><span 
class="term"><i><tt>notationName</tt></i>:</span></td><td>the name of the 
notation</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSAXDefaultVersion"/>xmlSAXDefaultVersion ()</h3><pre 
class="programlisting">int        xmlSAXDefaultVersion            (int version)<br/>
-</pre><p>DEPRECATED: Use parser option XML_PARSE_SAX1. Set the default version of SAX used globally by the 
library. By default, during initialization the default is set to 2. Note that it is generally a better coding 
style to use xmlSAXVersion() to set up the version explicitly for a given parsing context.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>version</tt></i>:</span></td><td>the version, 1 or 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></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSAXVersion"/>xmlSAXVersion ()</h3><pre 
class="programlisting">int      xmlSAXVersion                   (<a 
href="libxml2-tree.html#xmlSAXHandler">xmlSAXHandler</a> * hdlr, <br/>                                       
int version)<br/>
-</pre><p>Initialize the default XML SAX handler according to the version</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>hdlr</tt></i>:</span></td><td>the SAX handler</td></tr><tr><td><span 
class="term"><i><tt>version</tt></i>:</span></td><td>the version, 1 or 2</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success and -1 in case of 
error.</td></tr></tbody></table></div></div>
-        <hr/>
-      </div>
-    </div>
-  </body>
+int    <a href="#xmlSAXVersion">xmlSAXVersion</a>                      (<a 
href="libxml2-tree.html#xmlSAXHandler">xmlSAXHandler</a> * hdlr, <br>                                        
int version);
+</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="htmlDefaultSAXHandlerInit"></a>htmlDefaultSAXHandlerInit ()</h3>
+<pre class="programlisting">void       htmlDefaultSAXHandlerInit       (void)<br>
+</pre>
+<p>DEPRECATED: This function will be made private. Call <a 
href="libxml2-parser.html#xmlInitParser">xmlInitParser</a> to initialize the library. Initialize the default 
SAX handler</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlDefaultSAXHandlerInit"></a>xmlDefaultSAXHandlerInit ()</h3>
+<pre class="programlisting">void       xmlDefaultSAXHandlerInit        (void)<br>
+</pre>
+<p>DEPRECATED: This function will be made private. Call <a 
href="libxml2-parser.html#xmlInitParser">xmlInitParser</a> to initialize the library. Initialize the default 
SAX2 handler</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>the user data (XML parser context)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>elem</tt></i>:</span></td>
+<td>the name of the element</td>
+</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>
+</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>
+</tr>
+<tr>
+<td><span class="term"><i><tt>def</tt></i>:</span></td>
+<td>the type of default value</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>
+</tr>
+<tr>
+<td><span class="term"><i><tt>tree</tt></i>:</span></td>
+<td>the tree of enumerated value set</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSAX2CDataBlock"></a>xmlSAX2CDataBlock ()</h3>
+<pre class="programlisting">void       xmlSAX2CDataBlock               (void * ctx, <br>                     
                   const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br>                   
                     int len)<br>
+</pre>
+<p>called when a pcdata block has been parsed</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>the user data (XML parser context)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>value</tt></i>:</span></td>
+<td>The pcdata content</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>len</tt></i>:</span></td>
+<td>the block length</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSAX2Characters"></a>xmlSAX2Characters ()</h3>
+<pre class="programlisting">void       xmlSAX2Characters               (void * ctx, <br>                     
                   const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ch, <br>                      
             int len)<br>
+</pre>
+<p>receiving some chars from the parser.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>the user data (XML parser context)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ch</tt></i>:</span></td>
+<td>a <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> string</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>len</tt></i>:</span></td>
+<td>the number of <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSAX2Comment"></a>xmlSAX2Comment ()</h3>
+<pre class="programlisting">void       xmlSAX2Comment                  (void * ctx, <br>                     
                   const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value)<br>
+</pre>
+<p>A <a href="libxml2-SAX2.html#xmlSAX2Comment">xmlSAX2Comment</a> has been parsed.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>the user data (XML parser context)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>value</tt></i>:</span></td>
+<td>the <a href="libxml2-SAX2.html#xmlSAX2Comment">xmlSAX2Comment</a> content</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSAX2ElementDecl"></a>xmlSAX2ElementDecl ()</h3>
+<pre class="programlisting">void       xmlSAX2ElementDecl              (void * ctx, <br>                     
                   const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>                    
                     int type, <br>                                  <a 
href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> content)<br>
+</pre>
+<p>An element definition has been parsed</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>the user data (XML parser context)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the element name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>type</tt></i>:</span></td>
+<td>the element type</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>content</tt></i>:</span></td>
+<td>the element value tree</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSAX2EndDocument"></a>xmlSAX2EndDocument ()</h3>
+<pre class="programlisting">void       xmlSAX2EndDocument              (void * ctx)<br>
+</pre>
+<p>called when the document end has been detected.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>the user data (XML parser context)</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSAX2EndElement"></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>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>the user data (XML parser context)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>The element name</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSAX2EndElementNs"></a>xmlSAX2EndElementNs ()</h3>
+<pre class="programlisting">void       xmlSAX2EndElementNs             (void * ctx, <br>                     
                   const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * localname, <br>               
                     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br>                
                       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URI)<br>
+</pre>
+<p>SAX2 callback when an element end has been detected by the parser. It provides the namespace information 
for the element.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>the user data (XML parser context)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>localname</tt></i>:</span></td>
+<td>the local name of the element</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>prefix</tt></i>:</span></td>
+<td>the element namespace prefix if available</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>URI</tt></i>:</span></td>
+<td>the element namespace name if available</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSAX2EntityDecl"></a>xmlSAX2EntityDecl ()</h3>
+<pre class="programlisting">void       xmlSAX2EntityDecl               (void * ctx, <br>                     
                   const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>                    
                     int type, <br>                                  const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * publicId, <br>                                     const 
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * systemId, <br>                                     <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br>
+</pre>
+<p>An entity definition has been parsed</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>the user data (XML parser context)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the entity name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>type</tt></i>:</span></td>
+<td>the entity type</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>publicId</tt></i>:</span></td>
+<td>The public ID of the entity</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>systemId</tt></i>:</span></td>
+<td>The system ID of the entity</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>content</tt></i>:</span></td>
+<td>the entity value (without processing).</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSAX2ExternalSubset"></a>xmlSAX2ExternalSubset ()</h3>
+<pre class="programlisting">void       xmlSAX2ExternalSubset           (void * ctx, <br>                     
                   const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>                    
                     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br>            
                       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * SystemID)<br>
+</pre>
+<p>Callback on external subset declaration.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>the user data (XML parser context)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the root element name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ExternalID</tt></i>:</span></td>
+<td>the external ID</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>SystemID</tt></i>:</span></td>
+<td>the SYSTEM ID (e.g. filename or URL)</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSAX2GetColumnNumber"></a>xmlSAX2GetColumnNumber ()</h3>
+<pre class="programlisting">int        xmlSAX2GetColumnNumber          (void * ctx)<br>
+</pre>
+<p>Provide the column number of the current parsing point.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>the user data (XML parser context)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>an int</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSAX2GetEntity"></a>xmlSAX2GetEntity ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a>  xmlSAX2GetEntity      
  (void * ctx, <br>                                        const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
+</pre>
+<p>Get an entity by name</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>the user data (XML parser context)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>The entity name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the <a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a> if found.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSAX2GetLineNumber"></a>xmlSAX2GetLineNumber ()</h3>
+<pre class="programlisting">int        xmlSAX2GetLineNumber            (void * ctx)<br>
+</pre>
+<p>Provide the line number of the current parsing point.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>the user data (XML parser context)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>an int</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSAX2GetParameterEntity"></a>xmlSAX2GetParameterEntity ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a>  
xmlSAX2GetParameterEntity       (void * ctx, <br>                                                const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
+</pre>
+<p>Get a parameter entity by name</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>the user data (XML parser context)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>The entity name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the <a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a> if found.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSAX2GetPublicId"></a>xmlSAX2GetPublicId ()</h3>
+<pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *       
xmlSAX2GetPublicId      (void * ctx)<br>
+</pre>
+<p>Provides the public ID e.g. "-//SGMLSOURCE//DTD DEMO//EN"</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>the user data (XML parser context)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSAX2GetSystemId"></a>xmlSAX2GetSystemId ()</h3>
+<pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *       
xmlSAX2GetSystemId      (void * ctx)<br>
+</pre>
+<p>Provides the system ID, basically URL or filename e.g. http://www.sgmlsource.com/dtds/memo.dtd</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>the user data (XML parser context)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSAX2HasExternalSubset"></a>xmlSAX2HasExternalSubset ()</h3>
+<pre class="programlisting">int        xmlSAX2HasExternalSubset        (void * ctx)<br>
+</pre>
+<p>Does this document has an external subset</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>the user data (XML parser context)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSAX2HasInternalSubset"></a>xmlSAX2HasInternalSubset ()</h3>
+<pre class="programlisting">int        xmlSAX2HasInternalSubset        (void * ctx)<br>
+</pre>
+<p>Does this document has an internal subset</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>the user data (XML parser context)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSAX2IgnorableWhitespace"></a>xmlSAX2IgnorableWhitespace ()</h3>
+<pre class="programlisting">void       xmlSAX2IgnorableWhitespace      (void * ctx, <br>                     
                   const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ch, <br>                      
             int len)<br>
+</pre>
+<p>receiving some ignorable whitespaces from the parser. UNUSED: by default the DOM building will use <a 
href="libxml2-SAX2.html#xmlSAX2Characters">xmlSAX2Characters</a></p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>the user data (XML parser context)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ch</tt></i>:</span></td>
+<td>a <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> string</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>len</tt></i>:</span></td>
+<td>the number of <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSAX2InitDefaultSAXHandler"></a>xmlSAX2InitDefaultSAXHandler ()</h3>
+<pre class="programlisting">void       xmlSAX2InitDefaultSAXHandler    (<a 
href="libxml2-tree.html#xmlSAXHandler">xmlSAXHandler</a> * hdlr, <br>                                        
int warning)<br>
+</pre>
+<p>Initialize the default XML SAX2 handler</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>hdlr</tt></i>:</span></td>
+<td>the SAX handler</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>warning</tt></i>:</span></td>
+<td>flag if non-zero sets the handler warning procedure</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSAX2InitHtmlDefaultSAXHandler"></a>xmlSAX2InitHtmlDefaultSAXHandler ()</h3>
+<pre class="programlisting">void       xmlSAX2InitHtmlDefaultSAXHandler        (<a 
href="libxml2-tree.html#xmlSAXHandler">xmlSAXHandler</a> * hdlr)<br>
+</pre>
+<p>Initialize the default HTML SAX2 handler</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>hdlr</tt></i>:</span></td>
+<td>the SAX handler</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSAX2InternalSubset"></a>xmlSAX2InternalSubset ()</h3>
+<pre class="programlisting">void       xmlSAX2InternalSubset           (void * ctx, <br>                     
                   const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>                    
                     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br>            
                       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * SystemID)<br>
+</pre>
+<p>Callback on internal subset declaration.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>the user data (XML parser context)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the root element name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ExternalID</tt></i>:</span></td>
+<td>the external ID</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>SystemID</tt></i>:</span></td>
+<td>the SYSTEM ID (e.g. filename or URL)</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSAX2IsStandalone"></a>xmlSAX2IsStandalone ()</h3>
+<pre class="programlisting">int        xmlSAX2IsStandalone             (void * ctx)<br>
+</pre>
+<p>Is this document tagged standalone ?</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>the user data (XML parser context)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSAX2NotationDecl"></a>xmlSAX2NotationDecl ()</h3>
+<pre class="programlisting">void       xmlSAX2NotationDecl             (void * ctx, <br>                     
                   const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>                    
                     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * publicId, <br>              
                       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * systemId)<br>
+</pre>
+<p>What to do when a notation declaration has been parsed.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>the user data (XML parser context)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>The name of the notation</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>publicId</tt></i>:</span></td>
+<td>The public ID of the entity</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>systemId</tt></i>:</span></td>
+<td>The system ID of the entity</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSAX2ProcessingInstruction"></a>xmlSAX2ProcessingInstruction ()</h3>
+<pre class="programlisting">void       xmlSAX2ProcessingInstruction    (void * ctx, <br>                     
                   const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * target, <br>                  
                     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * data)<br>
+</pre>
+<p>A processing instruction has been parsed.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>the user data (XML parser context)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>target</tt></i>:</span></td>
+<td>the target name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>data</tt></i>:</span></td>
+<td>the PI data's</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSAX2Reference"></a>xmlSAX2Reference ()</h3>
+<pre class="programlisting">void       xmlSAX2Reference                (void * ctx, <br>                     
                   const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
+</pre>
+<p>called when an entity <a href="libxml2-SAX2.html#xmlSAX2Reference">xmlSAX2Reference</a> is detected.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>the user data (XML parser context)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>The entity name</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>the user data (XML parser context)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>publicId</tt></i>:</span></td>
+<td>The public ID of the entity</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>systemId</tt></i>:</span></td>
+<td>The system ID of the entity</td>
+</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>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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-globals.html#xmlDefaultSAXLocator">xmlDefaultSAXLocator</a> Everything is available on the 
context, so this is useless in our case.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>the user data (XML parser context)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>loc</tt></i>:</span></td>
+<td>A SAX Locator</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSAX2StartDocument"></a>xmlSAX2StartDocument ()</h3>
+<pre class="programlisting">void       xmlSAX2StartDocument            (void * ctx)<br>
+</pre>
+<p>called when the document start being processed.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>the user data (XML parser context)</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSAX2StartElement"></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>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>the user data (XML parser context)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>fullname</tt></i>:</span></td>
+<td>The element name, including namespace prefix</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>atts</tt></i>:</span></td>
+<td>An array of name/value attributes pairs, NULL terminated</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSAX2StartElementNs"></a>xmlSAX2StartElementNs ()</h3>
+<pre class="programlisting">void       xmlSAX2StartElementNs           (void * ctx, <br>                     
                   const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * localname, <br>               
                     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br>                
                       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URI, <br>                 
                 int nb_namespaces, <br>                                         const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** namespaces, <br>                                  int 
nb_attributes, <br>                                         int nb_defaulted, <br>                            
      const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** attributes)<br>
+</pre>
+<p>SAX2 callback when an element start has been detected by the parser. It provides the namespace 
information for the element, as well as the new namespace declarations on the element.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>the user data (XML parser context)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>localname</tt></i>:</span></td>
+<td>the local name of the element</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>prefix</tt></i>:</span></td>
+<td>the element namespace prefix if available</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>URI</tt></i>:</span></td>
+<td>the element namespace name if available</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>nb_namespaces</tt></i>:</span></td>
+<td>number of namespace definitions on that node</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>namespaces</tt></i>:</span></td>
+<td>pointer to the array of prefix/URI pairs namespace definitions</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>nb_attributes</tt></i>:</span></td>
+<td>the number of attributes on that node</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>nb_defaulted</tt></i>:</span></td>
+<td>the number of defaulted attributes.</td>
+</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>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSAX2UnparsedEntityDecl"></a>xmlSAX2UnparsedEntityDecl ()</h3>
+<pre class="programlisting">void       xmlSAX2UnparsedEntityDecl       (void * ctx, <br>                     
                   const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>                    
                     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * publicId, <br>              
                       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * systemId, <br>            
                         const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * notationName)<br>
+</pre>
+<p>What to do when an unparsed entity declaration is parsed</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>the user data (XML parser context)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>The name of the entity</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>publicId</tt></i>:</span></td>
+<td>The public ID of the entity</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>systemId</tt></i>:</span></td>
+<td>The system ID of the entity</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>notationName</tt></i>:</span></td>
+<td>the name of the notation</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSAXDefaultVersion"></a>xmlSAXDefaultVersion ()</h3>
+<pre class="programlisting">int        xmlSAXDefaultVersion            (int version)<br>
+</pre>
+<p>DEPRECATED: Use parser option XML_PARSE_SAX1. Set the default version of SAX used globally by the 
library. By default, during initialization the default is set to 2. Note that it is generally a better coding 
style to use xmlSAXVersion() to set up the version explicitly for a given parsing context.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>version</tt></i>:</span></td>
+<td>the version, 1 or 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>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSAXVersion"></a>xmlSAXVersion ()</h3>
+<pre class="programlisting">int        xmlSAXVersion                   (<a 
href="libxml2-tree.html#xmlSAXHandler">xmlSAXHandler</a> * hdlr, <br>                                        
int version)<br>
+</pre>
+<p>Initialize the default XML SAX handler according to the version</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>hdlr</tt></i>:</span></td>
+<td>the SAX handler</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>version</tt></i>:</span></td>
+<td>the version, 1 or 2</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 in case of success and -1 in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+</div>
+</div>
+</body>
 </html>
diff --git a/doc/devhelp/libxml2-c14n.html b/doc/devhelp/libxml2-c14n.html
index cb1536a3..b2cef089 100644
--- a/doc/devhelp/libxml2-c14n.html
+++ b/doc/devhelp/libxml2-c14n.html
@@ -1,91 +1,253 @@
-<?xml version="1.0" encoding="UTF-8"?>
 <html>
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
-    <title>c14n: Provide Canonical XML and Exclusive XML Canonicalization</title>
-    <meta name="generator" content="Libxml2 devhelp stylesheet"/>
-    <link rel="start" href="index.html" title="libxml2 Reference Manual"/>
-    <link rel="up" href="general.html" title="API"/>
-    <link rel="stylesheet" href="style.css" type="text/css"/>
-    <link rel="chapter" href="general.html" title="API"/>
-  </head>
-  <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-    <table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
-      <tr valign="middle">
-        <td>
-          <a accesskey="p" href="libxml2-SAX2.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-catalog.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">c14n</span>
-    </h2>
-    <p>c14n - Provide Canonical XML and Exclusive XML Canonicalization</p>
-    <p>the c14n modules provides a  "Canonical XML" implementation</p>
-    <p>Author(s): Aleksey Sanin &lt;aleksey aleksey com&gt; </p>
-    <div class="refsynopsisdiv">
-      <h2>Synopsis</h2>
-      <pre class="synopsis">typedef enum <a href="#xmlC14NMode">xmlC14NMode</a>;
-int    <a href="#xmlC14NDocDumpMemory">xmlC14NDocDumpMemory</a>                (<a 
href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>                                  <a 
href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes, <br/>                                       
int mode, <br/>                                         <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> 
** inclusive_ns_prefixes, <br/>                                    int with_comments, <br/>                   
                     <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** doc_txt_ptr);
-int    <a href="#xmlC14NDocSave">xmlC14NDocSave</a>                    (<a 
href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>                                  <a 
href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes, <br/>                                       
int mode, <br/>                                         <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> 
** inclusive_ns_prefixes, <br/>                                    int with_comments, <br/>                   
                     const char * filename, <br/>                                    int compression);
-int    <a href="#xmlC14NDocSaveTo">xmlC14NDocSaveTo</a>                (<a 
href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>                                  <a 
href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes, <br/>                                       
int mode, <br/>                                         <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> 
** inclusive_ns_prefixes, <br/>                                    int with_comments, <br/>                   
                     <a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf);
-int    <a href="#xmlC14NExecute">xmlC14NExecute</a>                    (<a 
href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>                                  <a 
href="libxml2-c14n.html#xmlC14NIsVisibleCallback">xmlC14NIsVisibleCallback</a> is_visible_callback, <br/>     
                               void * user_data, <br/>                                         int mode, 
<br/>                                         <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** 
inclusive_ns_prefixes, <br/>                                    int with_comments, <br/>                      
                  <a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf);
-typedef int <a href="#xmlC14NIsVisibleCallback">xmlC14NIsVisibleCallback</a>   (void * user_data, <br/>      
                                   <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br/>          
                             <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> parent);
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>c14n: Provide Canonical XML and Exclusive XML Canonicalization</title>
+<meta name="generator" content="Libxml2 devhelp stylesheet">
+<link rel="start" href="index.html" title="libxml2 Reference Manual">
+<link rel="up" href="general.html" title="API">
+<link rel="stylesheet" href="style.css" type="text/css">
+<link rel="chapter" href="general.html" title="API">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr 
valign="middle">
+<td><a accesskey="p" href="libxml2-SAX2.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-catalog.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">c14n</span></h2>
+<p>c14n - Provide Canonical XML and Exclusive XML Canonicalization</p>
+<p>the c14n modules provides a  "Canonical XML" implementation</p>
+<p>Author(s): Aleksey Sanin &lt;aleksey aleksey com&gt; </p>
+<div class="refsynopsisdiv">
+<h2>Synopsis</h2>
+<pre class="synopsis">typedef enum <a href="#xmlC14NMode">xmlC14NMode</a>;
+int    <a href="#xmlC14NDocDumpMemory">xmlC14NDocDumpMemory</a>                (<a 
href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>                                   <a 
href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes, <br>                                        
int mode, <br>                                  <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** 
inclusive_ns_prefixes, <br>                                     int with_comments, <br>                       
                  <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** doc_txt_ptr);
+int    <a href="#xmlC14NDocSave">xmlC14NDocSave</a>                    (<a 
href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>                                   <a 
href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes, <br>                                        
int mode, <br>                                  <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** 
inclusive_ns_prefixes, <br>                                     int with_comments, <br>                       
                  const char * filename, <br>                                     int compression);
+int    <a href="#xmlC14NDocSaveTo">xmlC14NDocSaveTo</a>                (<a 
href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>                                   <a 
href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes, <br>                                        
int mode, <br>                                  <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** 
inclusive_ns_prefixes, <br>                                     int with_comments, <br>                       
                  <a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf);
+int    <a href="#xmlC14NExecute">xmlC14NExecute</a>                    (<a 
href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>                                   <a 
href="libxml2-c14n.html#xmlC14NIsVisibleCallback">xmlC14NIsVisibleCallback</a> is_visible_callback, <br>      
                               void * user_data, <br>                                  int mode, <br>         
                         <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** inclusive_ns_prefixes, <br>  
                                   int with_comments, <br>                                         <a 
href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf);
+typedef int <a href="#xmlC14NIsVisibleCallback">xmlC14NIsVisibleCallback</a>   (void * user_data, <br>       
                           <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>                   
                     <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> parent);
 </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="xmlC14NMode">Enum </a>xmlC14NMode</h3><pre 
class="programlisting">enum <a href="#xmlC14NMode">xmlC14NMode</a> {
+</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="xmlC14NMode">Enum </a>xmlC14NMode</h3>
+<pre class="programlisting">enum <a href="#xmlC14NMode">xmlC14NMode</a> {
     <a name="XML_C14N_1_0">XML_C14N_1_0</a> = 0 /* Original C14N 1.0 spec */
     <a name="XML_C14N_EXCLUSIVE_1_0">XML_C14N_EXCLUSIVE_1_0</a> = 1 /* Exclusive C14N 1.0 spec */
     <a name="XML_C14N_1_1">XML_C14N_1_1</a> = 2 /*  C14N 1.1 spec */
 };
-</pre><p/>
+</pre>
+<p></p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlC14NIsVisibleCallback"></a>Function type xmlC14NIsVisibleCallback</h3>
+<pre class="programlisting">int        xmlC14NIsVisibleCallback        (void * user_data, <br>               
                   <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>                           
             <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> parent)<br>
+</pre>
+<p>Signature for a C14N callback on visible nodes</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>user_data</tt></i>:</span></td>
+<td>user data</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>node</tt></i>:</span></td>
+<td>the current node</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>parent</tt></i>:</span></td>
+<td>the parent node</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if the node should be included</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlC14NDocDumpMemory"></a>xmlC14NDocDumpMemory ()</h3>
+<pre class="programlisting">int        xmlC14NDocDumpMemory            (<a 
href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>                                   <a 
href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes, <br>                                        
int mode, <br>                                  <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** 
inclusive_ns_prefixes, <br>                                     int with_comments, <br>                       
                  <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** doc_txt_ptr)<br>
+</pre>
+<p>Dumps the canonized image of given XML document into memory. For details see "Canonical XML" 
(http://www.w3.org/TR/xml-c14n) or "Exclusive XML Canonicalization" (http://www.w3.org/TR/xml-exc-c14n)</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 XML document for canonization</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>nodes</tt></i>:</span></td>
+<td>the nodes set to be included in the canonized image or NULL if all document nodes should be included</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>mode</tt></i>:</span></td>
+<td>the c14n mode (see @xmlC14NMode)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>inclusive_ns_prefixes</tt></i>:</span></td>
+<td>the list of inclusive namespace prefixes ended with a NULL or NULL if there is no inclusive namespaces 
(only for exclusive canonicalization, ignored otherwise)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>with_comments</tt></i>:</span></td>
+<td>include comments in the result (!=0) or not (==0)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>doc_txt_ptr</tt></i>:</span></td>
+<td>the memory pointer for allocated canonical XML text; the caller of this functions is responsible for 
calling xmlFree() to free allocated memory</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the number of bytes written on success or a negative value on fail</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlC14NDocSave"></a>xmlC14NDocSave ()</h3>
+<pre class="programlisting">int        xmlC14NDocSave                  (<a 
href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>                                   <a 
href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes, <br>                                        
int mode, <br>                                  <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** 
inclusive_ns_prefixes, <br>                                     int with_comments, <br>                       
                  const char * filename, <br>                                     int compression)<br>
+</pre>
+<p>Dumps the canonized image of given XML document into the file. For details see "Canonical XML" 
(http://www.w3.org/TR/xml-c14n) or "Exclusive XML Canonicalization" (http://www.w3.org/TR/xml-exc-c14n)</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 XML document for canonization</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>nodes</tt></i>:</span></td>
+<td>the nodes set to be included in the canonized image or NULL if all document nodes should be included</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>mode</tt></i>:</span></td>
+<td>the c14n mode (see @xmlC14NMode)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>inclusive_ns_prefixes</tt></i>:</span></td>
+<td>the list of inclusive namespace prefixes ended with a NULL or NULL if there is no inclusive namespaces 
(only for exclusive canonicalization, ignored otherwise)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>with_comments</tt></i>:</span></td>
+<td>include comments in the result (!=0) or not (==0)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>filename</tt></i>:</span></td>
+<td>the filename to store canonical XML image</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>compression</tt></i>:</span></td>
+<td>the compression level (zlib required): -1 - libxml default, 0 - uncompressed, &gt;0 - compression 
level</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the number of bytes written success or a negative value on fail</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlC14NDocSaveTo"></a>xmlC14NDocSaveTo ()</h3>
+<pre class="programlisting">int        xmlC14NDocSaveTo                (<a 
href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>                                   <a 
href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes, <br>                                        
int mode, <br>                                  <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** 
inclusive_ns_prefixes, <br>                                     int with_comments, <br>                       
                  <a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf)<br>
+</pre>
+<p>Dumps the canonized image of given XML document into the provided buffer. For details see "Canonical XML" 
(http://www.w3.org/TR/xml-c14n) or "Exclusive XML Canonicalization" (http://www.w3.org/TR/xml-exc-c14n)</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 XML document for canonization</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>nodes</tt></i>:</span></td>
+<td>the nodes set to be included in the canonized image or NULL if all document nodes should be included</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>mode</tt></i>:</span></td>
+<td>the c14n mode (see @xmlC14NMode)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>inclusive_ns_prefixes</tt></i>:</span></td>
+<td>the list of inclusive namespace prefixes ended with a NULL or NULL if there is no inclusive namespaces 
(only for exclusive canonicalization, ignored otherwise)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>with_comments</tt></i>:</span></td>
+<td>include comments in the result (!=0) or not (==0)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>buf</tt></i>:</span></td>
+<td>the output buffer to store canonical XML; this buffer MUST have encoder==NULL because C14N requires 
UTF-8 output</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>non-negative value on success or a negative value on fail</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlC14NExecute"></a>xmlC14NExecute ()</h3>
+<pre class="programlisting">int        xmlC14NExecute                  (<a 
href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>                                   <a 
href="libxml2-c14n.html#xmlC14NIsVisibleCallback">xmlC14NIsVisibleCallback</a> is_visible_callback, <br>      
                               void * user_data, <br>                                  int mode, <br>         
                         <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** inclusive_ns_prefixes, <br>  
                                   int with_comments, <br>                                         <a 
href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf)<br>
+</pre>
+<p>Dumps the canonized image of given XML document into the provided buffer. For details see "Canonical XML" 
(http://www.w3.org/TR/xml-c14n) or "Exclusive XML Canonicalization" (http://www.w3.org/TR/xml-exc-c14n)</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 XML document for canonization</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>is_visible_callback</tt></i>:</span></td>
+<td>the function to use to determine is node visible or not</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>user_data</tt></i>:</span></td>
+<td>the first parameter for @is_visible_callback function (in most cases, it is nodes set)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>mode</tt></i>:</span></td>
+<td>the c14n mode (see @xmlC14NMode)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>inclusive_ns_prefixes</tt></i>:</span></td>
+<td>the list of inclusive namespace prefixes ended with a NULL or NULL if there is no inclusive namespaces 
(only for exclusive canonicalization, ignored otherwise)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>with_comments</tt></i>:</span></td>
+<td>include comments in the result (!=0) or not (==0)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>buf</tt></i>:</span></td>
+<td>the output buffer to store canonical XML; this buffer MUST have encoder==NULL because C14N requires 
UTF-8 output</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>non-negative value on success or a negative value on fail</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+</div>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlC14NIsVisibleCallback"/>Function type 
xmlC14NIsVisibleCallback</h3><pre class="programlisting">int     xmlC14NIsVisibleCallback        (void * 
user_data, <br/>                                         <a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br/>                                       <a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> parent)<br/>
-</pre><p>Signature for a C14N callback on visible nodes</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>user_data</tt></i>:</span></td><td>user data</td></tr><tr><td><span 
class="term"><i><tt>node</tt></i>:</span></td><td>the current node</td></tr><tr><td><span 
class="term"><i><tt>parent</tt></i>:</span></td><td>the parent node</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if the node should be 
included</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlC14NDocDumpMemory"/>xmlC14NDocDumpMemory ()</h3><pre 
class="programlisting">int        xmlC14NDocDumpMemory            (<a 
href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>                                  <a 
href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes, <br/>                                       
int mode, <br/>                                         <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> 
** inclusive_ns_prefixes, <br/>                                    int with_comments, <br/>                   
                     <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** doc_txt_ptr)<br/>
-</pre><p>Dumps the canonized image of given XML document into memory. For details see "Canonical XML" 
(http://www.w3.org/TR/xml-c14n) or "Exclusive XML Canonicalization" (http://www.w3.org/TR/xml-exc-c14n)</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 XML document for canonization</td></tr><tr><td><span 
class="term"><i><tt>nodes</tt></i>:</span></td><td>the nodes set to be included in the canonized image or 
NULL if all document nodes should be included</td></tr><tr><td><span 
class="term"><i><tt>mode</tt></i>:</span></td><td>the c14n mode (see @xmlC14NMode)</td></tr><tr><td><span 
class="term"><i><tt>inclusive_ns_prefixes</tt></i>:</span></td><td>the list of inclusive namespace prefixes 
ended with a NULL or NULL if there is no inclusive namespaces (only for exclusive canonicalization, ignored 
otherwise)</td></tr><tr><td><span class="term"><i><tt>with_comments</tt></i>:</span></td><td>include comments 
in the result (!=0) or not (==0)</td></tr><tr><td><span 
class="term"><i><tt>doc_txt_ptr</tt></i>:</span></td><td>the memory pointer for allocated canonical XML text; 
the caller of this functions is re
 sponsible for calling xmlFree() to free allocated memory</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of bytes written on success or a negative 
value on fail</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlC14NDocSave"/>xmlC14NDocSave ()</h3><pre 
class="programlisting">int    xmlC14NDocSave                  (<a 
href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>                                  <a 
href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes, <br/>                                       
int mode, <br/>                                         <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> 
** inclusive_ns_prefixes, <br/>                                    int with_comments, <br/>                   
                     const char * filename, <br/>                                    int compression)<br/>
-</pre><p>Dumps the canonized image of given XML document into the file. For details see "Canonical XML" 
(http://www.w3.org/TR/xml-c14n) or "Exclusive XML Canonicalization" (http://www.w3.org/TR/xml-exc-c14n)</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 XML document for canonization</td></tr><tr><td><span 
class="term"><i><tt>nodes</tt></i>:</span></td><td>the nodes set to be included in the canonized image or 
NULL if all document nodes should be included</td></tr><tr><td><span 
class="term"><i><tt>mode</tt></i>:</span></td><td>the c14n mode (see @xmlC14NMode)</td></tr><tr><td><span 
class="term"><i><tt>inclusive_ns_prefixes</tt></i>:</span></td><td>the list of inclusive namespace prefixes 
ended with a NULL or NULL if there is no inclusive namespaces (only for exclusive canonicalization, ignored 
otherwise)</td></tr><tr><td><span class="term"><i><tt>with_comments</tt></i>:</span></td><td>include comments 
in the result (!=0) or not (==0)</td></tr><tr><td><span 
class="term"><i><tt>filename</tt></i>:</span></td><td>the filename to store canonical XML 
image</td></tr><tr><td><span class="term"><i><tt>compr
 ession</tt></i>:</span></td><td>the compression level (zlib required): -1 - libxml default, 0 - 
uncompressed, &gt;0 - compression level</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of bytes written success or a negative value 
on fail</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlC14NDocSaveTo"/>xmlC14NDocSaveTo ()</h3><pre 
class="programlisting">int        xmlC14NDocSaveTo                (<a 
href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>                                  <a 
href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes, <br/>                                       
int mode, <br/>                                         <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> 
** inclusive_ns_prefixes, <br/>                                    int with_comments, <br/>                   
                     <a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf)<br/>
-</pre><p>Dumps the canonized image of given XML document into the provided buffer. For details see 
"Canonical XML" (http://www.w3.org/TR/xml-c14n) or "Exclusive XML Canonicalization" 
(http://www.w3.org/TR/xml-exc-c14n)</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 XML document for canonization</td></tr><tr><td><span 
class="term"><i><tt>nodes</tt></i>:</span></td><td>the nodes set to be included in the canonized image or 
NULL if all document nodes should be included</td></tr><tr><td><span 
class="term"><i><tt>mode</tt></i>:</span></td><td>the c14n mode (see @xmlC14NMode)</td></tr><tr><td><span 
class="term"><i><tt>inclusive_ns_prefixes</tt></i>:</span></td><td>the list of inclusive namespace prefixes 
ended with a NULL or NULL if there is no inclusive namespaces (only for exclusive canonicalization, ignored 
otherwise)</td></tr><tr><td><span class="term"><i><tt>with_comments</tt></i>:</span></td><td>include comments 
in the result (!=0) or not (==0)</td></tr><tr><td><span class="term"><i><tt>buf</tt></i>:</span></td><td>the 
output buffer to store canonical XML; this buffer MUST have encoder==NULL because C14N requ
 ires UTF-8 output</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>non-negative 
value on success or a negative value on fail</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlC14NExecute"/>xmlC14NExecute ()</h3><pre 
class="programlisting">int    xmlC14NExecute                  (<a 
href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>                                  <a 
href="libxml2-c14n.html#xmlC14NIsVisibleCallback">xmlC14NIsVisibleCallback</a> is_visible_callback, <br/>     
                               void * user_data, <br/>                                         int mode, 
<br/>                                         <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** 
inclusive_ns_prefixes, <br/>                                    int with_comments, <br/>                      
                  <a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf)<br/>
-</pre><p>Dumps the canonized image of given XML document into the provided buffer. For details see 
"Canonical XML" (http://www.w3.org/TR/xml-c14n) or "Exclusive XML Canonicalization" 
(http://www.w3.org/TR/xml-exc-c14n)</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 XML document for canonization</td></tr><tr><td><span 
class="term"><i><tt>is_visible_callback</tt></i>:</span></td><td>the function to use to determine is node 
visible or not</td></tr><tr><td><span class="term"><i><tt>user_data</tt></i>:</span></td><td>the first 
parameter for @is_visible_callback function (in most cases, it is nodes set)</td></tr><tr><td><span 
class="term"><i><tt>mode</tt></i>:</span></td><td>the c14n mode (see @xmlC14NMode)</td></tr><tr><td><span 
class="term"><i><tt>inclusive_ns_prefixes</tt></i>:</span></td><td>the list of inclusive namespace prefixes 
ended with a NULL or NULL if there is no inclusive namespaces (only for exclusive canonicalization, ignored 
otherwise)</td></tr><tr><td><span class="term"><i><tt>with_comments</tt></i>:</span></td><td>include comments 
in the result (!=0) or not (==0)</td></tr><tr><td><span class="ter
 m"><i><tt>buf</tt></i>:</span></td><td>the output buffer to store canonical XML; this buffer MUST have 
encoder==NULL because C14N requires UTF-8 output</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>non-negative value on success or a negative value on 
fail</td></tr></tbody></table></div></div>
-        <hr/>
-      </div>
-    </div>
-  </body>
+</body>
 </html>
diff --git a/doc/devhelp/libxml2-catalog.html b/doc/devhelp/libxml2-catalog.html
index bba25d18..39d65dcd 100644
--- a/doc/devhelp/libxml2-catalog.html
+++ b/doc/devhelp/libxml2-catalog.html
@@ -1,63 +1,42 @@
-<?xml version="1.0" encoding="UTF-8"?>
 <html>
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
-    <title>catalog: interfaces to the Catalog handling system</title>
-    <meta name="generator" content="Libxml2 devhelp stylesheet"/>
-    <link rel="start" href="index.html" title="libxml2 Reference Manual"/>
-    <link rel="up" href="general.html" title="API"/>
-    <link rel="stylesheet" href="style.css" type="text/css"/>
-    <link rel="chapter" href="general.html" title="API"/>
-  </head>
-  <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-    <table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
-      <tr valign="middle">
-        <td>
-          <a accesskey="p" href="libxml2-c14n.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-chvalid.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">catalog</span>
-    </h2>
-    <p>catalog - interfaces to the Catalog handling system</p>
-    <p>the catalog module implements the support for XML Catalogs and SGML catalogs </p>
-    <p>Author(s): Daniel Veillard </p>
-    <div class="refsynopsisdiv">
-      <h2>Synopsis</h2>
-      <pre class="synopsis">#define <a href="#XML_CATALOGS_NAMESPACE">XML_CATALOGS_NAMESPACE</a>;
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>catalog: interfaces to the Catalog handling system</title>
+<meta name="generator" content="Libxml2 devhelp stylesheet">
+<link rel="start" href="index.html" title="libxml2 Reference Manual">
+<link rel="up" href="general.html" title="API">
+<link rel="stylesheet" href="style.css" type="text/css">
+<link rel="chapter" href="general.html" title="API">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr 
valign="middle">
+<td><a accesskey="p" href="libxml2-c14n.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-chvalid.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">catalog</span></h2>
+<p>catalog - interfaces to the Catalog handling system</p>
+<p>the catalog module implements the support for XML Catalogs and SGML catalogs </p>
+<p>Author(s): Daniel Veillard </p>
+<div class="refsynopsisdiv">
+<h2>Synopsis</h2>
+<pre class="synopsis">#define <a href="#XML_CATALOGS_NAMESPACE">XML_CATALOGS_NAMESPACE</a>;
 #define <a href="#XML_CATALOG_PI">XML_CATALOG_PI</a>;
 typedef struct _xmlCatalog <a href="#xmlCatalog">xmlCatalog</a>;
 typedef enum <a href="#xmlCatalogAllow">xmlCatalogAllow</a>;
 typedef enum <a href="#xmlCatalogPrefer">xmlCatalogPrefer</a>;
 typedef <a href="libxml2-catalog.html#xmlCatalog">xmlCatalog</a> * <a 
href="#xmlCatalogPtr">xmlCatalogPtr</a>;
-int    <a href="#xmlACatalogAdd">xmlACatalogAdd</a>                    (<a 
href="libxml2-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a> catal, <br/>                                     
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * type, <br/>                                      
  const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * orig, <br/>                                    
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * replace);
-void   <a href="#xmlACatalogDump">xmlACatalogDump</a>                  (<a 
href="libxml2-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a> catal, <br/>                                     
FILE * out);
-int    <a href="#xmlACatalogRemove">xmlACatalogRemove</a>              (<a 
href="libxml2-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a> catal, <br/>                                     
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value);
-<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * <a href="#xmlACatalogResolve">xmlACatalogResolve</a>  
  (<a href="libxml2-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a> catal, <br/>                                
     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pubID, <br/>                                
       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * sysID);
-<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * <a 
href="#xmlACatalogResolvePublic">xmlACatalogResolvePublic</a>        (<a 
href="libxml2-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a> catal, <br/>                                      
       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pubID);
-<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * <a 
href="#xmlACatalogResolveSystem">xmlACatalogResolveSystem</a>        (<a 
href="libxml2-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a> catal, <br/>                                      
       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * sysID);
-<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * <a 
href="#xmlACatalogResolveURI">xmlACatalogResolveURI</a>      (<a 
href="libxml2-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a> catal, <br/>                                     
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URI);
-int    <a href="#xmlCatalogAdd">xmlCatalogAdd</a>                      (const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * type, <br/>                                        const 
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * orig, <br/>                                        
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * replace);
-void * <a href="#xmlCatalogAddLocal">xmlCatalogAddLocal</a>            (void * catalogs, <br/>               
                   const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URL);
+int    <a href="#xmlACatalogAdd">xmlACatalogAdd</a>                    (<a 
href="libxml2-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a> catal, <br>                                      
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * type, <br>                                       
  const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * orig, <br>                                     
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * replace);
+void   <a href="#xmlACatalogDump">xmlACatalogDump</a>                  (<a 
href="libxml2-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a> catal, <br>                                      
FILE * out);
+int    <a href="#xmlACatalogRemove">xmlACatalogRemove</a>              (<a 
href="libxml2-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a> catal, <br>                                      
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value);
+<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * <a href="#xmlACatalogResolve">xmlACatalogResolve</a>  
  (<a href="libxml2-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a> catal, <br>                                 
     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pubID, <br>                                 
       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * sysID);
+<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * <a 
href="#xmlACatalogResolvePublic">xmlACatalogResolvePublic</a>        (<a 
href="libxml2-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a> catal, <br>                                       
       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pubID);
+<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * <a 
href="#xmlACatalogResolveSystem">xmlACatalogResolveSystem</a>        (<a 
href="libxml2-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a> catal, <br>                                       
       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * sysID);
+<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * <a 
href="#xmlACatalogResolveURI">xmlACatalogResolveURI</a>      (<a 
href="libxml2-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a> catal, <br>                                      
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URI);
+int    <a href="#xmlCatalogAdd">xmlCatalogAdd</a>                      (const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * type, <br>                                         const 
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * orig, <br>                                         
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * replace);
+void * <a href="#xmlCatalogAddLocal">xmlCatalogAddLocal</a>            (void * catalogs, <br>                
                   const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URL);
 void   <a href="#xmlCatalogCleanup">xmlCatalogCleanup</a>              (void);
 int    <a href="#xmlCatalogConvert">xmlCatalogConvert</a>              (void);
 void   <a href="#xmlCatalogDump">xmlCatalogDump</a>                    (FILE * out);
@@ -66,10 +45,10 @@ void        <a href="#xmlCatalogFreeLocal">xmlCatalogFreeLocal</a>          (void * 
catalogs);
 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *   <a 
href="#xmlCatalogGetPublic">xmlCatalogGetPublic</a>  (const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pubID);
 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *   <a 
href="#xmlCatalogGetSystem">xmlCatalogGetSystem</a>  (const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * sysID);
 int    <a href="#xmlCatalogIsEmpty">xmlCatalogIsEmpty</a>              (<a 
href="libxml2-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a> catal);
-<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * <a 
href="#xmlCatalogLocalResolve">xmlCatalogLocalResolve</a>    (void * catalogs, <br/>                          
        const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pubID, <br/>                             
          const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * sysID);
-<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * <a 
href="#xmlCatalogLocalResolveURI">xmlCatalogLocalResolveURI</a>      (void * catalogs, <br/>                  
                        const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URI);
+<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * <a 
href="#xmlCatalogLocalResolve">xmlCatalogLocalResolve</a>    (void * catalogs, <br>                           
        const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pubID, <br>                              
          const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * sysID);
+<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * <a 
href="#xmlCatalogLocalResolveURI">xmlCatalogLocalResolveURI</a>      (void * catalogs, <br>                   
                        const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URI);
 int    <a href="#xmlCatalogRemove">xmlCatalogRemove</a>                (const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value);
-<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * <a href="#xmlCatalogResolve">xmlCatalogResolve</a>    
  (const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pubID, <br/>                                  
     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * sysID);
+<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * <a href="#xmlCatalogResolve">xmlCatalogResolve</a>    
  (const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pubID, <br>                                   
     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * sysID);
 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * <a 
href="#xmlCatalogResolvePublic">xmlCatalogResolvePublic</a>  (const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pubID);
 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * <a 
href="#xmlCatalogResolveSystem">xmlCatalogResolveSystem</a>  (const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * sysID);
 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * <a 
href="#xmlCatalogResolveURI">xmlCatalogResolveURI</a>        (const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URI);
@@ -86,193 +65,823 @@ void      <a href="#xmlLoadCatalogs">xmlLoadCatalogs</a>                  (const char * 
pathss);
 <a href="libxml2-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a> <a href="#xmlNewCatalog">xmlNewCatalog</a>    
          (int sgml);
 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>    <a 
href="#xmlParseCatalogFile">xmlParseCatalogFile</a>  (const char * filename);
 </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="XML_CATALOGS_NAMESPACE">Macro 
</a>XML_CATALOGS_NAMESPACE</h3><pre class="programlisting">#define <a 
href="#XML_CATALOGS_NAMESPACE">XML_CATALOGS_NAMESPACE</a>;
-</pre><p>The namespace for the XML Catalogs elements.</p>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_CATALOG_PI">Macro </a>XML_CATALOG_PI</h3><pre 
class="programlisting">#define <a href="#XML_CATALOG_PI">XML_CATALOG_PI</a>;
-</pre><p>The specific XML Catalog Processing Instruction name.</p>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCatalog">Structure </a>xmlCatalog</h3><pre 
class="programlisting">struct _xmlCatalog {
+</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="XML_CATALOGS_NAMESPACE">Macro </a>XML_CATALOGS_NAMESPACE</h3>
+<pre class="programlisting">#define <a href="#XML_CATALOGS_NAMESPACE">XML_CATALOGS_NAMESPACE</a>;
+</pre>
+<p>The namespace for the XML Catalogs elements.</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_CATALOG_PI">Macro </a>XML_CATALOG_PI</h3>
+<pre class="programlisting">#define <a href="#XML_CATALOG_PI">XML_CATALOG_PI</a>;
+</pre>
+<p>The specific XML Catalog Processing Instruction name.</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCatalog">Structure </a>xmlCatalog</h3>
+<pre class="programlisting">struct _xmlCatalog {
 The content of this structure is not made public by the API.
 } xmlCatalog;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCatalogAllow">Enum </a>xmlCatalogAllow</h3><pre 
class="programlisting">enum <a href="#xmlCatalogAllow">xmlCatalogAllow</a> {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCatalogAllow">Enum </a>xmlCatalogAllow</h3>
+<pre class="programlisting">enum <a href="#xmlCatalogAllow">xmlCatalogAllow</a> {
     <a name="XML_CATA_ALLOW_NONE">XML_CATA_ALLOW_NONE</a> = 0
     <a name="XML_CATA_ALLOW_GLOBAL">XML_CATA_ALLOW_GLOBAL</a> = 1
     <a name="XML_CATA_ALLOW_DOCUMENT">XML_CATA_ALLOW_DOCUMENT</a> = 2
     <a name="XML_CATA_ALLOW_ALL">XML_CATA_ALLOW_ALL</a> = 3
 };
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCatalogPrefer">Enum </a>xmlCatalogPrefer</h3><pre 
class="programlisting">enum <a href="#xmlCatalogPrefer">xmlCatalogPrefer</a> {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCatalogPrefer">Enum </a>xmlCatalogPrefer</h3>
+<pre class="programlisting">enum <a href="#xmlCatalogPrefer">xmlCatalogPrefer</a> {
     <a name="XML_CATA_PREFER_NONE">XML_CATA_PREFER_NONE</a> = 0
     <a name="XML_CATA_PREFER_PUBLIC">XML_CATA_PREFER_PUBLIC</a> = 1
     <a name="XML_CATA_PREFER_SYSTEM">XML_CATA_PREFER_SYSTEM</a> = 2
 };
-</pre><p/>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCatalogPtr">Typedef </a>xmlCatalogPtr</h3><pre 
class="programlisting"><a href="libxml2-catalog.html#xmlCatalog">xmlCatalog</a> * xmlCatalogPtr;
-</pre><p/>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlACatalogAdd"/>xmlACatalogAdd ()</h3><pre 
class="programlisting">int    xmlACatalogAdd                  (<a 
href="libxml2-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a> catal, <br/>                                     
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * type, <br/>                                      
  const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * orig, <br/>                                    
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * replace)<br/>
-</pre><p>Add an entry in the catalog, it may overwrite existing but different entries.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>catal</tt></i>:</span></td><td>a Catalog</td></tr><tr><td><span 
class="term"><i><tt>type</tt></i>:</span></td><td>the type of record to add to the 
catalog</td></tr><tr><td><span class="term"><i><tt>orig</tt></i>:</span></td><td>the system, public or prefix 
to match</td></tr><tr><td><span class="term"><i><tt>replace</tt></i>:</span></td><td>the replacement value 
for the match</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if successful, -1 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlACatalogDump"/>xmlACatalogDump ()</h3><pre 
class="programlisting">void xmlACatalogDump                 (<a 
href="libxml2-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a> catal, <br/>                                     
FILE * out)<br/>
-</pre><p>Dump the given catalog to the given file.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>catal</tt></i>:</span></td><td>a Catalog</td></tr><tr><td><span 
class="term"><i><tt>out</tt></i>:</span></td><td>the file.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlACatalogRemove"/>xmlACatalogRemove ()</h3><pre 
class="programlisting">int      xmlACatalogRemove               (<a 
href="libxml2-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a> catal, <br/>                                     
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value)<br/>
-</pre><p>Remove an entry from the catalog</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>catal</tt></i>:</span></td><td>a Catalog</td></tr><tr><td><span 
class="term"><i><tt>value</tt></i>:</span></td><td>the value to remove</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of entries removed if successful, -1 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlACatalogResolve"/>xmlACatalogResolve ()</h3><pre 
class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * xmlACatalogResolve      (<a 
href="libxml2-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a> catal, <br/>                                     
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pubID, <br/>                                     
  const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * sysID)<br/>
-</pre><p>Do a complete resolution lookup of an External Identifier</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>catal</tt></i>:</span></td><td>a Catalog</td></tr><tr><td><span 
class="term"><i><tt>pubID</tt></i>:</span></td><td>the public ID string</td></tr><tr><td><span 
class="term"><i><tt>sysID</tt></i>:</span></td><td>the system ID string</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the URI of the resource or NULL if not found, it must be 
freed by the caller.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlACatalogResolvePublic"/>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>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>catal</tt></i>:</span></td><td>a Catalog</td></tr><tr><td><span 
class="term"><i><tt>pubID</tt></i>:</span></td><td>the public ID string</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the local resource if found or NULL otherwise, the value 
returned must be freed by the caller.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlACatalogResolveSystem"/>xmlACatalogResolveSystem 
()</h3><pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *     
xmlACatalogResolveSystem        (<a href="libxml2-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a> catal, <br/>  
                                           const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * 
sysID)<br/>
-</pre><p>Try to lookup the catalog resource for a system ID</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>catal</tt></i>:</span></td><td>a Catalog</td></tr><tr><td><span 
class="term"><i><tt>sysID</tt></i>:</span></td><td>the system ID string</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the resource if found or NULL otherwise, the value 
returned must be freed by the caller.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlACatalogResolveURI"/>xmlACatalogResolveURI 
()</h3><pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *   
xmlACatalogResolveURI   (<a href="libxml2-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a> catal, <br/>          
                           const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URI)<br/>
-</pre><p>Do a complete resolution lookup of an URI</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>catal</tt></i>:</span></td><td>a Catalog</td></tr><tr><td><span 
class="term"><i><tt>URI</tt></i>:</span></td><td>the URI</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the URI of the resource or NULL if not found, it must be 
freed by the caller.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCatalogAdd"/>xmlCatalogAdd ()</h3><pre 
class="programlisting">int      xmlCatalogAdd                   (const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * type, <br/>                                        const 
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * orig, <br/>                                        
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * replace)<br/>
-</pre><p>Add an entry in the catalog, it may overwrite existing but different entries. If called before any 
other catalog routine, allows to override the default shared catalog put in place by 
xmlInitializeCatalog();</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>type</tt></i>:</span></td><td>the type of record to add to the 
catalog</td></tr><tr><td><span class="term"><i><tt>orig</tt></i>:</span></td><td>the system, public or prefix 
to match</td></tr><tr><td><span class="term"><i><tt>replace</tt></i>:</span></td><td>the replacement value 
for the match</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if successful, -1 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCatalogAddLocal"/>xmlCatalogAddLocal ()</h3><pre 
class="programlisting">void * xmlCatalogAddLocal              (void * catalogs, <br/>                         
         const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URL)<br/>
-</pre><p>Add the new entry to the catalog list</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>catalogs</tt></i>:</span></td><td>a document's list of catalogs</td></tr><tr><td><span 
class="term"><i><tt>URL</tt></i>:</span></td><td>the URL to a new local catalog</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the updated list</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCatalogCleanup"/>xmlCatalogCleanup ()</h3><pre 
class="programlisting">void     xmlCatalogCleanup               (void)<br/>
-</pre><p>Free up all the memory associated with catalogs</p>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCatalogConvert"/>xmlCatalogConvert ()</h3><pre 
class="programlisting">int      xmlCatalogConvert               (void)<br/>
-</pre><p>Convert all the SGML catalog entries as XML ones</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 number of entries converted if successful, -1 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCatalogDump"/>xmlCatalogDump ()</h3><pre 
class="programlisting">void   xmlCatalogDump                  (FILE * out)<br/>
-</pre><p>Dump all the global catalog content to the given file.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>out</tt></i>:</span></td><td>the file.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCatalogFreeLocal"/>xmlCatalogFreeLocal ()</h3><pre 
class="programlisting">void xmlCatalogFreeLocal             (void * catalogs)<br/>
-</pre><p>Free up the memory associated to the catalog list</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>catalogs</tt></i>:</span></td><td>a document's list of 
catalogs</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCatalogGetDefaults"/>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>
-<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 <a 
href="libxml2-catalog.html#xmlCatalogAllow">xmlCatalogAllow</a> value</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCatalogGetPublic"/>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>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>pubID</tt></i>:</span></td><td>the public ID string</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the resource if found or NULL 
otherwise.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCatalogGetSystem"/>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>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>sysID</tt></i>:</span></td><td>the system ID string</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the resource if found or NULL 
otherwise.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCatalogIsEmpty"/>xmlCatalogIsEmpty ()</h3><pre 
class="programlisting">int      xmlCatalogIsEmpty               (<a 
href="libxml2-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a> catal)<br/>
-</pre><p>Check is a catalog is empty</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>catal</tt></i>:</span></td><td>should this create an SGML catalog</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if the catalog is empty, 0 if not, amd -1 in case of 
error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCatalogLocalResolve"/>xmlCatalogLocalResolve 
()</h3><pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * 
xmlCatalogLocalResolve  (void * catalogs, <br/>                                  const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pubID, <br/>                                       const 
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * sysID)<br/>
-</pre><p>Do a complete resolution lookup of an External Identifier using a document's private catalog 
list</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>catalogs</tt></i>:</span></td><td>a document's list of catalogs</td></tr><tr><td><span 
class="term"><i><tt>pubID</tt></i>:</span></td><td>the public ID string</td></tr><tr><td><span 
class="term"><i><tt>sysID</tt></i>:</span></td><td>the system ID string</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the URI of the resource or NULL if not found, it must be 
freed by the caller.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCatalogLocalResolveURI"/>xmlCatalogLocalResolveURI 
()</h3><pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *   
xmlCatalogLocalResolveURI       (void * catalogs, <br/>                                          const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URI)<br/>
-</pre><p>Do a complete resolution lookup of an URI using a document's private catalog list</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>catalogs</tt></i>:</span></td><td>a document's list of catalogs</td></tr><tr><td><span 
class="term"><i><tt>URI</tt></i>:</span></td><td>the URI</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the URI of the resource or NULL if not found, it must be 
freed by the caller.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCatalogRemove"/>xmlCatalogRemove ()</h3><pre 
class="programlisting">int        xmlCatalogRemove                (const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value)<br/>
-</pre><p>Remove an entry from the catalog</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>value</tt></i>:</span></td><td>the value to remove</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of entries removed if successful, -1 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCatalogResolve"/>xmlCatalogResolve ()</h3><pre 
class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *   xmlCatalogResolve       
(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pubID, <br/>                                    
   const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * sysID)<br/>
-</pre><p>Do a complete resolution lookup of an External Identifier</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>pubID</tt></i>:</span></td><td>the public ID string</td></tr><tr><td><span 
class="term"><i><tt>sysID</tt></i>:</span></td><td>the system ID string</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the URI of the resource or NULL if not found, it must be 
freed by the caller.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCatalogResolvePublic"/>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>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>pubID</tt></i>:</span></td><td>the public ID string</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the resource if found or NULL otherwise, the value 
returned must be freed by the caller.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCatalogResolveSystem"/>xmlCatalogResolveSystem 
()</h3><pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *       
xmlCatalogResolveSystem (const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * sysID)<br/>
-</pre><p>Try to lookup the catalog resource for a system ID</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>sysID</tt></i>:</span></td><td>the system ID string</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the resource if found or NULL otherwise, the value 
returned must be freed by the caller.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCatalogResolveURI"/>xmlCatalogResolveURI ()</h3><pre 
class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *     xmlCatalogResolveURI    
(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URI)<br/>
-</pre><p>Do a complete resolution lookup of an URI</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</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the URI of the resource or NULL if not found, it must be 
freed by the caller.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCatalogSetDebug"/>xmlCatalogSetDebug ()</h3><pre 
class="programlisting">int    xmlCatalogSetDebug              (int level)<br/>
-</pre><p>Used to set the debug level for catalog operation, 0 disable debugging, 1 enable it</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>level</tt></i>:</span></td><td>the debug level of catalogs 
required</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the previous value of 
the catalog debugging level</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCatalogSetDefaultPrefer"/>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>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>prefer</tt></i>:</span></td><td>the default preference for 
delegation</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the previous value of 
the default preference for delegation</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCatalogSetDefaults"/>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>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>allow</tt></i>:</span></td><td>what catalogs should be 
accepted</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlConvertSGMLCatalog"/>xmlConvertSGMLCatalog 
()</h3><pre class="programlisting">int      xmlConvertSGMLCatalog           (<a 
href="libxml2-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a> catal)<br/>
-</pre><p>Convert all the SGML catalog entries as XML ones</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>catal</tt></i>:</span></td><td>the catalog</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of entries converted if successful, -1 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlFreeCatalog"/>xmlFreeCatalog ()</h3><pre 
class="programlisting">void   xmlFreeCatalog                  (<a 
href="libxml2-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a> catal)<br/>
-</pre><p>Free the memory allocated to a Catalog</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>catal</tt></i>:</span></td><td>a Catalog</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlInitializeCatalog"/>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>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlLoadACatalog"/>xmlLoadACatalog ()</h3><pre 
class="programlisting"><a href="libxml2-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a>       xmlLoadACatalog   
      (const char * filename)<br/>
-</pre><p>Load the catalog and build the associated data structures. This can be either an XML Catalog or an 
SGML Catalog It will recurse in SGML CATALOG entries. On the other hand XML Catalogs are not handled 
recursively.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>filename</tt></i>:</span></td><td>a file path</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the catalog parsed or NULL in case of 
error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlLoadCatalog"/>xmlLoadCatalog ()</h3><pre 
class="programlisting">int    xmlLoadCatalog                  (const char * filename)<br/>
-</pre><p>Load the catalog and makes its definitions effective for the default external entity loader. It 
will recurse in SGML CATALOG entries. this function is not thread safe, catalog initialization should 
preferably be done once at startup</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>filename</tt></i>:</span></td><td>a file path</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success -1 in case of 
error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlLoadCatalogs"/>xmlLoadCatalogs ()</h3><pre 
class="programlisting">void xmlLoadCatalogs                 (const char * pathss)<br/>
-</pre><p>Load the catalogs and makes their definitions effective for the default external entity loader. 
this function is not thread safe, catalog initialization should preferably be done once at startup</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>pathss</tt></i>:</span></td><td>a list of directories separated by a colon or a 
space.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlLoadSGMLSuperCatalog"/>xmlLoadSGMLSuperCatalog 
()</h3><pre class="programlisting"><a href="libxml2-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a>       
xmlLoadSGMLSuperCatalog (const char * filename)<br/>
-</pre><p>Load an SGML super catalog. It won't expand CATALOG or DELEGATE references. This is only needed for 
manipulating SGML Super Catalogs like adding and removing CATALOG or DELEGATE entries.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>filename</tt></i>:</span></td><td>a file path</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the catalog parsed or NULL in case of 
error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNewCatalog"/>xmlNewCatalog ()</h3><pre 
class="programlisting"><a href="libxml2-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a>   xmlNewCatalog         
  (int sgml)<br/>
-</pre><p>create a new Catalog.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>sgml</tt></i>:</span></td><td>should this create an SGML catalog</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a 
href="libxml2-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a> or NULL in case of 
error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParseCatalogFile"/>xmlParseCatalogFile ()</h3><pre 
class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>  xmlParseCatalogFile     (const 
char * filename)<br/>
-</pre><p>parse an XML file and build a tree. It's like xmlParseFile() except it bypass all catalog 
lookups.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>filename</tt></i>:</span></td><td>the filename</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the resulting document tree or NULL in case of 
error</td></tr></tbody></table></div></div>
-        <hr/>
-      </div>
-    </div>
-  </body>
+</pre>
+<p></p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCatalogPtr">Typedef </a>xmlCatalogPtr</h3>
+<pre class="programlisting"><a href="libxml2-catalog.html#xmlCatalog">xmlCatalog</a> * xmlCatalogPtr;
+</pre>
+<p></p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlACatalogAdd"></a>xmlACatalogAdd ()</h3>
+<pre class="programlisting">int        xmlACatalogAdd                  (<a 
href="libxml2-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a> catal, <br>                                      
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * type, <br>                                       
  const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * orig, <br>                                     
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * replace)<br>
+</pre>
+<p>Add an entry in the catalog, it may overwrite existing but different entries.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>catal</tt></i>:</span></td>
+<td>a Catalog</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>type</tt></i>:</span></td>
+<td>the type of record to add to the catalog</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>orig</tt></i>:</span></td>
+<td>the system, public or prefix to match</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>replace</tt></i>:</span></td>
+<td>the replacement value for the match</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 if successful, -1 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlACatalogDump"></a>xmlACatalogDump ()</h3>
+<pre class="programlisting">void       xmlACatalogDump                 (<a 
href="libxml2-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a> catal, <br>                                      
FILE * out)<br>
+</pre>
+<p>Dump the given catalog to the given file.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>catal</tt></i>:</span></td>
+<td>a Catalog</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>out</tt></i>:</span></td>
+<td>the file.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlACatalogRemove"></a>xmlACatalogRemove ()</h3>
+<pre class="programlisting">int        xmlACatalogRemove               (<a 
href="libxml2-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a> catal, <br>                                      
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value)<br>
+</pre>
+<p>Remove an entry from the catalog</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>catal</tt></i>:</span></td>
+<td>a Catalog</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>value</tt></i>:</span></td>
+<td>the value to remove</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the number of entries removed if successful, -1 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlACatalogResolve"></a>xmlACatalogResolve ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *     xmlACatalogResolve    
  (<a href="libxml2-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a> catal, <br>                                 
     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pubID, <br>                                 
       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * sysID)<br>
+</pre>
+<p>Do a complete resolution lookup of an External Identifier</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>catal</tt></i>:</span></td>
+<td>a Catalog</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>pubID</tt></i>:</span></td>
+<td>the public ID string</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>sysID</tt></i>:</span></td>
+<td>the system ID string</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the URI of the resource or NULL if not found, it must be freed by the caller.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>catal</tt></i>:</span></td>
+<td>a Catalog</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>pubID</tt></i>:</span></td>
+<td>the public ID string</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the local resource if found or NULL otherwise, the value returned must be freed by the caller.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlACatalogResolveSystem"></a>xmlACatalogResolveSystem ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *     
xmlACatalogResolveSystem        (<a href="libxml2-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a> catal, <br>   
                                           const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * 
sysID)<br>
+</pre>
+<p>Try to lookup the catalog resource for a system ID</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>catal</tt></i>:</span></td>
+<td>a Catalog</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>sysID</tt></i>:</span></td>
+<td>the system ID string</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the resource if found or NULL otherwise, the value returned must be freed by the caller.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlACatalogResolveURI"></a>xmlACatalogResolveURI ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *     xmlACatalogResolveURI 
  (<a href="libxml2-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a> catal, <br>                                 
     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URI)<br>
+</pre>
+<p>Do a complete resolution lookup of an URI</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>catal</tt></i>:</span></td>
+<td>a Catalog</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>URI</tt></i>:</span></td>
+<td>the URI</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the URI of the resource or NULL if not found, it must be freed by the caller.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCatalogAdd"></a>xmlCatalogAdd ()</h3>
+<pre class="programlisting">int        xmlCatalogAdd                   (const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * type, <br>                                         const 
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * orig, <br>                                         
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * replace)<br>
+</pre>
+<p>Add an entry in the catalog, it may overwrite existing but different entries. If called before any other 
catalog routine, allows to override the default shared catalog put in place by xmlInitializeCatalog();</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>type</tt></i>:</span></td>
+<td>the type of record to add to the catalog</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>orig</tt></i>:</span></td>
+<td>the system, public or prefix to match</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>replace</tt></i>:</span></td>
+<td>the replacement value for the match</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 if successful, -1 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCatalogAddLocal"></a>xmlCatalogAddLocal ()</h3>
+<pre class="programlisting">void *     xmlCatalogAddLocal              (void * catalogs, <br>                
                   const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URL)<br>
+</pre>
+<p>Add the new entry to the catalog list</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>catalogs</tt></i>:</span></td>
+<td>a document's list of catalogs</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>URL</tt></i>:</span></td>
+<td>the URL to a new local catalog</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the updated list</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCatalogCleanup"></a>xmlCatalogCleanup ()</h3>
+<pre class="programlisting">void       xmlCatalogCleanup               (void)<br>
+</pre>
+<p>Free up all the memory associated with catalogs</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCatalogConvert"></a>xmlCatalogConvert ()</h3>
+<pre class="programlisting">int        xmlCatalogConvert               (void)<br>
+</pre>
+<p>Convert all the SGML catalog entries as XML ones</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 number of entries converted if successful, -1 otherwise</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCatalogDump"></a>xmlCatalogDump ()</h3>
+<pre class="programlisting">void       xmlCatalogDump                  (FILE * out)<br>
+</pre>
+<p>Dump all the global catalog content to the given file.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>out</tt></i>:</span></td>
+<td>the file.</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCatalogFreeLocal"></a>xmlCatalogFreeLocal ()</h3>
+<pre class="programlisting">void       xmlCatalogFreeLocal             (void * catalogs)<br>
+</pre>
+<p>Free up the memory associated to the catalog list</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>catalogs</tt></i>:</span></td>
+<td>a document's list of catalogs</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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>
+<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 <a href="libxml2-catalog.html#xmlCatalogAllow">xmlCatalogAllow</a> value</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>pubID</tt></i>:</span></td>
+<td>the public ID string</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the resource if found or NULL otherwise.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>sysID</tt></i>:</span></td>
+<td>the system ID string</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the resource if found or NULL otherwise.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCatalogIsEmpty"></a>xmlCatalogIsEmpty ()</h3>
+<pre class="programlisting">int        xmlCatalogIsEmpty               (<a 
href="libxml2-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a> catal)<br>
+</pre>
+<p>Check is a catalog is empty</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>catal</tt></i>:</span></td>
+<td>should this create an SGML catalog</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if the catalog is empty, 0 if not, amd -1 in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCatalogLocalResolve"></a>xmlCatalogLocalResolve ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *     
xmlCatalogLocalResolve  (void * catalogs, <br>                                   const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pubID, <br>                                        const 
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * sysID)<br>
+</pre>
+<p>Do a complete resolution lookup of an External Identifier using a document's private catalog list</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>catalogs</tt></i>:</span></td>
+<td>a document's list of catalogs</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>pubID</tt></i>:</span></td>
+<td>the public ID string</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>sysID</tt></i>:</span></td>
+<td>the system ID string</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the URI of the resource or NULL if not found, it must be freed by the caller.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCatalogLocalResolveURI"></a>xmlCatalogLocalResolveURI ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *     
xmlCatalogLocalResolveURI       (void * catalogs, <br>                                           const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URI)<br>
+</pre>
+<p>Do a complete resolution lookup of an URI using a document's private catalog list</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>catalogs</tt></i>:</span></td>
+<td>a document's list of catalogs</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>URI</tt></i>:</span></td>
+<td>the URI</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the URI of the resource or NULL if not found, it must be freed by the caller.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCatalogRemove"></a>xmlCatalogRemove ()</h3>
+<pre class="programlisting">int        xmlCatalogRemove                (const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value)<br>
+</pre>
+<p>Remove an entry from the catalog</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>value</tt></i>:</span></td>
+<td>the value to remove</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the number of entries removed if successful, -1 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCatalogResolve"></a>xmlCatalogResolve ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *     xmlCatalogResolve     
  (const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pubID, <br>                                   
     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * sysID)<br>
+</pre>
+<p>Do a complete resolution lookup of an External Identifier</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>pubID</tt></i>:</span></td>
+<td>the public ID string</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>sysID</tt></i>:</span></td>
+<td>the system ID string</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the URI of the resource or NULL if not found, it must be freed by the caller.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>pubID</tt></i>:</span></td>
+<td>the public ID string</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the resource if found or NULL otherwise, the value returned must be freed by the caller.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCatalogResolveSystem"></a>xmlCatalogResolveSystem ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *     
xmlCatalogResolveSystem (const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * sysID)<br>
+</pre>
+<p>Try to lookup the catalog resource for a system ID</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>sysID</tt></i>:</span></td>
+<td>the system ID string</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the resource if found or NULL otherwise, the value returned must be freed by the caller.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCatalogResolveURI"></a>xmlCatalogResolveURI ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *     xmlCatalogResolveURI  
  (const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URI)<br>
+</pre>
+<p>Do a complete resolution lookup of an URI</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</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the URI of the resource or NULL if not found, it must be freed by the caller.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCatalogSetDebug"></a>xmlCatalogSetDebug ()</h3>
+<pre class="programlisting">int        xmlCatalogSetDebug              (int level)<br>
+</pre>
+<p>Used to set the debug level for catalog operation, 0 disable debugging, 1 enable it</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>level</tt></i>:</span></td>
+<td>the debug level of catalogs required</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the previous value of the catalog debugging level</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>prefer</tt></i>:</span></td>
+<td>the default preference for delegation</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the previous value of the default preference for delegation</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>allow</tt></i>:</span></td>
+<td>what catalogs should be accepted</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlConvertSGMLCatalog"></a>xmlConvertSGMLCatalog ()</h3>
+<pre class="programlisting">int        xmlConvertSGMLCatalog           (<a 
href="libxml2-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a> catal)<br>
+</pre>
+<p>Convert all the SGML catalog entries as XML ones</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>catal</tt></i>:</span></td>
+<td>the catalog</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the number of entries converted if successful, -1 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlFreeCatalog"></a>xmlFreeCatalog ()</h3>
+<pre class="programlisting">void       xmlFreeCatalog                  (<a 
href="libxml2-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a> catal)<br>
+</pre>
+<p>Free the memory allocated to a Catalog</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>catal</tt></i>:</span></td>
+<td>a Catalog</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlLoadACatalog"></a>xmlLoadACatalog ()</h3>
+<pre class="programlisting"><a href="libxml2-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a>     
xmlLoadACatalog         (const char * filename)<br>
+</pre>
+<p>Load the catalog and build the associated data structures. This can be either an XML Catalog or an SGML 
Catalog It will recurse in SGML CATALOG entries. On the other hand XML Catalogs are not handled 
recursively.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>filename</tt></i>:</span></td>
+<td>a file path</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the catalog parsed or NULL in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlLoadCatalog"></a>xmlLoadCatalog ()</h3>
+<pre class="programlisting">int        xmlLoadCatalog                  (const char * filename)<br>
+</pre>
+<p>Load the catalog and makes its definitions effective for the default external entity loader. It will 
recurse in SGML CATALOG entries. this function is not thread safe, catalog initialization should preferably 
be done once at startup</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>filename</tt></i>:</span></td>
+<td>a file path</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 in case of success -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlLoadCatalogs"></a>xmlLoadCatalogs ()</h3>
+<pre class="programlisting">void       xmlLoadCatalogs                 (const char * pathss)<br>
+</pre>
+<p>Load the catalogs and makes their definitions effective for the default external entity loader. this 
function is not thread safe, catalog initialization should preferably be done once at startup</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>pathss</tt></i>:</span></td>
+<td>a list of directories separated by a colon or a space.</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlLoadSGMLSuperCatalog"></a>xmlLoadSGMLSuperCatalog ()</h3>
+<pre class="programlisting"><a href="libxml2-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a>     
xmlLoadSGMLSuperCatalog (const char * filename)<br>
+</pre>
+<p>Load an SGML super catalog. It won't expand CATALOG or DELEGATE references. This is only needed for 
manipulating SGML Super Catalogs like adding and removing CATALOG or DELEGATE entries.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>filename</tt></i>:</span></td>
+<td>a file path</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the catalog parsed or NULL in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNewCatalog"></a>xmlNewCatalog ()</h3>
+<pre class="programlisting"><a href="libxml2-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a>     xmlNewCatalog 
          (int sgml)<br>
+</pre>
+<p>create a new Catalog.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>sgml</tt></i>:</span></td>
+<td>should this create an SGML catalog</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the <a href="libxml2-catalog.html#xmlCatalogPtr">xmlCatalogPtr</a> or NULL in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParseCatalogFile"></a>xmlParseCatalogFile ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>        xmlParseCatalogFile   
  (const char * filename)<br>
+</pre>
+<p>parse an XML file and build a tree. It's like xmlParseFile() except it bypass all catalog lookups.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>filename</tt></i>:</span></td>
+<td>the filename</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the resulting document tree or NULL in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+</div>
+</div>
+</body>
 </html>
diff --git a/doc/devhelp/libxml2-chvalid.html b/doc/devhelp/libxml2-chvalid.html
index a0cac17d..121c9ffa 100644
--- a/doc/devhelp/libxml2-chvalid.html
+++ b/doc/devhelp/libxml2-chvalid.html
@@ -1,49 +1,28 @@
-<?xml version="1.0" encoding="UTF-8"?>
 <html>
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
-    <title>chvalid: Unicode character range checking</title>
-    <meta name="generator" content="Libxml2 devhelp stylesheet"/>
-    <link rel="start" href="index.html" title="libxml2 Reference Manual"/>
-    <link rel="up" href="general.html" title="API"/>
-    <link rel="stylesheet" href="style.css" type="text/css"/>
-    <link rel="chapter" href="general.html" title="API"/>
-  </head>
-  <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-    <table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
-      <tr valign="middle">
-        <td>
-          <a accesskey="p" href="libxml2-catalog.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-debugXML.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">chvalid</span>
-    </h2>
-    <p>chvalid - Unicode character range checking</p>
-    <p>this module exports interfaces for the character range validation APIs  This file is automatically 
generated from the cvs source definition files using the genChRanges.py Python script </p>
-    <p>Author(s): William Brack &lt;wbrack mmm com hk&gt; </p>
-    <div class="refsynopsisdiv">
-      <h2>Synopsis</h2>
-      <pre class="synopsis">#define <a href="#xmlIsBaseCharQ">xmlIsBaseCharQ</a>(c);
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>chvalid: Unicode character range checking</title>
+<meta name="generator" content="Libxml2 devhelp stylesheet">
+<link rel="start" href="index.html" title="libxml2 Reference Manual">
+<link rel="up" href="general.html" title="API">
+<link rel="stylesheet" href="style.css" type="text/css">
+<link rel="chapter" href="general.html" title="API">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr 
valign="middle">
+<td><a accesskey="p" href="libxml2-catalog.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-debugXML.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">chvalid</span></h2>
+<p>chvalid - Unicode character range checking</p>
+<p>this module exports interfaces for the character range validation APIs  This file is automatically 
generated from the cvs source definition files using the genChRanges.py Python script </p>
+<p>Author(s): William Brack &lt;wbrack mmm com hk&gt; </p>
+<div class="refsynopsisdiv">
+<h2>Synopsis</h2>
+<pre class="synopsis">#define <a href="#xmlIsBaseCharQ">xmlIsBaseCharQ</a>(c);
 #define <a href="#xmlIsBaseChar_ch">xmlIsBaseChar_ch</a>(c);
 #define <a href="#xmlIsBlankQ">xmlIsBlankQ</a>(c);
 #define <a href="#xmlIsBlank_ch">xmlIsBlank_ch</a>(c);
@@ -63,7 +42,7 @@ typedef struct _xmlChRangeGroup <a href="#xmlChRangeGroup">xmlChRangeGroup</a>;
 typedef <a href="libxml2-chvalid.html#xmlChRangeGroup">xmlChRangeGroup</a> * <a 
href="#xmlChRangeGroupPtr">xmlChRangeGroupPtr</a>;
 typedef struct _xmlChSRange <a href="#xmlChSRange">xmlChSRange</a>;
 typedef <a href="libxml2-chvalid.html#xmlChSRange">xmlChSRange</a> * <a 
href="#xmlChSRangePtr">xmlChSRangePtr</a>;
-int    <a href="#xmlCharInRange">xmlCharInRange</a>                    (unsigned int val, <br/>              
                           const <a href="libxml2-chvalid.html#xmlChRangeGroup">xmlChRangeGroup</a> * rptr);
+int    <a href="#xmlCharInRange">xmlCharInRange</a>                    (unsigned int val, <br>               
                   const <a href="libxml2-chvalid.html#xmlChRangeGroup">xmlChRangeGroup</a> * rptr);
 int    <a href="#xmlIsBaseChar">xmlIsBaseChar</a>                      (unsigned int ch);
 int    <a href="#xmlIsBlank">xmlIsBlank</a>                    (unsigned int ch);
 int    <a href="#xmlIsChar">xmlIsChar</a>                      (unsigned int ch);
@@ -73,169 +52,530 @@ int       <a href="#xmlIsExtender">xmlIsExtender</a>                      (unsigned int 
ch);
 int    <a href="#xmlIsIdeographic">xmlIsIdeographic</a>                (unsigned int ch);
 int    <a href="#xmlIsPubidChar">xmlIsPubidChar</a>                    (unsigned int ch);
 </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="xmlIsBaseCharQ">Macro </a>xmlIsBaseCharQ</h3><pre 
class="programlisting">#define <a href="#xmlIsBaseCharQ">xmlIsBaseCharQ</a>(c);
-</pre><p>Automatically generated by genChRanges.py</p><div class="variablelist"><table border="0"><col 
align="left"/><tbody><tr><td><span class="term"><i><tt>c</tt></i>:</span></td><td>char to 
validate</td></tr></tbody></table></div>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlIsBaseChar_ch">Macro </a>xmlIsBaseChar_ch</h3><pre 
class="programlisting">#define <a href="#xmlIsBaseChar_ch">xmlIsBaseChar_ch</a>(c);
-</pre><p>Automatically generated by genChRanges.py</p><div class="variablelist"><table border="0"><col 
align="left"/><tbody><tr><td><span class="term"><i><tt>c</tt></i>:</span></td><td>char to 
validate</td></tr></tbody></table></div>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlIsBlankQ">Macro </a>xmlIsBlankQ</h3><pre 
class="programlisting">#define <a href="#xmlIsBlankQ">xmlIsBlankQ</a>(c);
-</pre><p>Automatically generated by genChRanges.py</p><div class="variablelist"><table border="0"><col 
align="left"/><tbody><tr><td><span class="term"><i><tt>c</tt></i>:</span></td><td>char to 
validate</td></tr></tbody></table></div>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlIsBlank_ch">Macro </a>xmlIsBlank_ch</h3><pre 
class="programlisting">#define <a href="#xmlIsBlank_ch">xmlIsBlank_ch</a>(c);
-</pre><p>Automatically generated by genChRanges.py</p><div class="variablelist"><table border="0"><col 
align="left"/><tbody><tr><td><span class="term"><i><tt>c</tt></i>:</span></td><td>char to 
validate</td></tr></tbody></table></div>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlIsCharQ">Macro </a>xmlIsCharQ</h3><pre 
class="programlisting">#define <a href="#xmlIsCharQ">xmlIsCharQ</a>(c);
-</pre><p>Automatically generated by genChRanges.py</p><div class="variablelist"><table border="0"><col 
align="left"/><tbody><tr><td><span class="term"><i><tt>c</tt></i>:</span></td><td>char to 
validate</td></tr></tbody></table></div>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlIsChar_ch">Macro </a>xmlIsChar_ch</h3><pre 
class="programlisting">#define <a href="#xmlIsChar_ch">xmlIsChar_ch</a>(c);
-</pre><p>Automatically generated by genChRanges.py</p><div class="variablelist"><table border="0"><col 
align="left"/><tbody><tr><td><span class="term"><i><tt>c</tt></i>:</span></td><td>char to 
validate</td></tr></tbody></table></div>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlIsCombiningQ">Macro </a>xmlIsCombiningQ</h3><pre 
class="programlisting">#define <a href="#xmlIsCombiningQ">xmlIsCombiningQ</a>(c);
-</pre><p>Automatically generated by genChRanges.py</p><div class="variablelist"><table border="0"><col 
align="left"/><tbody><tr><td><span class="term"><i><tt>c</tt></i>:</span></td><td>char to 
validate</td></tr></tbody></table></div>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlIsDigitQ">Macro </a>xmlIsDigitQ</h3><pre 
class="programlisting">#define <a href="#xmlIsDigitQ">xmlIsDigitQ</a>(c);
-</pre><p>Automatically generated by genChRanges.py</p><div class="variablelist"><table border="0"><col 
align="left"/><tbody><tr><td><span class="term"><i><tt>c</tt></i>:</span></td><td>char to 
validate</td></tr></tbody></table></div>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlIsDigit_ch">Macro </a>xmlIsDigit_ch</h3><pre 
class="programlisting">#define <a href="#xmlIsDigit_ch">xmlIsDigit_ch</a>(c);
-</pre><p>Automatically generated by genChRanges.py</p><div class="variablelist"><table border="0"><col 
align="left"/><tbody><tr><td><span class="term"><i><tt>c</tt></i>:</span></td><td>char to 
validate</td></tr></tbody></table></div>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlIsExtenderQ">Macro </a>xmlIsExtenderQ</h3><pre 
class="programlisting">#define <a href="#xmlIsExtenderQ">xmlIsExtenderQ</a>(c);
-</pre><p>Automatically generated by genChRanges.py</p><div class="variablelist"><table border="0"><col 
align="left"/><tbody><tr><td><span class="term"><i><tt>c</tt></i>:</span></td><td>char to 
validate</td></tr></tbody></table></div>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlIsExtender_ch">Macro </a>xmlIsExtender_ch</h3><pre 
class="programlisting">#define <a href="#xmlIsExtender_ch">xmlIsExtender_ch</a>(c);
-</pre><p>Automatically generated by genChRanges.py</p><div class="variablelist"><table border="0"><col 
align="left"/><tbody><tr><td><span class="term"><i><tt>c</tt></i>:</span></td><td>char to 
validate</td></tr></tbody></table></div>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlIsIdeographicQ">Macro </a>xmlIsIdeographicQ</h3><pre 
class="programlisting">#define <a href="#xmlIsIdeographicQ">xmlIsIdeographicQ</a>(c);
-</pre><p>Automatically generated by genChRanges.py</p><div class="variablelist"><table border="0"><col 
align="left"/><tbody><tr><td><span class="term"><i><tt>c</tt></i>:</span></td><td>char to 
validate</td></tr></tbody></table></div>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlIsPubidCharQ">Macro </a>xmlIsPubidCharQ</h3><pre 
class="programlisting">#define <a href="#xmlIsPubidCharQ">xmlIsPubidCharQ</a>(c);
-</pre><p>Automatically generated by genChRanges.py</p><div class="variablelist"><table border="0"><col 
align="left"/><tbody><tr><td><span class="term"><i><tt>c</tt></i>:</span></td><td>char to 
validate</td></tr></tbody></table></div>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlIsPubidChar_ch">Macro </a>xmlIsPubidChar_ch</h3><pre 
class="programlisting">#define <a href="#xmlIsPubidChar_ch">xmlIsPubidChar_ch</a>(c);
-</pre><p>Automatically generated by genChRanges.py</p><div class="variablelist"><table border="0"><col 
align="left"/><tbody><tr><td><span class="term"><i><tt>c</tt></i>:</span></td><td>char to 
validate</td></tr></tbody></table></div>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlChLRange">Structure </a>xmlChLRange</h3><pre 
class="programlisting">struct _xmlChLRange {
+</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="xmlIsBaseCharQ">Macro </a>xmlIsBaseCharQ</h3>
+<pre class="programlisting">#define <a href="#xmlIsBaseCharQ">xmlIsBaseCharQ</a>(c);
+</pre>
+<p>Automatically generated by genChRanges.py</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>c</tt></i>:</span></td>
+<td>char to validate</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlIsBaseChar_ch">Macro </a>xmlIsBaseChar_ch</h3>
+<pre class="programlisting">#define <a href="#xmlIsBaseChar_ch">xmlIsBaseChar_ch</a>(c);
+</pre>
+<p>Automatically generated by genChRanges.py</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>c</tt></i>:</span></td>
+<td>char to validate</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlIsBlankQ">Macro </a>xmlIsBlankQ</h3>
+<pre class="programlisting">#define <a href="#xmlIsBlankQ">xmlIsBlankQ</a>(c);
+</pre>
+<p>Automatically generated by genChRanges.py</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>c</tt></i>:</span></td>
+<td>char to validate</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlIsBlank_ch">Macro </a>xmlIsBlank_ch</h3>
+<pre class="programlisting">#define <a href="#xmlIsBlank_ch">xmlIsBlank_ch</a>(c);
+</pre>
+<p>Automatically generated by genChRanges.py</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>c</tt></i>:</span></td>
+<td>char to validate</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlIsCharQ">Macro </a>xmlIsCharQ</h3>
+<pre class="programlisting">#define <a href="#xmlIsCharQ">xmlIsCharQ</a>(c);
+</pre>
+<p>Automatically generated by genChRanges.py</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>c</tt></i>:</span></td>
+<td>char to validate</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlIsChar_ch">Macro </a>xmlIsChar_ch</h3>
+<pre class="programlisting">#define <a href="#xmlIsChar_ch">xmlIsChar_ch</a>(c);
+</pre>
+<p>Automatically generated by genChRanges.py</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>c</tt></i>:</span></td>
+<td>char to validate</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlIsCombiningQ">Macro </a>xmlIsCombiningQ</h3>
+<pre class="programlisting">#define <a href="#xmlIsCombiningQ">xmlIsCombiningQ</a>(c);
+</pre>
+<p>Automatically generated by genChRanges.py</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>c</tt></i>:</span></td>
+<td>char to validate</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlIsDigitQ">Macro </a>xmlIsDigitQ</h3>
+<pre class="programlisting">#define <a href="#xmlIsDigitQ">xmlIsDigitQ</a>(c);
+</pre>
+<p>Automatically generated by genChRanges.py</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>c</tt></i>:</span></td>
+<td>char to validate</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlIsDigit_ch">Macro </a>xmlIsDigit_ch</h3>
+<pre class="programlisting">#define <a href="#xmlIsDigit_ch">xmlIsDigit_ch</a>(c);
+</pre>
+<p>Automatically generated by genChRanges.py</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>c</tt></i>:</span></td>
+<td>char to validate</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlIsExtenderQ">Macro </a>xmlIsExtenderQ</h3>
+<pre class="programlisting">#define <a href="#xmlIsExtenderQ">xmlIsExtenderQ</a>(c);
+</pre>
+<p>Automatically generated by genChRanges.py</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>c</tt></i>:</span></td>
+<td>char to validate</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlIsExtender_ch">Macro </a>xmlIsExtender_ch</h3>
+<pre class="programlisting">#define <a href="#xmlIsExtender_ch">xmlIsExtender_ch</a>(c);
+</pre>
+<p>Automatically generated by genChRanges.py</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>c</tt></i>:</span></td>
+<td>char to validate</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlIsIdeographicQ">Macro </a>xmlIsIdeographicQ</h3>
+<pre class="programlisting">#define <a href="#xmlIsIdeographicQ">xmlIsIdeographicQ</a>(c);
+</pre>
+<p>Automatically generated by genChRanges.py</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>c</tt></i>:</span></td>
+<td>char to validate</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlIsPubidCharQ">Macro </a>xmlIsPubidCharQ</h3>
+<pre class="programlisting">#define <a href="#xmlIsPubidCharQ">xmlIsPubidCharQ</a>(c);
+</pre>
+<p>Automatically generated by genChRanges.py</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>c</tt></i>:</span></td>
+<td>char to validate</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlIsPubidChar_ch">Macro </a>xmlIsPubidChar_ch</h3>
+<pre class="programlisting">#define <a href="#xmlIsPubidChar_ch">xmlIsPubidChar_ch</a>(c);
+</pre>
+<p>Automatically generated by genChRanges.py</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>c</tt></i>:</span></td>
+<td>char to validate</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlChLRange">Structure </a>xmlChLRange</h3>
+<pre class="programlisting">struct _xmlChLRange {
     unsigned int       low
     unsigned int       high
 } xmlChLRange;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlChLRangePtr">Typedef </a>xmlChLRangePtr</h3><pre 
class="programlisting"><a href="libxml2-chvalid.html#xmlChLRange">xmlChLRange</a> * xmlChLRangePtr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlChLRangePtr">Typedef </a>xmlChLRangePtr</h3>
+<pre class="programlisting"><a href="libxml2-chvalid.html#xmlChLRange">xmlChLRange</a> * xmlChLRangePtr;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlChRangeGroup">Structure </a>xmlChRangeGroup</h3><pre 
class="programlisting">struct _xmlChRangeGroup {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlChRangeGroup">Structure </a>xmlChRangeGroup</h3>
+<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#xmlChLRange">xmlChLRange</a> * longRange
 } xmlChRangeGroup;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlChRangeGroupPtr">Typedef 
</a>xmlChRangeGroupPtr</h3><pre class="programlisting"><a 
href="libxml2-chvalid.html#xmlChRangeGroup">xmlChRangeGroup</a> * xmlChRangeGroupPtr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlChRangeGroupPtr">Typedef </a>xmlChRangeGroupPtr</h3>
+<pre class="programlisting"><a href="libxml2-chvalid.html#xmlChRangeGroup">xmlChRangeGroup</a> * 
xmlChRangeGroupPtr;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlChSRange">Structure </a>xmlChSRange</h3><pre 
class="programlisting">struct _xmlChSRange {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlChSRange">Structure </a>xmlChSRange</h3>
+<pre class="programlisting">struct _xmlChSRange {
     unsigned short     low
     unsigned short     high
 } xmlChSRange;
-</pre><p/>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlChSRangePtr">Typedef </a>xmlChSRangePtr</h3><pre 
class="programlisting"><a href="libxml2-chvalid.html#xmlChSRange">xmlChSRange</a> * xmlChSRangePtr;
-</pre><p/>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlIsBaseCharGroup">Variable 
</a>xmlIsBaseCharGroup</h3><pre class="programlisting">const <a 
href="libxml2-chvalid.html#xmlChRangeGroup">xmlChRangeGroup</a> xmlIsBaseCharGroup;
-</pre><p/>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlIsCharGroup">Variable </a>xmlIsCharGroup</h3><pre 
class="programlisting">const <a href="libxml2-chvalid.html#xmlChRangeGroup">xmlChRangeGroup</a> 
xmlIsCharGroup;
-</pre><p/>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlIsCombiningGroup">Variable 
</a>xmlIsCombiningGroup</h3><pre class="programlisting">const <a 
href="libxml2-chvalid.html#xmlChRangeGroup">xmlChRangeGroup</a> xmlIsCombiningGroup;
-</pre><p/>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlIsDigitGroup">Variable </a>xmlIsDigitGroup</h3><pre 
class="programlisting">const <a href="libxml2-chvalid.html#xmlChRangeGroup">xmlChRangeGroup</a> 
xmlIsDigitGroup;
-</pre><p/>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlIsExtenderGroup">Variable 
</a>xmlIsExtenderGroup</h3><pre class="programlisting">const <a 
href="libxml2-chvalid.html#xmlChRangeGroup">xmlChRangeGroup</a> xmlIsExtenderGroup;
-</pre><p/>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlIsIdeographicGroup">Variable 
</a>xmlIsIdeographicGroup</h3><pre class="programlisting">const <a 
href="libxml2-chvalid.html#xmlChRangeGroup">xmlChRangeGroup</a> xmlIsIdeographicGroup;
-</pre><p/>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlIsPubidChar_tab">Variable 
</a>xmlIsPubidChar_tab</h3><pre class="programlisting">const unsigned charxmlIsPubidChar_tab[256] 
xmlIsPubidChar_tab;
-</pre><p/>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCharInRange"/>xmlCharInRange ()</h3><pre 
class="programlisting">int    xmlCharInRange                  (unsigned int val, <br/>                        
                 const <a href="libxml2-chvalid.html#xmlChRangeGroup">xmlChRangeGroup</a> * rptr)<br/>
-</pre><p>Does a binary search of the range table to determine if char is valid</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>val</tt></i>:</span></td><td>character to be validated</td></tr><tr><td><span 
class="term"><i><tt>rptr</tt></i>:</span></td><td>pointer to range to be used to 
validate</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>true if character valid, 
false otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlIsBaseChar"/>xmlIsBaseChar ()</h3><pre 
class="programlisting">int      xmlIsBaseChar                   (unsigned int ch)<br/>
-</pre><p>This function is DEPRECATED. Use <a 
href="libxml2-chvalid.html#xmlIsBaseChar_ch">xmlIsBaseChar_ch</a> or <a 
href="libxml2-chvalid.html#xmlIsBaseCharQ">xmlIsBaseCharQ</a> instead</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ch</tt></i>:</span></td><td>character to validate</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>true if argument valid, false 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlIsBlank"/>xmlIsBlank ()</h3><pre 
class="programlisting">int    xmlIsBlank                      (unsigned int ch)<br/>
-</pre><p>This function is DEPRECATED. Use <a href="libxml2-chvalid.html#xmlIsBlank_ch">xmlIsBlank_ch</a> or 
<a href="libxml2-chvalid.html#xmlIsBlankQ">xmlIsBlankQ</a> instead</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ch</tt></i>:</span></td><td>character to validate</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>true if argument valid, false 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlIsChar"/>xmlIsChar ()</h3><pre 
class="programlisting">int      xmlIsChar                       (unsigned int ch)<br/>
-</pre><p>This function is DEPRECATED. Use <a href="libxml2-chvalid.html#xmlIsChar_ch">xmlIsChar_ch</a> or <a 
href="libxml2-chvalid.html#xmlIsCharQ">xmlIsCharQ</a> instead</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ch</tt></i>:</span></td><td>character to validate</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>true if argument valid, false 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlIsCombining"/>xmlIsCombining ()</h3><pre 
class="programlisting">int    xmlIsCombining                  (unsigned int ch)<br/>
-</pre><p>This function is DEPRECATED. Use <a href="libxml2-chvalid.html#xmlIsCombiningQ">xmlIsCombiningQ</a> 
instead</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ch</tt></i>:</span></td><td>character to validate</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>true if argument valid, false 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlIsDigit"/>xmlIsDigit ()</h3><pre 
class="programlisting">int    xmlIsDigit                      (unsigned int ch)<br/>
-</pre><p>This function is DEPRECATED. Use <a href="libxml2-chvalid.html#xmlIsDigit_ch">xmlIsDigit_ch</a> or 
<a href="libxml2-chvalid.html#xmlIsDigitQ">xmlIsDigitQ</a> instead</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ch</tt></i>:</span></td><td>character to validate</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>true if argument valid, false 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlIsExtender"/>xmlIsExtender ()</h3><pre 
class="programlisting">int      xmlIsExtender                   (unsigned int ch)<br/>
-</pre><p>This function is DEPRECATED. Use <a 
href="libxml2-chvalid.html#xmlIsExtender_ch">xmlIsExtender_ch</a> or <a 
href="libxml2-chvalid.html#xmlIsExtenderQ">xmlIsExtenderQ</a> instead</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ch</tt></i>:</span></td><td>character to validate</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>true if argument valid, false 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlIsIdeographic"/>xmlIsIdeographic ()</h3><pre 
class="programlisting">int        xmlIsIdeographic                (unsigned int ch)<br/>
-</pre><p>This function is DEPRECATED. Use <a 
href="libxml2-chvalid.html#xmlIsIdeographicQ">xmlIsIdeographicQ</a> instead</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ch</tt></i>:</span></td><td>character to validate</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>true if argument valid, false 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlIsPubidChar"/>xmlIsPubidChar ()</h3><pre 
class="programlisting">int    xmlIsPubidChar                  (unsigned int ch)<br/>
-</pre><p>This function is DEPRECATED. Use <a 
href="libxml2-chvalid.html#xmlIsPubidChar_ch">xmlIsPubidChar_ch</a> or <a 
href="libxml2-chvalid.html#xmlIsPubidCharQ">xmlIsPubidCharQ</a> instead</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ch</tt></i>:</span></td><td>character to validate</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>true if argument valid, false 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-      </div>
-    </div>
-  </body>
+</pre>
+<p></p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlChSRangePtr">Typedef </a>xmlChSRangePtr</h3>
+<pre class="programlisting"><a href="libxml2-chvalid.html#xmlChSRange">xmlChSRange</a> * xmlChSRangePtr;
+</pre>
+<p></p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlIsBaseCharGroup">Variable </a>xmlIsBaseCharGroup</h3>
+<pre class="programlisting">const <a href="libxml2-chvalid.html#xmlChRangeGroup">xmlChRangeGroup</a> 
xmlIsBaseCharGroup;
+</pre>
+<p></p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlIsCharGroup">Variable </a>xmlIsCharGroup</h3>
+<pre class="programlisting">const <a href="libxml2-chvalid.html#xmlChRangeGroup">xmlChRangeGroup</a> 
xmlIsCharGroup;
+</pre>
+<p></p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlIsCombiningGroup">Variable </a>xmlIsCombiningGroup</h3>
+<pre class="programlisting">const <a href="libxml2-chvalid.html#xmlChRangeGroup">xmlChRangeGroup</a> 
xmlIsCombiningGroup;
+</pre>
+<p></p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlIsDigitGroup">Variable </a>xmlIsDigitGroup</h3>
+<pre class="programlisting">const <a href="libxml2-chvalid.html#xmlChRangeGroup">xmlChRangeGroup</a> 
xmlIsDigitGroup;
+</pre>
+<p></p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlIsExtenderGroup">Variable </a>xmlIsExtenderGroup</h3>
+<pre class="programlisting">const <a href="libxml2-chvalid.html#xmlChRangeGroup">xmlChRangeGroup</a> 
xmlIsExtenderGroup;
+</pre>
+<p></p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlIsIdeographicGroup">Variable </a>xmlIsIdeographicGroup</h3>
+<pre class="programlisting">const <a href="libxml2-chvalid.html#xmlChRangeGroup">xmlChRangeGroup</a> 
xmlIsIdeographicGroup;
+</pre>
+<p></p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlIsPubidChar_tab">Variable </a>xmlIsPubidChar_tab</h3>
+<pre class="programlisting">const unsigned charxmlIsPubidChar_tab[256] xmlIsPubidChar_tab;
+</pre>
+<p></p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCharInRange"></a>xmlCharInRange ()</h3>
+<pre class="programlisting">int        xmlCharInRange                  (unsigned int val, <br>               
                   const <a href="libxml2-chvalid.html#xmlChRangeGroup">xmlChRangeGroup</a> * rptr)<br>
+</pre>
+<p>Does a binary search of the range table to determine if char is valid</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>val</tt></i>:</span></td>
+<td>character to be validated</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>rptr</tt></i>:</span></td>
+<td>pointer to range to be used to validate</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>true if character valid, false otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlIsBaseChar"></a>xmlIsBaseChar ()</h3>
+<pre class="programlisting">int        xmlIsBaseChar                   (unsigned int ch)<br>
+</pre>
+<p>This function is DEPRECATED. Use <a href="libxml2-chvalid.html#xmlIsBaseChar_ch">xmlIsBaseChar_ch</a> or 
<a href="libxml2-chvalid.html#xmlIsBaseCharQ">xmlIsBaseCharQ</a> instead</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ch</tt></i>:</span></td>
+<td>character to validate</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>true if argument valid, false otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlIsBlank"></a>xmlIsBlank ()</h3>
+<pre class="programlisting">int        xmlIsBlank                      (unsigned int ch)<br>
+</pre>
+<p>This function is DEPRECATED. Use <a href="libxml2-chvalid.html#xmlIsBlank_ch">xmlIsBlank_ch</a> or <a 
href="libxml2-chvalid.html#xmlIsBlankQ">xmlIsBlankQ</a> instead</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ch</tt></i>:</span></td>
+<td>character to validate</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>true if argument valid, false otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlIsChar"></a>xmlIsChar ()</h3>
+<pre class="programlisting">int        xmlIsChar                       (unsigned int ch)<br>
+</pre>
+<p>This function is DEPRECATED. Use <a href="libxml2-chvalid.html#xmlIsChar_ch">xmlIsChar_ch</a> or <a 
href="libxml2-chvalid.html#xmlIsCharQ">xmlIsCharQ</a> instead</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ch</tt></i>:</span></td>
+<td>character to validate</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>true if argument valid, false otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlIsCombining"></a>xmlIsCombining ()</h3>
+<pre class="programlisting">int        xmlIsCombining                  (unsigned int ch)<br>
+</pre>
+<p>This function is DEPRECATED. Use <a href="libxml2-chvalid.html#xmlIsCombiningQ">xmlIsCombiningQ</a> 
instead</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ch</tt></i>:</span></td>
+<td>character to validate</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>true if argument valid, false otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlIsDigit"></a>xmlIsDigit ()</h3>
+<pre class="programlisting">int        xmlIsDigit                      (unsigned int ch)<br>
+</pre>
+<p>This function is DEPRECATED. Use <a href="libxml2-chvalid.html#xmlIsDigit_ch">xmlIsDigit_ch</a> or <a 
href="libxml2-chvalid.html#xmlIsDigitQ">xmlIsDigitQ</a> instead</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ch</tt></i>:</span></td>
+<td>character to validate</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>true if argument valid, false otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlIsExtender"></a>xmlIsExtender ()</h3>
+<pre class="programlisting">int        xmlIsExtender                   (unsigned int ch)<br>
+</pre>
+<p>This function is DEPRECATED. Use <a href="libxml2-chvalid.html#xmlIsExtender_ch">xmlIsExtender_ch</a> or 
<a href="libxml2-chvalid.html#xmlIsExtenderQ">xmlIsExtenderQ</a> instead</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ch</tt></i>:</span></td>
+<td>character to validate</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>true if argument valid, false otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlIsIdeographic"></a>xmlIsIdeographic ()</h3>
+<pre class="programlisting">int        xmlIsIdeographic                (unsigned int ch)<br>
+</pre>
+<p>This function is DEPRECATED. Use <a href="libxml2-chvalid.html#xmlIsIdeographicQ">xmlIsIdeographicQ</a> 
instead</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ch</tt></i>:</span></td>
+<td>character to validate</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>true if argument valid, false otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlIsPubidChar"></a>xmlIsPubidChar ()</h3>
+<pre class="programlisting">int        xmlIsPubidChar                  (unsigned int ch)<br>
+</pre>
+<p>This function is DEPRECATED. Use <a href="libxml2-chvalid.html#xmlIsPubidChar_ch">xmlIsPubidChar_ch</a> 
or <a href="libxml2-chvalid.html#xmlIsPubidCharQ">xmlIsPubidCharQ</a> instead</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ch</tt></i>:</span></td>
+<td>character to validate</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>true if argument valid, false otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+</div>
+</div>
+</body>
 </html>
diff --git a/doc/devhelp/libxml2-debugXML.html b/doc/devhelp/libxml2-debugXML.html
index b5b431cc..e5939a6b 100644
--- a/doc/devhelp/libxml2-debugXML.html
+++ b/doc/devhelp/libxml2-debugXML.html
@@ -1,89 +1,69 @@
-<?xml version="1.0" encoding="UTF-8"?>
 <html>
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
-    <title>debugXML: Tree debugging APIs</title>
-    <meta name="generator" content="Libxml2 devhelp stylesheet"/>
-    <link rel="start" href="index.html" title="libxml2 Reference Manual"/>
-    <link rel="up" href="general.html" title="API"/>
-    <link rel="stylesheet" href="style.css" type="text/css"/>
-    <link rel="chapter" href="general.html" title="API"/>
-  </head>
-  <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-    <table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
-      <tr valign="middle">
-        <td>
-          <a accesskey="p" href="libxml2-chvalid.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-dict.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">debugXML</span>
-    </h2>
-    <p>debugXML - Tree debugging APIs</p>
-    <p>Interfaces to a set of routines used for debugging the tree produced by the XML parser. </p>
-    <p>Author(s): Daniel Veillard </p>
-    <div class="refsynopsisdiv">
-      <h2>Synopsis</h2>
-      <pre class="synopsis">typedef struct _xmlShellCtxt <a href="#xmlShellCtxt">xmlShellCtxt</a>;
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>debugXML: Tree debugging APIs</title>
+<meta name="generator" content="Libxml2 devhelp stylesheet">
+<link rel="start" href="index.html" title="libxml2 Reference Manual">
+<link rel="up" href="general.html" title="API">
+<link rel="stylesheet" href="style.css" type="text/css">
+<link rel="chapter" href="general.html" title="API">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr 
valign="middle">
+<td><a accesskey="p" href="libxml2-chvalid.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-dict.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">debugXML</span></h2>
+<p>debugXML - Tree debugging APIs</p>
+<p>Interfaces to a set of routines used for debugging the tree produced by the XML parser. </p>
+<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);
-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);
-void   <a href="#xmlDebugDumpDocument">xmlDebugDumpDocument</a>                (FILE * output, <br/>         
                           <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc);
-void   <a href="#xmlDebugDumpDocumentHead">xmlDebugDumpDocumentHead</a>        (FILE * output, <br/>         
                           <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc);
-void   <a href="#xmlDebugDumpEntities">xmlDebugDumpEntities</a>                (FILE * output, <br/>         
                           <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc);
-void   <a href="#xmlDebugDumpNode">xmlDebugDumpNode</a>                (FILE * output, <br/>                 
                   <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br/>                          
             int depth);
-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="#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);
+void   <a href="#xmlDebugDumpDocument">xmlDebugDumpDocument</a>                (FILE * output, <br>          
                           <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc);
+void   <a href="#xmlDebugDumpDocumentHead">xmlDebugDumpDocumentHead</a>        (FILE * output, <br>          
                           <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc);
+void   <a href="#xmlDebugDumpEntities">xmlDebugDumpEntities</a>                (FILE * output, <br>          
                           <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc);
+void   <a href="#xmlDebugDumpNode">xmlDebugDumpNode</a>                (FILE * output, <br>                  
                   <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>                           
             int depth);
+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/>                                  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="#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>                                   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="#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);
+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>
-    <div class="refsect1" lang="en">
-      <h2>Details</h2>
-      <div class="refsect2" lang="en">
-        <div class="refsect2" lang="en"><h3><a name="xmlShellCtxt">Structure </a>xmlShellCtxt</h3><pre 
class="programlisting">struct _xmlShellCtxt {
+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>
+<div class="refsect1" lang="en">
+<h2>Details</h2>
+<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
@@ -92,134 +72,802 @@ int       <a href="#xmlShellWrite">xmlShellWrite</a>                      (<a 
href="libxml2-debugXML.html
     FILE *     output
     <a href="libxml2-debugXML.html#xmlShellReadlineFunc">xmlShellReadlineFunc</a>      input
 } xmlShellCtxt;
-</pre><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/>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlShellCmd"/>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"/>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"/>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"/>xmlDebugCheckDocument 
()</h3><pre class="programlisting">int      xmlDebugCheckDocument           (FILE * output, <br/>             
                       <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br/>
-</pre><p>Check the document for potential content problems, and output the errors to @output</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>doc</tt></i>:</span></td><td>the document</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of errors 
found</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlDebugDumpAttr"/>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>
-<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>attr</tt></i>:</span></td><td>the <a 
href="libxml2-SAX.html#attribute">attribute</a></td></tr><tr><td><span 
class="term"><i><tt>depth</tt></i>:</span></td><td>the indentation 
level.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlDebugDumpAttrList"/>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>
-<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>attr</tt></i>:</span></td><td>the <a href="libxml2-SAX.html#attribute">attribute</a> 
list</td></tr><tr><td><span class="term"><i><tt>depth</tt></i>:</span></td><td>the indentation 
level.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlDebugDumpDTD"/>xmlDebugDumpDTD ()</h3><pre 
class="programlisting">void xmlDebugDumpDTD                 (FILE * output, <br/>                             
       <a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd)<br/>
-</pre><p>Dumps debug information for the DTD</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>dtd</tt></i>:</span></td><td>the DTD</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlDebugDumpDocument"/>xmlDebugDumpDocument ()</h3><pre 
class="programlisting">void       xmlDebugDumpDocument            (FILE * output, <br/>                       
             <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br/>
-</pre><p>Dumps debug information for the document, it's recursive</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>doc</tt></i>:</span></td><td>the document</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlDebugDumpDocumentHead"/>xmlDebugDumpDocumentHead 
()</h3><pre class="programlisting">void       xmlDebugDumpDocumentHead        (FILE * output, <br/>           
                         <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br/>
-</pre><p>Dumps debug information concerning the document, not recursive</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>doc</tt></i>:</span></td><td>the document</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlDebugDumpEntities"/>xmlDebugDumpEntities ()</h3><pre 
class="programlisting">void       xmlDebugDumpEntities            (FILE * output, <br/>                       
             <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br/>
-</pre><p>Dumps debug information for all the entities in use by the document</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>doc</tt></i>:</span></td><td>the document</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlDebugDumpNode"/>xmlDebugDumpNode ()</h3><pre 
class="programlisting">void       xmlDebugDumpNode                (FILE * output, <br/>                       
             <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br/>                                
       int depth)<br/>
-</pre><p>Dumps debug information for the element node, it is recursive</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</td></tr><tr><td><span 
class="term"><i><tt>depth</tt></i>:</span></td><td>the indentation 
level.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlDebugDumpNodeList"/>xmlDebugDumpNodeList ()</h3><pre 
class="programlisting">void       xmlDebugDumpNodeList            (FILE * output, <br/>                       
             <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br/>                                
       int depth)<br/>
-</pre><p>Dumps debug information for the list of element node, it is recursive</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 list</td></tr><tr><td><span 
class="term"><i><tt>depth</tt></i>:</span></td><td>the indentation 
level.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlDebugDumpOneNode"/>xmlDebugDumpOneNode ()</h3><pre 
class="programlisting">void xmlDebugDumpOneNode             (FILE * output, <br/>                             
       <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br/>                                      
 int depth)<br/>
-</pre><p>Dumps debug information for the element node, it is not recursive</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</td></tr><tr><td><span 
class="term"><i><tt>depth</tt></i>:</span></td><td>the indentation 
level.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlDebugDumpString"/>xmlDebugDumpString ()</h3><pre 
class="programlisting">void   xmlDebugDumpString              (FILE * output, <br/>                           
         const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str)<br/>
-</pre><p>Dumps information about the string, shorten it if necessary</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>str</tt></i>:</span></td><td>the string</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlLsCountNode"/>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"/>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"/>xmlShell ()</h3><pre 
class="programlisting">void       xmlShell                        (<a 
href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>                                  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"/>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"/>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"/>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"/>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"/>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"/>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"/>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"/>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"/>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"/>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"/>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"/>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"/>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>
+</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>
+<p>Check the document for potential content problems, and output the errors to @output</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>doc</tt></i>:</span></td>
+<td>the document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the number of errors found</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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>
+<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>attr</tt></i>:</span></td>
+<td>the <a href="libxml2-SAX.html#attribute">attribute</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>depth</tt></i>:</span></td>
+<td>the indentation level.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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>
+<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>attr</tt></i>:</span></td>
+<td>the <a href="libxml2-SAX.html#attribute">attribute</a> list</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>depth</tt></i>:</span></td>
+<td>the indentation level.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlDebugDumpDTD"></a>xmlDebugDumpDTD ()</h3>
+<pre class="programlisting">void       xmlDebugDumpDTD                 (FILE * output, <br>                  
                   <a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd)<br>
+</pre>
+<p>Dumps debug information for the DTD</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>dtd</tt></i>:</span></td>
+<td>the DTD</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlDebugDumpDocument"></a>xmlDebugDumpDocument ()</h3>
+<pre class="programlisting">void       xmlDebugDumpDocument            (FILE * output, <br>                  
                   <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br>
+</pre>
+<p>Dumps debug information for the document, it's recursive</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>doc</tt></i>:</span></td>
+<td>the document</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlDebugDumpDocumentHead"></a>xmlDebugDumpDocumentHead ()</h3>
+<pre class="programlisting">void       xmlDebugDumpDocumentHead        (FILE * output, <br>                  
                   <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br>
+</pre>
+<p>Dumps debug information concerning the document, not recursive</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>doc</tt></i>:</span></td>
+<td>the document</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlDebugDumpEntities"></a>xmlDebugDumpEntities ()</h3>
+<pre class="programlisting">void       xmlDebugDumpEntities            (FILE * output, <br>                  
                   <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br>
+</pre>
+<p>Dumps debug information for all the entities in use by the document</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>doc</tt></i>:</span></td>
+<td>the document</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlDebugDumpNode"></a>xmlDebugDumpNode ()</h3>
+<pre class="programlisting">void       xmlDebugDumpNode                (FILE * output, <br>                  
                   <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>                           
             int depth)<br>
+</pre>
+<p>Dumps debug information for the element node, it is recursive</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</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>depth</tt></i>:</span></td>
+<td>the indentation level.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlDebugDumpNodeList"></a>xmlDebugDumpNodeList ()</h3>
+<pre class="programlisting">void       xmlDebugDumpNodeList            (FILE * output, <br>                  
                   <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>                           
             int depth)<br>
+</pre>
+<p>Dumps debug information for the list of element node, it is recursive</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 list</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>depth</tt></i>:</span></td>
+<td>the indentation level.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlDebugDumpOneNode"></a>xmlDebugDumpOneNode ()</h3>
+<pre class="programlisting">void       xmlDebugDumpOneNode             (FILE * output, <br>                  
                   <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>                           
             int depth)<br>
+</pre>
+<p>Dumps debug information for the element node, it is not recursive</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</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>depth</tt></i>:</span></td>
+<td>the indentation level.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlDebugDumpString"></a>xmlDebugDumpString ()</h3>
+<pre class="programlisting">void       xmlDebugDumpString              (FILE * output, <br>                  
                   const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str)<br>
+</pre>
+<p>Dumps information about the string, shorten it if necessary</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>str</tt></i>:</span></td>
+<td>the string</td>
+</tr>
+</tbody>
+</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>                                   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>
 </html>
diff --git a/doc/devhelp/libxml2-dict.html b/doc/devhelp/libxml2-dict.html
index ce2bfb06..5a2c8835 100644
--- a/doc/devhelp/libxml2-dict.html
+++ b/doc/devhelp/libxml2-dict.html
@@ -1,134 +1,341 @@
-<?xml version="1.0" encoding="UTF-8"?>
 <html>
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
-    <title>dict: string dictionary</title>
-    <meta name="generator" content="Libxml2 devhelp stylesheet"/>
-    <link rel="start" href="index.html" title="libxml2 Reference Manual"/>
-    <link rel="up" href="general.html" title="API"/>
-    <link rel="stylesheet" href="style.css" type="text/css"/>
-    <link rel="chapter" href="general.html" title="API"/>
-  </head>
-  <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-    <table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
-      <tr valign="middle">
-        <td>
-          <a accesskey="p" href="libxml2-debugXML.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-encoding.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">dict</span>
-    </h2>
-    <p>dict - string dictionary</p>
-    <p>dictionary of reusable strings, just used to avoid allocation and freeing operations. </p>
-    <p>Author(s): Daniel Veillard </p>
-    <div class="refsynopsisdiv">
-      <h2>Synopsis</h2>
-      <pre class="synopsis">typedef struct _xmlDict <a href="#xmlDict">xmlDict</a>;
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>dict: string dictionary</title>
+<meta name="generator" content="Libxml2 devhelp stylesheet">
+<link rel="start" href="index.html" title="libxml2 Reference Manual">
+<link rel="up" href="general.html" title="API">
+<link rel="stylesheet" href="style.css" type="text/css">
+<link rel="chapter" href="general.html" title="API">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr 
valign="middle">
+<td><a accesskey="p" href="libxml2-debugXML.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-encoding.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">dict</span></h2>
+<p>dict - string dictionary</p>
+<p>dictionary of reusable strings, just used to avoid allocation and freeing operations. </p>
+<p>Author(s): Daniel Veillard </p>
+<div class="refsynopsisdiv">
+<h2>Synopsis</h2>
+<pre class="synopsis">typedef struct _xmlDict <a href="#xmlDict">xmlDict</a>;
 typedef <a href="libxml2-dict.html#xmlDict">xmlDict</a> * <a href="#xmlDictPtr">xmlDictPtr</a>;
 void   <a href="#xmlDictCleanup">xmlDictCleanup</a>                    (void);
 <a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a>  <a href="#xmlDictCreate">xmlDictCreate</a>            
  (void);
 <a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a>  <a href="#xmlDictCreateSub">xmlDictCreateSub</a>      
  (<a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> sub);
-const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *   <a href="#xmlDictExists">xmlDictExists</a>    
          (<a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> dict, <br/>                                  
     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>                                 
       int len);
+const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *   <a href="#xmlDictExists">xmlDictExists</a>    
          (<a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> dict, <br>                                   
     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>                                  
       int len);
 void   <a href="#xmlDictFree">xmlDictFree</a>                  (<a 
href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> dict);
 size_t <a href="#xmlDictGetUsage">xmlDictGetUsage</a>                  (<a 
href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> dict);
-const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *   <a href="#xmlDictLookup">xmlDictLookup</a>    
          (<a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> dict, <br/>                                  
     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>                                 
       int len);
-int    <a href="#xmlDictOwns">xmlDictOwns</a>                  (<a 
href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> dict, <br/>                                       const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str);
-const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *   <a href="#xmlDictQLookup">xmlDictQLookup</a>  
          (<a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> dict, <br/>                                  
     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br/>                               
       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
+const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *   <a href="#xmlDictLookup">xmlDictLookup</a>    
          (<a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> dict, <br>                                   
     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>                                  
       int len);
+int    <a href="#xmlDictOwns">xmlDictOwns</a>                  (<a 
href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> dict, <br>                                        const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str);
+const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *   <a href="#xmlDictQLookup">xmlDictQLookup</a>  
          (<a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> dict, <br>                                   
     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br>                                
       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
 int    <a href="#xmlDictReference">xmlDictReference</a>                (<a 
href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> dict);
-size_t <a href="#xmlDictSetLimit">xmlDictSetLimit</a>                  (<a 
href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> dict, <br/>                                       size_t 
limit);
+size_t <a href="#xmlDictSetLimit">xmlDictSetLimit</a>                  (<a 
href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> dict, <br>                                        size_t 
limit);
 int    <a href="#xmlDictSize">xmlDictSize</a>                  (<a 
href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> dict);
 int    <a href="#xmlInitializeDict">xmlInitializeDict</a>              (void);
 </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="xmlDict">Structure </a>xmlDict</h3><pre 
class="programlisting">struct _xmlDict {
+</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="xmlDict">Structure </a>xmlDict</h3>
+<pre class="programlisting">struct _xmlDict {
 The content of this structure is not made public by the API.
 } xmlDict;
-</pre><p/>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlDictPtr">Typedef </a>xmlDictPtr</h3><pre 
class="programlisting"><a href="libxml2-dict.html#xmlDict">xmlDict</a> * xmlDictPtr;
-</pre><p/>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlDictCleanup"/>xmlDictCleanup ()</h3><pre 
class="programlisting">void   xmlDictCleanup                  (void)<br/>
-</pre><p>DEPRECATED: This function will be made private. Call <a 
href="libxml2-parser.html#xmlCleanupParser">xmlCleanupParser</a> to free global state but see the warnings 
there. <a href="libxml2-parser.html#xmlCleanupParser">xmlCleanupParser</a> should be only called once at 
program exit. In most cases, you don't have call cleanup functions at all. Free the dictionary mutex. Do not 
call unless sure the library is not in use anymore !</p>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlDictCreate"/>xmlDictCreate ()</h3><pre 
class="programlisting"><a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a>    xmlDictCreate           
(void)<br/>
-</pre><p>Create a new dictionary</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 newly created dictionary, or NULL if an error 
occurred.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlDictCreateSub"/>xmlDictCreateSub ()</h3><pre 
class="programlisting"><a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a>      xmlDictCreateSub        (<a 
href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> sub)<br/>
-</pre><p>Create a new dictionary, inheriting strings from the read-only dictionary @sub. On lookup, strings 
are first searched in the new dictionary, then in @sub, and if not found are created in the new 
dictionary.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>sub</tt></i>:</span></td><td>an existing dictionary</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the newly created dictionary, or NULL if an error 
occurred.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlDictExists"/>xmlDictExists ()</h3><pre 
class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *     xmlDictExists         
  (<a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> dict, <br/>                                       
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>                                      
  int len)<br/>
-</pre><p>Check if the @name exists in the dictionary @dict.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>dict</tt></i>:</span></td><td>the dictionary</td></tr><tr><td><span 
class="term"><i><tt>name</tt></i>:</span></td><td>the name of the userdata</td></tr><tr><td><span 
class="term"><i><tt>len</tt></i>:</span></td><td>the length of the name, if -1 it is 
recomputed</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the internal copy of 
the name or NULL if not found.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlDictFree"/>xmlDictFree ()</h3><pre 
class="programlisting">void xmlDictFree                     (<a 
href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> dict)<br/>
-</pre><p>Free the hash @dict and its contents. The userdata is deallocated with @f if provided.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>dict</tt></i>:</span></td><td>the dictionary</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlDictGetUsage"/>xmlDictGetUsage ()</h3><pre 
class="programlisting">size_t       xmlDictGetUsage                 (<a 
href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> dict)<br/>
-</pre><p>Get how much memory is used by a dictionary for strings Added in 2.9.0</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>dict</tt></i>:</span></td><td>the dictionary</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the amount of strings 
allocated</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlDictLookup"/>xmlDictLookup ()</h3><pre 
class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *     xmlDictLookup         
  (<a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> dict, <br/>                                       
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>                                      
  int len)<br/>
-</pre><p>Add the @name to the dictionary @dict if not present.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>dict</tt></i>:</span></td><td>the dictionary</td></tr><tr><td><span 
class="term"><i><tt>name</tt></i>:</span></td><td>the name of the userdata</td></tr><tr><td><span 
class="term"><i><tt>len</tt></i>:</span></td><td>the length of the name, if -1 it is 
recomputed</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the internal copy of 
the name or NULL in case of internal error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlDictOwns"/>xmlDictOwns ()</h3><pre 
class="programlisting">int  xmlDictOwns                     (<a 
href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> dict, <br/>                                       const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str)<br/>
-</pre><p>check if a string is owned by the dictionary</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>dict</tt></i>:</span></td><td>the dictionary</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>Returns</tt></i>:</span></td><td>1 if true, 0 if false and -1 in case of error -1 in case 
of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlDictQLookup"/>xmlDictQLookup ()</h3><pre 
class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *   xmlDictQLookup          
(<a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> dict, <br/>                                       
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br/>                                    
  const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br/>
-</pre><p>Add the QName @prefix:@name to the hash @dict if not present.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>dict</tt></i>:</span></td><td>the dictionary</td></tr><tr><td><span 
class="term"><i><tt>prefix</tt></i>:</span></td><td>the prefix</td></tr><tr><td><span 
class="term"><i><tt>name</tt></i>:</span></td><td>the name</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the internal copy of the QName or NULL in case of 
internal error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlDictReference"/>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>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>dict</tt></i>:</span></td><td>the dictionary</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success and -1 in case of 
error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlDictSetLimit"/>xmlDictSetLimit ()</h3><pre 
class="programlisting">size_t       xmlDictSetLimit                 (<a 
href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> dict, <br/>                                       size_t 
limit)<br/>
-</pre><p>Set a size limit for the dictionary Added in 2.9.0</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>dict</tt></i>:</span></td><td>the dictionary</td></tr><tr><td><span 
class="term"><i><tt>limit</tt></i>:</span></td><td>the limit in bytes</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the previous limit of the dictionary or 
0</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlDictSize"/>xmlDictSize ()</h3><pre 
class="programlisting">int  xmlDictSize                     (<a 
href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> dict)<br/>
-</pre><p>Query the number of elements installed in the hash @dict.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>dict</tt></i>:</span></td><td>the dictionary</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of elements in the dictionary or -1 in case 
of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlInitializeDict"/>xmlInitializeDict ()</h3><pre 
class="programlisting">int      xmlInitializeDict               (void)<br/>
-</pre><p>DEPRECATED: This function will be made private. Call <a 
href="libxml2-parser.html#xmlInitParser">xmlInitParser</a> to initialize the library. Do the dictionary mutex 
initialization.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if initialization was already done, and 1 if that call 
led to the initialization</td></tr></tbody></table></div></div>
-        <hr/>
-      </div>
-    </div>
-  </body>
+</pre>
+<p></p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlDictPtr">Typedef </a>xmlDictPtr</h3>
+<pre class="programlisting"><a href="libxml2-dict.html#xmlDict">xmlDict</a> * xmlDictPtr;
+</pre>
+<p></p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlDictCleanup"></a>xmlDictCleanup ()</h3>
+<pre class="programlisting">void       xmlDictCleanup                  (void)<br>
+</pre>
+<p>DEPRECATED: This function will be made private. Call <a 
href="libxml2-parser.html#xmlCleanupParser">xmlCleanupParser</a> to free global state but see the warnings 
there. <a href="libxml2-parser.html#xmlCleanupParser">xmlCleanupParser</a> should be only called once at 
program exit. In most cases, you don't have call cleanup functions at all. Free the dictionary mutex. Do not 
call unless sure the library is not in use anymore !</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlDictCreate"></a>xmlDictCreate ()</h3>
+<pre class="programlisting"><a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a>      xmlDictCreate         
  (void)<br>
+</pre>
+<p>Create a new dictionary</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 newly created dictionary, or NULL if an error occurred.</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlDictCreateSub"></a>xmlDictCreateSub ()</h3>
+<pre class="programlisting"><a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a>      xmlDictCreateSub      
  (<a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> sub)<br>
+</pre>
+<p>Create a new dictionary, inheriting strings from the read-only dictionary @sub. On lookup, strings are 
first searched in the new dictionary, then in @sub, and if not found are created in the new dictionary.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>sub</tt></i>:</span></td>
+<td>an existing dictionary</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the newly created dictionary, or NULL if an error occurred.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlDictExists"></a>xmlDictExists ()</h3>
+<pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *       xmlDictExists 
          (<a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> dict, <br>                                   
     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>                                  
       int len)<br>
+</pre>
+<p>Check if the @name exists in the dictionary @dict.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>dict</tt></i>:</span></td>
+<td>the dictionary</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the name of the userdata</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>len</tt></i>:</span></td>
+<td>the length of the name, if -1 it is recomputed</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the internal copy of the name or NULL if not found.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlDictFree"></a>xmlDictFree ()</h3>
+<pre class="programlisting">void       xmlDictFree                     (<a 
href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> dict)<br>
+</pre>
+<p>Free the hash @dict and its contents. The userdata is deallocated with @f if provided.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>dict</tt></i>:</span></td>
+<td>the dictionary</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlDictGetUsage"></a>xmlDictGetUsage ()</h3>
+<pre class="programlisting">size_t     xmlDictGetUsage                 (<a 
href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> dict)<br>
+</pre>
+<p>Get how much memory is used by a dictionary for strings Added in 2.9.0</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>dict</tt></i>:</span></td>
+<td>the dictionary</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the amount of strings allocated</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlDictLookup"></a>xmlDictLookup ()</h3>
+<pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *       xmlDictLookup 
          (<a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> dict, <br>                                   
     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>                                  
       int len)<br>
+</pre>
+<p>Add the @name to the dictionary @dict if not present.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>dict</tt></i>:</span></td>
+<td>the dictionary</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the name of the userdata</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>len</tt></i>:</span></td>
+<td>the length of the name, if -1 it is recomputed</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the internal copy of the name or NULL in case of internal error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlDictOwns"></a>xmlDictOwns ()</h3>
+<pre class="programlisting">int        xmlDictOwns                     (<a 
href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> dict, <br>                                        const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str)<br>
+</pre>
+<p>check if a string is owned by the dictionary</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>dict</tt></i>:</span></td>
+<td>the dictionary</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>Returns</tt></i>:</span></td>
+<td>1 if true, 0 if false and -1 in case of error -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlDictQLookup"></a>xmlDictQLookup ()</h3>
+<pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *       
xmlDictQLookup          (<a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> dict, <br>                     
                   const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br>                  
                     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
+</pre>
+<p>Add the QName @prefix:@name to the hash @dict if not present.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>dict</tt></i>:</span></td>
+<td>the dictionary</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>prefix</tt></i>:</span></td>
+<td>the prefix</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the internal copy of the QName or NULL in case of internal error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>dict</tt></i>:</span></td>
+<td>the dictionary</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 in case of success and -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlDictSetLimit"></a>xmlDictSetLimit ()</h3>
+<pre class="programlisting">size_t     xmlDictSetLimit                 (<a 
href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> dict, <br>                                        size_t 
limit)<br>
+</pre>
+<p>Set a size limit for the dictionary Added in 2.9.0</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>dict</tt></i>:</span></td>
+<td>the dictionary</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>limit</tt></i>:</span></td>
+<td>the limit in bytes</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the previous limit of the dictionary or 0</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlDictSize"></a>xmlDictSize ()</h3>
+<pre class="programlisting">int        xmlDictSize                     (<a 
href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> dict)<br>
+</pre>
+<p>Query the number of elements installed in the hash @dict.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>dict</tt></i>:</span></td>
+<td>the dictionary</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the number of elements in the dictionary or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlInitializeDict"></a>xmlInitializeDict ()</h3>
+<pre class="programlisting">int        xmlInitializeDict               (void)<br>
+</pre>
+<p>DEPRECATED: This function will be made private. Call <a 
href="libxml2-parser.html#xmlInitParser">xmlInitParser</a> to initialize the library. Do the dictionary mutex 
initialization.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 if initialization was already done, and 1 if that call led to the initialization</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+</div>
+</div>
+</body>
 </html>
diff --git a/doc/devhelp/libxml2-encoding.html b/doc/devhelp/libxml2-encoding.html
index 33254bd1..94d70572 100644
--- a/doc/devhelp/libxml2-encoding.html
+++ b/doc/devhelp/libxml2-encoding.html
@@ -1,81 +1,61 @@
-<?xml version="1.0" encoding="UTF-8"?>
 <html>
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
-    <title>encoding: interface for the encoding conversion functions</title>
-    <meta name="generator" content="Libxml2 devhelp stylesheet"/>
-    <link rel="start" href="index.html" title="libxml2 Reference Manual"/>
-    <link rel="up" href="general.html" title="API"/>
-    <link rel="stylesheet" href="style.css" type="text/css"/>
-    <link rel="chapter" href="general.html" title="API"/>
-  </head>
-  <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-    <table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
-      <tr valign="middle">
-        <td>
-          <a accesskey="p" href="libxml2-dict.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-entities.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">encoding</span>
-    </h2>
-    <p>encoding - interface for the encoding conversion functions</p>
-    <p>interface for the encoding conversion functions needed for XML basic encoding and iconv() support.  
Related specs are rfc2044        (UTF-8 and UTF-16) F. Yergeau Alis Technologies [ISO-10646]    UTF-8 and 
UTF-16 in Annexes [ISO-8859-1]   ISO Latin-1 characters codes. [UNICODE]      The Unicode Consortium, "The 
Unicode Standard -- Worldwide Character Encoding -- Version 1.0", Addison- Wesley, Volume 1, 1991, Volume 2, 
1992.  UTF-8 is described in Unicode Technical Report #4. [US-ASCII]     Coded Character Set--7-bit American 
Standard Code for Information Interchange, ANSI X3.4-1986. </p>
-    <p>Author(s): Daniel Veillard </p>
-    <div class="refsynopsisdiv">
-      <h2>Synopsis</h2>
-      <pre class="synopsis">typedef enum <a href="#xmlCharEncoding">xmlCharEncoding</a>;
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>encoding: interface for the encoding conversion functions</title>
+<meta name="generator" content="Libxml2 devhelp stylesheet">
+<link rel="start" href="index.html" title="libxml2 Reference Manual">
+<link rel="up" href="general.html" title="API">
+<link rel="stylesheet" href="style.css" type="text/css">
+<link rel="chapter" href="general.html" title="API">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr 
valign="middle">
+<td><a accesskey="p" href="libxml2-dict.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-entities.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">encoding</span></h2>
+<p>encoding - interface for the encoding conversion functions</p>
+<p>interface for the encoding conversion functions needed for XML basic encoding and iconv() support.  
Related specs are rfc2044        (UTF-8 and UTF-16) F. Yergeau Alis Technologies [ISO-10646]    UTF-8 and 
UTF-16 in Annexes [ISO-8859-1]   ISO Latin-1 characters codes. [UNICODE]      The Unicode Consortium, "The 
Unicode Standard -- Worldwide Character Encoding -- Version 1.0", Addison- Wesley, Volume 1, 1991, Volume 2, 
1992.  UTF-8 is described in Unicode Technical Report #4. [US-ASCII]     Coded Character Set--7-bit American 
Standard Code for Information Interchange, ANSI X3.4-1986. </p>
+<p>Author(s): Daniel Veillard </p>
+<div class="refsynopsisdiv">
+<h2>Synopsis</h2>
+<pre class="synopsis">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="#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);
-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);
-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);
+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);
+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);
 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#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);
 <a href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a>        <a 
href="#xmlGetCharEncodingHandler">xmlGetCharEncodingHandler</a>      (<a 
href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc);
 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);
-<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);
+<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);
 <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);
 </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="xmlCharEncoding">Enum </a>xmlCharEncoding</h3><pre 
class="programlisting">enum <a href="#xmlCharEncoding">xmlCharEncoding</a> {
+</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="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 */
     <a name="XML_CHAR_ENCODING_NONE">XML_CHAR_ENCODING_NONE</a> = 0 /* No char encoding detected */
     <a name="XML_CHAR_ENCODING_UTF8">XML_CHAR_ENCODING_UTF8</a> = 1 /* UTF-8 */
@@ -101,10 +81,14 @@ void       <a href="#xmlRegisterCharEncodingHandler">xmlRegisterCharEncodingHandler</a
     <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 */
 };
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCharEncodingHandler">Structure 
</a>xmlCharEncodingHandler</h3><pre class="programlisting">struct _xmlCharEncodingHandler {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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
@@ -113,98 +97,503 @@ void      <a href="#xmlRegisterCharEncodingHandler">xmlRegisterCharEncodingHandler</a
     struct _uconv_t *  uconv_in
     struct _uconv_t *  uconv_out
 } xmlCharEncodingHandler;
-</pre><p/>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCharEncodingHandlerPtr">Typedef 
</a>xmlCharEncodingHandlerPtr</h3><pre class="programlisting"><a 
href="libxml2-encoding.html#xmlCharEncodingHandler">xmlCharEncodingHandler</a> * xmlCharEncodingHandlerPtr;
-</pre><p/>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCharEncodingInputFunc"/>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>
-<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 UTF-8 
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 chars in 
the original encoding</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, 
-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></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCharEncodingOutputFunc"/>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>
-<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, 
-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"/>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 
if success, -2 if the transcoding fails, or -1 otherwise 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"/>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 
if success, or -1 otherwise 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="xmlAddEncodingAlias"/>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>
-<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 as parsed, in UTF-8 format (ASCII 
actually)</td></tr><tr><td><span class="term"><i><tt>alias</tt></i>:</span></td><td>the alias name as parsed, 
in UTF-8 format (ASCII actually)</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success, -1 in case of 
error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCharEncCloseFunc"/>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>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>handler</tt></i>:</span></td><td>char encoding transformation data 
structure</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if success, or -1 in 
case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCharEncFirstLine"/>xmlCharEncFirstLine ()</h3><pre 
class="programlisting">int  xmlCharEncFirstLine             (<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><p>Front-end for the encoding handler input function, but handle only the very first line, i.e. limit 
itself to 45 chars.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>handler</tt></i>:</span></td><td>char encoding transformation data 
structure</td></tr><tr><td><span class="term"><i><tt>out</tt></i>:</span></td><td>an <a 
href="libxml2-tree.html#xmlBuffer">xmlBuffer</a> for the output.</td></tr><tr><td><span 
class="term"><i><tt>in</tt></i>:</span></td><td>an <a href="libxml2-tree.html#xmlBuffer">xmlBuffer</a> for 
the input</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of byte 
written if success, or -1 general error -2 if the transcoding fails (for *in is not valid utf8 string or the 
result of transformation can't fit into the encoding we want), or</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCharEncInFunc"/>xmlCharEncInFunc ()</h3><pre 
class="programlisting">int        xmlCharEncInFunc                (<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><p>Generic front-end for the encoding handler input 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>char encoding transformation data 
structure</td></tr><tr><td><span class="term"><i><tt>out</tt></i>:</span></td><td>an <a 
href="libxml2-tree.html#xmlBuffer">xmlBuffer</a> for the output.</td></tr><tr><td><span 
class="term"><i><tt>in</tt></i>:</span></td><td>an <a href="libxml2-tree.html#xmlBuffer">xmlBuffer</a> for 
the input</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of byte 
written if success, or -1 general error -2 if the transcoding fails (for *in is not valid utf8 string or the 
result of transformation can't fit into the encoding we want), or</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCharEncOutFunc"/>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><p>Generic front-end for the encoding handler output function a first call with @in == NULL has to be 
made firs to initiate the output in case of non-stateless encoding needing to initiate their state or the 
output (like the BOM in UTF16). In case of UTF8 sequence conversion errors for the given encoder, the content 
will be automatically remapped to a CharRef sequence.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>handler</tt></i>:</span></td><td>char encoding transformation data 
structure</td></tr><tr><td><span class="term"><i><tt>out</tt></i>:</span></td><td>an <a 
href="libxml2-tree.html#xmlBuffer">xmlBuffer</a> for the output.</td></tr><tr><td><span 
class="term"><i><tt>in</tt></i>:</span></td><td>an <a href="libxml2-tree.html#xmlBuffer">xmlBuffer</a> for 
the input</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of byte 
written if success, or -1 general error -2 if the transcoding fails (for *in is not valid utf8 string or the 
result of transformation can't fit into the encoding we want), or</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlCleanupCharEncodingHandlers"/>xmlCleanupCharEncodingHandlers ()</h3><pre class="programlisting">void 
  xmlCleanupCharEncodingHandlers  (void)<br/>
-</pre><p>DEPRECATED: This function will be made private. Call <a 
href="libxml2-parser.html#xmlCleanupParser">xmlCleanupParser</a> to free global state but see the warnings 
there. <a href="libxml2-parser.html#xmlCleanupParser">xmlCleanupParser</a> should be only called once at 
program exit. In most cases, you don't have call cleanup functions at all. Cleanup the memory allocated for 
the char encoding support, it unregisters all the encoding handlers and the aliases.</p>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCleanupEncodingAliases"/>xmlCleanupEncodingAliases 
()</h3><pre class="programlisting">void     xmlCleanupEncodingAliases       (void)<br/>
-</pre><p>Unregisters all aliases</p>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlDelEncodingAlias"/>xmlDelEncodingAlias ()</h3><pre 
class="programlisting">int  xmlDelEncodingAlias             (const char * alias)<br/>
-</pre><p>Unregisters an encoding alias @alias</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>alias</tt></i>:</span></td><td>the alias name as parsed, in UTF-8 format (ASCII 
actually)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success, 
-1 in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlDetectCharEncoding"/>xmlDetectCharEncoding 
()</h3><pre class="programlisting"><a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a>      
xmlDetectCharEncoding   (const unsigned char * in, <br/>                                         int len)<br/>
-</pre><p>Guess the encoding of the entity using the first bytes of the entity content according to the 
non-normative appendix F of the XML-1.0 recommendation.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>in</tt></i>:</span></td><td>a pointer to the first bytes of the XML entity, must be at 
least 2 bytes long (at least 4 if encoding is UTF4 variant).</td></tr><tr><td><span 
class="term"><i><tt>len</tt></i>:</span></td><td>pointer to the length of the buffer</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>one of the XML_CHAR_ENCODING_... 
values.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlFindCharEncodingHandler"/>xmlFindCharEncodingHandler 
()</h3><pre class="programlisting"><a 
href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a>        
xmlFindCharEncodingHandler      (const char * name)<br/>
-</pre><p>Search in the registered set the handler able to read/write that encoding.</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>Returns</tt></i>:</span></td><td>the handler or NULL if 
not found</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlGetCharEncodingHandler"/>xmlGetCharEncodingHandler 
()</h3><pre class="programlisting"><a 
href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a>  
xmlGetCharEncodingHandler       (<a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc)<br/>
-</pre><p>Search in the registered set the handler able to read/write that encoding.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>enc</tt></i>:</span></td><td>an <a 
href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> value.</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the handler or NULL if not 
found</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlGetCharEncodingName"/>xmlGetCharEncodingName 
()</h3><pre class="programlisting">const char *   xmlGetCharEncodingName  (<a 
href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc)<br/>
-</pre><p>The "canonical" name for XML encoding. C.f. http://www.w3.org/TR/REC-xml#charencoding Section 4.3.3 
Character Encoding in Entities</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>enc</tt></i>:</span></td><td>the encoding</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the canonical name for the given 
encoding</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlGetEncodingAlias"/>xmlGetEncodingAlias ()</h3><pre 
class="programlisting">const char * xmlGetEncodingAlias     (const char * alias)<br/>
-</pre><p>Lookup an encoding name for the given alias.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>alias</tt></i>:</span></td><td>the alias name as parsed, in UTF-8 format (ASCII 
actually)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>NULL if not found, 
otherwise the original name</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlInitCharEncodingHandlers"/>xmlInitCharEncodingHandlers ()</h3><pre class="programlisting">void 
xmlInitCharEncodingHandlers     (void)<br/>
-</pre><p>DEPRECATED: This function will be made private. Call <a 
href="libxml2-parser.html#xmlInitParser">xmlInitParser</a> to initialize the library. Initialize the char 
encoding support, it registers the default encoding supported. NOTE: while public, this function usually 
doesn't need to be called in normal processing.</p>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNewCharEncodingHandler"/>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 xmlCharEncodingHandler.</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, in UTF-8 format (ASCII 
actually)</td></tr><tr><td><span class="term"><i><tt>input</tt></i>:</span></td><td>the <a 
href="libxml2-encoding.html#xmlCharEncodingInputFunc">xmlCharEncodingInputFunc</a> to read that 
encoding</td></tr><tr><td><span class="term"><i><tt>output</tt></i>:</span></td><td>the <a 
href="libxml2-encoding.html#xmlCharEncodingOutputFunc">xmlCharEncodingOutputFunc</a> to write that 
encoding</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a 
href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> created (or NULL in case 
of error).</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParseCharEncoding"/>xmlParseCharEncoding ()</h3><pre 
class="programlisting"><a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a>        
xmlParseCharEncoding    (const char * name)<br/>
-</pre><p>Compare the string to the encoding schemes already known. Note that the comparison is case 
insensitive accordingly to the section [XML] 4.3.3 Character Encoding in Entities.</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 as parsed, in UTF-8 format (ASCII 
actually)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>one of the 
XML_CHAR_ENCODING_... values or <a 
href="libxml2-encoding.html#XML_CHAR_ENCODING_NONE">XML_CHAR_ENCODING_NONE</a> if not 
recognized.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlRegisterCharEncodingHandler"/>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>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>handler</tt></i>:</span></td><td>the <a 
href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> handler 
block</td></tr></tbody></table></div></div>
-        <hr/>
-      </div>
-    </div>
-  </body>
+</pre>
+<p></p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCharEncodingHandlerPtr">Typedef </a>xmlCharEncodingHandlerPtr</h3>
+<pre class="programlisting"><a 
href="libxml2-encoding.html#xmlCharEncodingHandler">xmlCharEncodingHandler</a> * xmlCharEncodingHandlerPtr;
+</pre>
+<p></p>
+</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>
+<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 UTF-8 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 chars in the original encoding</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, -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>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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>
+<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, -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 if success, -2 if the transcoding fails, or -1 otherwise 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 if success, or -1 otherwise 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="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>
+<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 as parsed, in UTF-8 format (ASCII actually)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>alias</tt></i>:</span></td>
+<td>the alias name as parsed, in UTF-8 format (ASCII actually)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 in case of success, -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>handler</tt></i>:</span></td>
+<td>char encoding transformation data structure</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 if success, or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCharEncFirstLine"></a>xmlCharEncFirstLine ()</h3>
+<pre class="programlisting">int        xmlCharEncFirstLine             (<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>
+<p>Front-end for the encoding handler input function, but handle only the very first line, i.e. limit itself 
to 45 chars.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>handler</tt></i>:</span></td>
+<td>char encoding transformation data structure</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>out</tt></i>:</span></td>
+<td>an <a href="libxml2-tree.html#xmlBuffer">xmlBuffer</a> for the output.</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>in</tt></i>:</span></td>
+<td>an <a href="libxml2-tree.html#xmlBuffer">xmlBuffer</a> for the input</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the number of byte written if success, or -1 general error -2 if the transcoding fails (for *in is not 
valid utf8 string or the result of transformation can't fit into the encoding we want), or</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCharEncInFunc"></a>xmlCharEncInFunc ()</h3>
+<pre class="programlisting">int        xmlCharEncInFunc                (<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>
+<p>Generic front-end for the encoding handler input 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>char encoding transformation data structure</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>out</tt></i>:</span></td>
+<td>an <a href="libxml2-tree.html#xmlBuffer">xmlBuffer</a> for the output.</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>in</tt></i>:</span></td>
+<td>an <a href="libxml2-tree.html#xmlBuffer">xmlBuffer</a> for the input</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the number of byte written if success, or -1 general error -2 if the transcoding fails (for *in is not 
valid utf8 string or the result of transformation can't fit into the encoding we want), or</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>
+<p>Generic front-end for the encoding handler output function a first call with @in == NULL has to be made 
firs to initiate the output in case of non-stateless encoding needing to initiate their state or the output 
(like the BOM in UTF16). In case of UTF8 sequence conversion errors for the given encoder, the content will 
be automatically remapped to a CharRef sequence.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>handler</tt></i>:</span></td>
+<td>char encoding transformation data structure</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>out</tt></i>:</span></td>
+<td>an <a href="libxml2-tree.html#xmlBuffer">xmlBuffer</a> for the output.</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>in</tt></i>:</span></td>
+<td>an <a href="libxml2-tree.html#xmlBuffer">xmlBuffer</a> for the input</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the number of byte written if success, or -1 general error -2 if the transcoding fails (for *in is not 
valid utf8 string or the result of transformation can't fit into the encoding we want), or</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCleanupCharEncodingHandlers"></a>xmlCleanupCharEncodingHandlers ()</h3>
+<pre class="programlisting">void       xmlCleanupCharEncodingHandlers  (void)<br>
+</pre>
+<p>DEPRECATED: This function will be made private. Call <a 
href="libxml2-parser.html#xmlCleanupParser">xmlCleanupParser</a> to free global state but see the warnings 
there. <a href="libxml2-parser.html#xmlCleanupParser">xmlCleanupParser</a> should be only called once at 
program exit. In most cases, you don't have call cleanup functions at all. Cleanup the memory allocated for 
the char encoding support, it unregisters all the encoding handlers and the aliases.</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCleanupEncodingAliases"></a>xmlCleanupEncodingAliases ()</h3>
+<pre class="programlisting">void       xmlCleanupEncodingAliases       (void)<br>
+</pre>
+<p>Unregisters all aliases</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlDelEncodingAlias"></a>xmlDelEncodingAlias ()</h3>
+<pre class="programlisting">int        xmlDelEncodingAlias             (const char * alias)<br>
+</pre>
+<p>Unregisters an encoding alias @alias</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>alias</tt></i>:</span></td>
+<td>the alias name as parsed, in UTF-8 format (ASCII actually)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 in case of success, -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlDetectCharEncoding"></a>xmlDetectCharEncoding ()</h3>
+<pre class="programlisting"><a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a>        
xmlDetectCharEncoding   (const unsigned char * in, <br>                                  int len)<br>
+</pre>
+<p>Guess the encoding of the entity using the first bytes of the entity content according to the 
non-normative appendix F of the XML-1.0 recommendation.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>in</tt></i>:</span></td>
+<td>a pointer to the first bytes of the XML entity, must be at least 2 bytes long (at least 4 if encoding is 
UTF4 variant).</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>len</tt></i>:</span></td>
+<td>pointer to the length of the buffer</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>one of the XML_CHAR_ENCODING_... values.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlFindCharEncodingHandler"></a>xmlFindCharEncodingHandler ()</h3>
+<pre class="programlisting"><a 
href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a>    
xmlFindCharEncodingHandler      (const char * name)<br>
+</pre>
+<p>Search in the registered set the handler able to read/write that encoding.</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>Returns</tt></i>:</span></td>
+<td>the handler or NULL if not found</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlGetCharEncodingHandler"></a>xmlGetCharEncodingHandler ()</h3>
+<pre class="programlisting"><a 
href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a>    
xmlGetCharEncodingHandler       (<a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc)<br>
+</pre>
+<p>Search in the registered set the handler able to read/write that encoding.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>enc</tt></i>:</span></td>
+<td>an <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> value.</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the handler or NULL if not found</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlGetCharEncodingName"></a>xmlGetCharEncodingName ()</h3>
+<pre class="programlisting">const char *       xmlGetCharEncodingName  (<a 
href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc)<br>
+</pre>
+<p>The "canonical" name for XML encoding. C.f. http://www.w3.org/TR/REC-xml#charencoding Section 4.3.3 
Character Encoding in Entities</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>enc</tt></i>:</span></td>
+<td>the encoding</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the canonical name for the given encoding</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>alias</tt></i>:</span></td>
+<td>the alias name as parsed, in UTF-8 format (ASCII actually)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>NULL if not found, otherwise the original name</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlInitCharEncodingHandlers"></a>xmlInitCharEncodingHandlers ()</h3>
+<pre class="programlisting">void       xmlInitCharEncodingHandlers     (void)<br>
+</pre>
+<p>DEPRECATED: This function will be made private. Call <a 
href="libxml2-parser.html#xmlInitParser">xmlInitParser</a> to initialize the library. Initialize the char 
encoding support, it registers the default encoding supported. NOTE: while public, this function usually 
doesn't need to be called in normal processing.</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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 xmlCharEncodingHandler.</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, in UTF-8 format (ASCII actually)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>input</tt></i>:</span></td>
+<td>the <a href="libxml2-encoding.html#xmlCharEncodingInputFunc">xmlCharEncodingInputFunc</a> to read that 
encoding</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>output</tt></i>:</span></td>
+<td>the <a href="libxml2-encoding.html#xmlCharEncodingOutputFunc">xmlCharEncodingOutputFunc</a> to write 
that encoding</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the <a href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> created (or 
NULL in case of error).</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParseCharEncoding"></a>xmlParseCharEncoding ()</h3>
+<pre class="programlisting"><a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a>        
xmlParseCharEncoding    (const char * name)<br>
+</pre>
+<p>Compare the string to the encoding schemes already known. Note that the comparison is case insensitive 
accordingly to the section [XML] 4.3.3 Character Encoding in Entities.</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 as parsed, in UTF-8 format (ASCII actually)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>one of the XML_CHAR_ENCODING_... values or <a 
href="libxml2-encoding.html#XML_CHAR_ENCODING_NONE">XML_CHAR_ENCODING_NONE</a> if not recognized.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>handler</tt></i>:</span></td>
+<td>the <a href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> handler 
block</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+</div>
+</div>
+</body>
 </html>
diff --git a/doc/devhelp/libxml2-entities.html b/doc/devhelp/libxml2-entities.html
index d1e564c7..2b0ea58d 100644
--- a/doc/devhelp/libxml2-entities.html
+++ b/doc/devhelp/libxml2-entities.html
@@ -1,87 +1,75 @@
-<?xml version="1.0" encoding="UTF-8"?>
 <html>
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
-    <title>entities: interface for the XML entities handling</title>
-    <meta name="generator" content="Libxml2 devhelp stylesheet"/>
-    <link rel="start" href="index.html" title="libxml2 Reference Manual"/>
-    <link rel="up" href="general.html" title="API"/>
-    <link rel="stylesheet" href="style.css" type="text/css"/>
-    <link rel="chapter" href="general.html" title="API"/>
-  </head>
-  <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-    <table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
-      <tr valign="middle">
-        <td>
-          <a accesskey="p" href="libxml2-encoding.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-globals.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">entities</span>
-    </h2>
-    <p>entities - interface for the XML entities handling</p>
-    <p>this module provides some of the entity API needed for the parser and applications. </p>
-    <p>Author(s): Daniel Veillard </p>
-    <div class="refsynopsisdiv">
-      <h2>Synopsis</h2>
-      <pre class="synopsis">typedef struct _xmlHashTable <a href="#xmlEntitiesTable">xmlEntitiesTable</a>;
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>entities: interface for the XML entities handling</title>
+<meta name="generator" content="Libxml2 devhelp stylesheet">
+<link rel="start" href="index.html" title="libxml2 Reference Manual">
+<link rel="up" href="general.html" title="API">
+<link rel="stylesheet" href="style.css" type="text/css">
+<link rel="chapter" href="general.html" title="API">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr 
valign="middle">
+<td><a accesskey="p" href="libxml2-encoding.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-globals.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">entities</span></h2>
+<p>entities - interface for the XML entities handling</p>
+<p>this module provides some of the entity API needed for the parser and applications. </p>
+<p>Author(s): Daniel Veillard </p>
+<div class="refsynopsisdiv">
+<h2>Synopsis</h2>
+<pre class="synopsis">typedef struct _xmlHashTable <a href="#xmlEntitiesTable">xmlEntitiesTable</a>;
 typedef <a href="libxml2-entities.html#xmlEntitiesTable">xmlEntitiesTable</a> * <a 
href="#xmlEntitiesTablePtr">xmlEntitiesTablePtr</a>;
 typedef enum <a href="#xmlEntityType">xmlEntityType</a>;
-<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);
+<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);
 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="#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);
-<a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a>      <a 
href="#xmlGetDocEntity">xmlGetDocEntity</a>          (const <a href="libxml2-tree.html#xmlDoc">xmlDoc</a> * 
doc, <br/>                                        const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> 
* name);
-<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="#xmlGetDocEntity">xmlGetDocEntity</a>          (const <a href="libxml2-tree.html#xmlDoc">xmlDoc</a> * 
doc, <br>                                         const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> 
* name);
+<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>
-    <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="xmlEntitiesTable">Structure 
</a>xmlEntitiesTable</h3><pre class="programlisting">struct _xmlHashTable {
+<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>
+<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="xmlEntitiesTable">Structure </a>xmlEntitiesTable</h3>
+<pre class="programlisting">struct _xmlHashTable {
 The content of this structure is not made public by the API.
 } xmlEntitiesTable;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlEntitiesTablePtr">Typedef 
</a>xmlEntitiesTablePtr</h3><pre class="programlisting"><a 
href="libxml2-entities.html#xmlEntitiesTable">xmlEntitiesTable</a> * xmlEntitiesTablePtr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlEntitiesTablePtr">Typedef </a>xmlEntitiesTablePtr</h3>
+<pre class="programlisting"><a href="libxml2-entities.html#xmlEntitiesTable">xmlEntitiesTable</a> * 
xmlEntitiesTablePtr;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlEntityType">Enum </a>xmlEntityType</h3><pre 
class="programlisting">enum <a href="#xmlEntityType">xmlEntityType</a> {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlEntityType">Enum </a>xmlEntityType</h3>
+<pre class="programlisting">enum <a href="#xmlEntityType">xmlEntityType</a> {
     <a name="XML_INTERNAL_GENERAL_ENTITY">XML_INTERNAL_GENERAL_ENTITY</a> = 1
     <a name="XML_EXTERNAL_GENERAL_PARSED_ENTITY">XML_EXTERNAL_GENERAL_PARSED_ENTITY</a> = 2
     <a name="XML_EXTERNAL_GENERAL_UNPARSED_ENTITY">XML_EXTERNAL_GENERAL_UNPARSED_ENTITY</a> = 3
@@ -89,78 +77,414 @@ The content of this structure is not made public by the API.
     <a name="XML_EXTERNAL_PARAMETER_ENTITY">XML_EXTERNAL_PARAMETER_ENTITY</a> = 5
     <a name="XML_INTERNAL_PREDEFINED_ENTITY">XML_INTERNAL_PREDEFINED_ENTITY</a> = 6
 };
-</pre><p/>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlAddDocEntity"/>xmlAddDocEntity ()</h3><pre 
class="programlisting"><a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a>    xmlAddDocEntity         
(<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><p>Register a new entity for this document.</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</td></tr><tr><td><span 
class="term"><i><tt>name</tt></i>:</span></td><td>the entity name</td></tr><tr><td><span 
class="term"><i><tt>type</tt></i>:</span></td><td>the entity type XML_xxx_yyy_ENTITY</td></tr><tr><td><span 
class="term"><i><tt>ExternalID</tt></i>:</span></td><td>the entity external ID if 
available</td></tr><tr><td><span class="term"><i><tt>SystemID</tt></i>:</span></td><td>the entity system ID 
if available</td></tr><tr><td><span class="term"><i><tt>content</tt></i>:</span></td><td>the entity 
content</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the entity 
or NULL in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlAddDtdEntity"/>xmlAddDtdEntity ()</h3><pre 
class="programlisting"><a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a>    xmlAddDtdEntity         
(<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><p>Register a new entity for this document DTD external subset.</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</td></tr><tr><td><span 
class="term"><i><tt>name</tt></i>:</span></td><td>the entity name</td></tr><tr><td><span 
class="term"><i><tt>type</tt></i>:</span></td><td>the entity type XML_xxx_yyy_ENTITY</td></tr><tr><td><span 
class="term"><i><tt>ExternalID</tt></i>:</span></td><td>the entity external ID if 
available</td></tr><tr><td><span class="term"><i><tt>SystemID</tt></i>:</span></td><td>the entity system ID 
if available</td></tr><tr><td><span class="term"><i><tt>content</tt></i>:</span></td><td>the entity 
content</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the entity 
or NULL in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlCleanupPredefinedEntities"/>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"/>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><p>Build a copy of an entity 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 entity table</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the new <a 
href="libxml2-entities.html#xmlEntitiesTablePtr">xmlEntitiesTablePtr</a> or NULL in case of 
error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCreateEntitiesTable"/>xmlCreateEntitiesTable 
()</h3><pre class="programlisting"><a 
href="libxml2-entities.html#xmlEntitiesTablePtr">xmlEntitiesTablePtr</a>    xmlCreateEntitiesTable  
(void)<br/>
-</pre><p>create and initialize an empty entities hash table. This really doesn't make sense and should be 
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>the <a 
href="libxml2-entities.html#xmlEntitiesTablePtr">xmlEntitiesTablePtr</a> just created or NULL in case of 
error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlDumpEntitiesTable"/>xmlDumpEntitiesTable ()</h3><pre 
class="programlisting">void       xmlDumpEntitiesTable            (<a 
href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br/>                                    <a 
href="libxml2-entities.html#xmlEntitiesTablePtr">xmlEntitiesTablePtr</a> table)<br/>
-</pre><p>This will dump the content of the entity table as an XML DTD definition</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>buf</tt></i>:</span></td><td>An XML buffer.</td></tr><tr><td><span 
class="term"><i><tt>table</tt></i>:</span></td><td>An entity table</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlDumpEntityDecl"/>xmlDumpEntityDecl ()</h3><pre 
class="programlisting">void     xmlDumpEntityDecl               (<a 
href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br/>                                    <a 
href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a> ent)<br/>
-</pre><p>This will dump the content of the entity table as an XML DTD definition</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>buf</tt></i>:</span></td><td>An XML buffer.</td></tr><tr><td><span 
class="term"><i><tt>ent</tt></i>:</span></td><td>An entity table</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlEncodeEntities"/>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"/>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>
-<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>A newly allocated string with the substitution 
done.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlEncodeSpecialChars"/>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>
-<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>A newly allocated string with the substitution 
done.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlFreeEntitiesTable"/>xmlFreeEntitiesTable ()</h3><pre 
class="programlisting">void       xmlFreeEntitiesTable            (<a 
href="libxml2-entities.html#xmlEntitiesTablePtr">xmlEntitiesTablePtr</a> table)<br/>
-</pre><p>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 entity table</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlGetDocEntity"/>xmlGetDocEntity ()</h3><pre 
class="programlisting"><a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a>    xmlGetDocEntity         
(const <a href="libxml2-tree.html#xmlDoc">xmlDoc</a> * doc, <br/>                                        
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br/>
-</pre><p>Do an entity lookup in the document entity hash table and</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 referencing the entity</td></tr><tr><td><span 
class="term"><i><tt>name</tt></i>:</span></td><td>the entity name</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the corresponding entity, otherwise a lookup is done in 
the predefined entities too. Returns A pointer to the entity structure or NULL if not 
found.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlGetDtdEntity"/>xmlGetDtdEntity ()</h3><pre 
class="programlisting"><a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a>    xmlGetDtdEntity         
(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>                                  const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br/>
-</pre><p>Do an entity lookup in the DTD entity hash table and</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 referencing the entity</td></tr><tr><td><span 
class="term"><i><tt>name</tt></i>:</span></td><td>the entity name</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the corresponding entity, if found. Note: the first 
argument is the document node, not the DTD node. Returns A pointer to the entity structure or NULL if not 
found.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlGetParameterEntity"/>xmlGetParameterEntity 
()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a>        
xmlGetParameterEntity   (<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>                       
           const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br/>
-</pre><p>Do an entity lookup in the internal and external subsets and</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 referencing the entity</td></tr><tr><td><span 
class="term"><i><tt>name</tt></i>:</span></td><td>the entity name</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the corresponding parameter entity, if found. Returns A 
pointer to the entity structure or NULL if not found.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlGetPredefinedEntity"/>xmlGetPredefinedEntity 
()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a>      
xmlGetPredefinedEntity  (const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br/>
-</pre><p>Check whether this name is an predefined entity.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>name</tt></i>:</span></td><td>the entity name</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>NULL if not, otherwise the 
entity</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlInitializePredefinedEntities"/>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"/>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><p>Create a new entity, this differs from xmlAddDocEntity() that if the document is NULL or has no 
internal subset defined, then an unlinked entity structure will be returned, it is then the responsibility of 
the caller to link it to the document later or free it when not needed anymore.</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</td></tr><tr><td><span 
class="term"><i><tt>name</tt></i>:</span></td><td>the entity name</td></tr><tr><td><span 
class="term"><i><tt>type</tt></i>:</span></td><td>the entity type XML_xxx_yyy_ENTITY</td></tr><tr><td><span 
class="term"><i><tt>ExternalID</tt></i>:</span></td><td>the entity external ID if 
available</td></tr><tr><td><span class="term"><i><tt>SystemID</tt></i>:</span></td><td>the entity system ID 
if available</td></tr><tr><td><span class="term"><i><tt>content</tt></i>:</span></td><td>the entity 
content</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the entity 
or NULL in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-      </div>
-    </div>
-  </body>
+</pre>
+<p></p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlAddDocEntity"></a>xmlAddDocEntity ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a>  xmlAddDocEntity       
  (<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>
+<p>Register a new entity for this document.</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</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the entity name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>type</tt></i>:</span></td>
+<td>the entity type XML_xxx_yyy_ENTITY</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ExternalID</tt></i>:</span></td>
+<td>the entity external ID if available</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>SystemID</tt></i>:</span></td>
+<td>the entity system ID if available</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>content</tt></i>:</span></td>
+<td>the entity content</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a pointer to the entity or NULL in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlAddDtdEntity"></a>xmlAddDtdEntity ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a>  xmlAddDtdEntity       
  (<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>
+<p>Register a new entity for this document DTD external subset.</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</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the entity name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>type</tt></i>:</span></td>
+<td>the entity type XML_xxx_yyy_ENTITY</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ExternalID</tt></i>:</span></td>
+<td>the entity external ID if available</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>SystemID</tt></i>:</span></td>
+<td>the entity system ID if available</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>content</tt></i>:</span></td>
+<td>the entity content</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a pointer to the entity or NULL in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<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>
+<p>Build a copy of an entity 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 entity table</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the new <a href="libxml2-entities.html#xmlEntitiesTablePtr">xmlEntitiesTablePtr</a> or NULL in case of 
error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCreateEntitiesTable"></a>xmlCreateEntitiesTable ()</h3>
+<pre class="programlisting"><a href="libxml2-entities.html#xmlEntitiesTablePtr">xmlEntitiesTablePtr</a>      
  xmlCreateEntitiesTable  (void)<br>
+</pre>
+<p>create and initialize an empty entities hash table. This really doesn't make sense and should be 
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>the <a href="libxml2-entities.html#xmlEntitiesTablePtr">xmlEntitiesTablePtr</a> just created or NULL in 
case of error.</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlDumpEntitiesTable"></a>xmlDumpEntitiesTable ()</h3>
+<pre class="programlisting">void       xmlDumpEntitiesTable            (<a 
href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>                                     <a 
href="libxml2-entities.html#xmlEntitiesTablePtr">xmlEntitiesTablePtr</a> table)<br>
+</pre>
+<p>This will dump the content of the entity table as an XML DTD definition</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>buf</tt></i>:</span></td>
+<td>An XML buffer.</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>table</tt></i>:</span></td>
+<td>An entity table</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlDumpEntityDecl"></a>xmlDumpEntityDecl ()</h3>
+<pre class="programlisting">void       xmlDumpEntityDecl               (<a 
href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>                                     <a 
href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a> ent)<br>
+</pre>
+<p>This will dump the content of the entity table as an XML DTD definition</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>buf</tt></i>:</span></td>
+<td>An XML buffer.</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ent</tt></i>:</span></td>
+<td>An entity table</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<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>
+<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>A newly allocated string with the substitution done.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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>
+<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>A newly allocated string with the substitution done.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlFreeEntitiesTable"></a>xmlFreeEntitiesTable ()</h3>
+<pre class="programlisting">void       xmlFreeEntitiesTable            (<a 
href="libxml2-entities.html#xmlEntitiesTablePtr">xmlEntitiesTablePtr</a> table)<br>
+</pre>
+<p>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 entity table</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlGetDocEntity"></a>xmlGetDocEntity ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a>  xmlGetDocEntity       
  (const <a href="libxml2-tree.html#xmlDoc">xmlDoc</a> * doc, <br>                                         
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
+</pre>
+<p>Do an entity lookup in the document entity hash table and</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 referencing the entity</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the entity name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the corresponding entity, otherwise a lookup is done in the predefined entities too. Returns A pointer 
to the entity structure or NULL if not found.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlGetDtdEntity"></a>xmlGetDtdEntity ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a>  xmlGetDtdEntity       
  (<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>                                   const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
+</pre>
+<p>Do an entity lookup in the DTD entity hash table and</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 referencing the entity</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the entity name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the corresponding entity, if found. Note: the first argument is the document node, not the DTD node. 
Returns A pointer to the entity structure or NULL if not found.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlGetParameterEntity"></a>xmlGetParameterEntity ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a>  xmlGetParameterEntity 
  (<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>                                   const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
+</pre>
+<p>Do an entity lookup in the internal and external subsets and</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 referencing the entity</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the entity name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the corresponding parameter entity, if found. Returns A pointer to the entity structure or NULL if not 
found.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlGetPredefinedEntity"></a>xmlGetPredefinedEntity ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a>  
xmlGetPredefinedEntity  (const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
+</pre>
+<p>Check whether this name is an predefined entity.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the entity name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>NULL if not, otherwise the entity</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<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>
+<p>Create a new entity, this differs from xmlAddDocEntity() that if the document is NULL or has no internal 
subset defined, then an unlinked entity structure will be returned, it is then the responsibility of the 
caller to link it to the document later or free it when not needed anymore.</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</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the entity name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>type</tt></i>:</span></td>
+<td>the entity type XML_xxx_yyy_ENTITY</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ExternalID</tt></i>:</span></td>
+<td>the entity external ID if available</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>SystemID</tt></i>:</span></td>
+<td>the entity system ID if available</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>content</tt></i>:</span></td>
+<td>the entity content</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a pointer to the entity or NULL in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+</div>
+</div>
+</body>
 </html>
diff --git a/doc/devhelp/libxml2-globals.html b/doc/devhelp/libxml2-globals.html
index 9f4e6de8..abe81ff4 100644
--- a/doc/devhelp/libxml2-globals.html
+++ b/doc/devhelp/libxml2-globals.html
@@ -1,49 +1,28 @@
-<?xml version="1.0" encoding="UTF-8"?>
 <html>
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
-    <title>globals: interface for all global variables of the library</title>
-    <meta name="generator" content="Libxml2 devhelp stylesheet"/>
-    <link rel="start" href="index.html" title="libxml2 Reference Manual"/>
-    <link rel="up" href="general.html" title="API"/>
-    <link rel="stylesheet" href="style.css" type="text/css"/>
-    <link rel="chapter" href="general.html" title="API"/>
-  </head>
-  <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-    <table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
-      <tr valign="middle">
-        <td>
-          <a accesskey="p" href="libxml2-entities.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-hash.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">globals</span>
-    </h2>
-    <p>globals - interface for all global variables of the library</p>
-    <p>all the global variables and thread handling for those variables is handled by this module.  The 
bottom of this file is automatically generated by build_glob.py based on the description file global.data </p>
-    <p>Author(s): Gary Pennington &lt;Gary Pennington uk sun com&gt;, Daniel Veillard </p>
-    <div class="refsynopsisdiv">
-      <h2>Synopsis</h2>
-      <pre class="synopsis">typedef struct _xmlGlobalState <a href="#xmlGlobalState">xmlGlobalState</a>;
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>globals: interface for all global variables of the library</title>
+<meta name="generator" content="Libxml2 devhelp stylesheet">
+<link rel="start" href="index.html" title="libxml2 Reference Manual">
+<link rel="up" href="general.html" title="API">
+<link rel="stylesheet" href="style.css" type="text/css">
+<link rel="chapter" href="general.html" title="API">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr 
valign="middle">
+<td><a accesskey="p" href="libxml2-entities.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-hash.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">globals</span></h2>
+<p>globals - interface for all global variables of the library</p>
+<p>all the global variables and thread handling for those variables is handled by this module.  The bottom 
of this file is automatically generated by build_glob.py based on the description file global.data </p>
+<p>Author(s): Gary Pennington &lt;Gary Pennington uk sun com&gt;, Daniel Veillard </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>;
 void   <a href="#xmlCleanupGlobals">xmlCleanupGlobals</a>              (void);
 <a href="libxml2-globals.html#xmlDeregisterNodeFunc">xmlDeregisterNodeFunc</a> <a 
href="#xmlDeregisterNodeDefault">xmlDeregisterNodeDefault</a>        (<a 
href="libxml2-globals.html#xmlDeregisterNodeFunc">xmlDeregisterNodeFunc</a> func);
@@ -51,9 +30,9 @@ typedef void <a href="#xmlDeregisterNodeFunc">xmlDeregisterNodeFunc</a>               (<a 
hre
 void   <a href="#xmlInitGlobals">xmlInitGlobals</a>                    (void);
 void   <a href="#xmlInitializeGlobalState">xmlInitializeGlobalState</a>        (<a 
href="libxml2-globals.html#xmlGlobalStatePtr">xmlGlobalStatePtr</a> gs);
 <a href="libxml2-globals.html#xmlOutputBufferCreateFilenameFunc">xmlOutputBufferCreateFilenameFunc</a> <a 
href="#xmlOutputBufferCreateFilenameDefault">xmlOutputBufferCreateFilenameDefault</a>        (<a 
href="libxml2-globals.html#xmlOutputBufferCreateFilenameFunc">xmlOutputBufferCreateFilenameFunc</a> func);
-typedef <a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> <a 
href="#xmlOutputBufferCreateFilenameFunc">xmlOutputBufferCreateFilenameFunc</a>       (const char * URI, 
<br/>                                                         <a 
href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> encoder, <br/>           
                                       int compression);
+typedef <a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> <a 
href="#xmlOutputBufferCreateFilenameFunc">xmlOutputBufferCreateFilenameFunc</a>       (const char * URI, <br> 
                                                 <a 
href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> encoder, <br>            
                                       int compression);
 <a 
href="libxml2-globals.html#xmlParserInputBufferCreateFilenameFunc">xmlParserInputBufferCreateFilenameFunc</a> 
      <a href="#xmlParserInputBufferCreateFilenameDefault">xmlParserInputBufferCreateFilenameDefault</a>      
(<a 
href="libxml2-globals.html#xmlParserInputBufferCreateFilenameFunc">xmlParserInputBufferCreateFilenameFunc</a> 
func);
-typedef <a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> <a 
href="#xmlParserInputBufferCreateFilenameFunc">xmlParserInputBufferCreateFilenameFunc</a>   (const char * 
URI, <br/>                                                         <a 
href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc);
+typedef <a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> <a 
href="#xmlParserInputBufferCreateFilenameFunc">xmlParserInputBufferCreateFilenameFunc</a>   (const char * 
URI, <br>                                                  <a 
href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc);
 <a href="libxml2-globals.html#xmlRegisterNodeFunc">xmlRegisterNodeFunc</a>     <a 
href="#xmlRegisterNodeDefault">xmlRegisterNodeDefault</a>    (<a 
href="libxml2-globals.html#xmlRegisterNodeFunc">xmlRegisterNodeFunc</a> func);
 typedef void <a href="#xmlRegisterNodeFunc">xmlRegisterNodeFunc</a>            (<a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node);
 <a href="libxml2-tree.html#xmlBufferAllocationScheme">xmlBufferAllocationScheme</a>    <a 
href="#xmlThrDefBufferAllocScheme">xmlThrDefBufferAllocScheme</a>    (<a 
href="libxml2-tree.html#xmlBufferAllocationScheme">xmlBufferAllocationScheme</a> v);
@@ -71,19 +50,20 @@ int <a href="#xmlThrDefParserDebugEntities">xmlThrDefParserDebugEntities</a>        (in
 int    <a href="#xmlThrDefPedanticParserDefaultValue">xmlThrDefPedanticParserDefaultValue</a>  (int v);
 <a href="libxml2-globals.html#xmlRegisterNodeFunc">xmlRegisterNodeFunc</a>     <a 
href="#xmlThrDefRegisterNodeDefault">xmlThrDefRegisterNodeDefault</a>        (<a 
href="libxml2-globals.html#xmlRegisterNodeFunc">xmlRegisterNodeFunc</a> func);
 int    <a href="#xmlThrDefSaveNoEmptyTags">xmlThrDefSaveNoEmptyTags</a>        (int v);
-void   <a href="#xmlThrDefSetGenericErrorFunc">xmlThrDefSetGenericErrorFunc</a>        (void * ctx, <br/>    
                                   <a 
href="libxml2-xmlerror.html#xmlGenericErrorFunc">xmlGenericErrorFunc</a> handler);
-void   <a href="#xmlThrDefSetStructuredErrorFunc">xmlThrDefSetStructuredErrorFunc</a>  (void * ctx, <br/>    
                                   <a 
href="libxml2-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a> handler);
+void   <a href="#xmlThrDefSetGenericErrorFunc">xmlThrDefSetGenericErrorFunc</a>        (void * ctx, <br>     
                                   <a 
href="libxml2-xmlerror.html#xmlGenericErrorFunc">xmlGenericErrorFunc</a> handler);
+void   <a href="#xmlThrDefSetStructuredErrorFunc">xmlThrDefSetStructuredErrorFunc</a>  (void * ctx, <br>     
                                   <a 
href="libxml2-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a> handler);
 int    <a href="#xmlThrDefSubstituteEntitiesDefaultValue">xmlThrDefSubstituteEntitiesDefaultValue</a>  (int 
v);
 const char *   <a href="#xmlThrDefTreeIndentString">xmlThrDefTreeIndentString</a>      (const char * v);
 </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 {
+</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 {
     const char *       xmlParserVersion
     <a href="libxml2-tree.html#xmlSAXLocator">xmlSAXLocator</a>        xmlDefaultSAXLocator
     <a href="libxml2-parser.html#xmlSAXHandlerV1">xmlSAXHandlerV1</a>  xmlDefaultSAXHandler
@@ -118,262 +98,873 @@ const char *     <a href="#xmlThrDefTreeIndentString">xmlThrDefTreeIndentString</a>
     <a href="libxml2-globals.html#xmlOutputBufferCreateFilenameFunc">xmlOutputBufferCreateFilenameFunc</a>   
  xmlOutputBufferCreateFilenameValue
     void *     xmlStructuredErrorContext
 } xmlGlobalState;
-</pre><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/>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlDeregisterNodeFunc"/>Function type 
xmlDeregisterNodeFunc</h3><pre class="programlisting">void  xmlDeregisterNodeFunc           (<a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br/>
-</pre><p>Signature for the deregistration callback of a discarded 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 current node</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlOutputBufferCreateFilenameFunc"/>Function type 
xmlOutputBufferCreateFilenameFunc</h3><pre class="programlisting"><a 
href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> xmlOutputBufferCreateFilenameFunc       
(const char * URI, <br/>                                                         <a 
href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> encoder, <br/>           
                                       int compression)<br/>
-</pre><p>Signature for the function doing the lookup for a suitable output method corresponding to an 
URI.</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 to write to</td></tr><tr><td><span 
class="term"><i><tt>encoder</tt></i>:</span></td><td/></tr><tr><td><span 
class="term"><i><tt>compression</tt></i>:</span></td><td/></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the new <a 
href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> in case of success or NULL if no method 
was found.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParserInputBufferCreateFilenameFunc"/>Function type 
xmlParserInputBufferCreateFilenameFunc</h3><pre class="programlisting"><a 
href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a>     
xmlParserInputBufferCreateFilenameFunc  (const char * URI, <br/>                                              
           <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc)<br/>
-</pre><p>Signature for the function doing the lookup for a suitable input method corresponding to an URI.</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 to read from</td></tr><tr><td><span 
class="term"><i><tt>enc</tt></i>:</span></td><td>the requested source encoding</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the new <a 
href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> in case of success or NULL if no 
method was found.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlRegisterNodeFunc"/>Function type 
xmlRegisterNodeFunc</h3><pre class="programlisting">void      xmlRegisterNodeFunc             (<a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br/>
-</pre><p>Signature for the registration callback of a created 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 current node</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="htmlDefaultSAXHandler">Variable 
</a>htmlDefaultSAXHandler</h3><pre class="programlisting"><a 
href="libxml2-parser.html#xmlSAXHandlerV1">xmlSAXHandlerV1</a> htmlDefaultSAXHandler;
-</pre><p>DEPRECATED: This handler is unused and will be removed from future versions. Default old SAX v1 
handler for HTML, builds the DOM tree</p>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="oldXMLWDcompatibility">Variable 
</a>oldXMLWDcompatibility</h3><pre class="programlisting">int oldXMLWDcompatibility;
-</pre><p>Global setting, DEPRECATED.</p>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlBufferAllocScheme">Variable 
</a>xmlBufferAllocScheme</h3><pre class="programlisting"><a 
href="libxml2-tree.html#xmlBufferAllocationScheme">xmlBufferAllocationScheme</a> xmlBufferAllocScheme;
-</pre><p>DEPRECATED: Don't use. Global setting, default allocation policy for buffers, default is <a 
href="libxml2-tree.html#XML_BUFFER_ALLOC_EXACT">XML_BUFFER_ALLOC_EXACT</a></p>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlDefaultBufferSize">Variable 
</a>xmlDefaultBufferSize</h3><pre class="programlisting">int xmlDefaultBufferSize;
-</pre><p>DEPRECATED: Don't use. Global setting, default buffer size. Default value is <a 
href="libxml2-tree.html#BASE_BUFFER_SIZE">BASE_BUFFER_SIZE</a></p>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlDefaultSAXHandler">Variable 
</a>xmlDefaultSAXHandler</h3><pre class="programlisting"><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"><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="xmlDeregisterNodeDefaultValue">Variable 
</a>xmlDeregisterNodeDefaultValue</h3><pre class="programlisting"><a 
href="libxml2-globals.html#xmlDeregisterNodeFunc">xmlDeregisterNodeFunc</a> xmlDeregisterNodeDefaultValue;
-</pre><p>DEPRECATED: Don't use</p>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlDoValidityCheckingDefaultValue">Variable 
</a>xmlDoValidityCheckingDefaultValue</h3><pre class="programlisting">int xmlDoValidityCheckingDefaultValue;
-</pre><p>DEPRECATED: Use the modern options API with XML_PARSE_DTDVALID. Global setting, indicate that the 
parser should work in validating mode. Disabled by default.</p>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlFree">Variable </a>xmlFree</h3><pre 
class="programlisting"><a href="libxml2-xmlmemory.html#xmlFreeFunc">xmlFreeFunc</a> xmlFree;
-</pre><p>@mem: an already allocated block of memory The variable holding the libxml free() implementation</p>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlGenericError">Variable </a>xmlGenericError</h3><pre 
class="programlisting"><a href="libxml2-xmlerror.html#xmlGenericErrorFunc">xmlGenericErrorFunc</a> 
xmlGenericError;
-</pre><p>Global setting: function used for generic error callbacks</p>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlGenericErrorContext">Variable 
</a>xmlGenericErrorContext</h3><pre class="programlisting">void * xmlGenericErrorContext;
-</pre><p>Global setting passed to generic error callbacks</p>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlGetWarningsDefaultValue">Variable 
</a>xmlGetWarningsDefaultValue</h3><pre class="programlisting">int xmlGetWarningsDefaultValue;
-</pre><p>DEPRECATED: Don't use Global setting, indicate that the DTD validation should provide warnings. 
Activated by default.</p>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlIndentTreeOutput">Variable 
</a>xmlIndentTreeOutput</h3><pre class="programlisting">int xmlIndentTreeOutput;
-</pre><p>Global setting, asking the serializer to indent the output tree by default Enabled by default</p>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlKeepBlanksDefaultValue">Variable 
</a>xmlKeepBlanksDefaultValue</h3><pre class="programlisting">int xmlKeepBlanksDefaultValue;
-</pre><p>DEPRECATED: Use the modern options API with XML_PARSE_NOBLANKS. Global setting, indicate that the 
parser should keep all blanks nodes found in the content Activated by default, this is actually needed to 
have the parser conformant to the XML Recommendation, however the option is kept for some applications since 
this was libxml1 default behaviour.</p>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlLastError">Variable </a>xmlLastError</h3><pre 
class="programlisting"><a href="libxml2-xmlerror.html#xmlError">xmlError</a> xmlLastError;
-</pre><p/>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlLineNumbersDefaultValue">Variable 
</a>xmlLineNumbersDefaultValue</h3><pre class="programlisting">int xmlLineNumbersDefaultValue;
-</pre><p>DEPRECATED: The modern options API always enables line numbers. Global setting, indicate that the 
parser should store the line number in the content field of elements in the DOM tree. Disabled by default 
since this may not be safe for old classes of application.</p>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlLoadExtDtdDefaultValue">Variable 
</a>xmlLoadExtDtdDefaultValue</h3><pre class="programlisting">int xmlLoadExtDtdDefaultValue;
-</pre><p>DEPRECATED: Use the modern options API with XML_PARSE_DTDLOAD. Global setting, indicate that the 
parser should load DTD while not validating. Disabled by default.</p>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlMalloc">Variable </a>xmlMalloc</h3><pre 
class="programlisting"><a href="libxml2-xmlmemory.html#xmlMallocFunc">xmlMallocFunc</a> xmlMalloc;
-</pre><p>@size: the size requested in bytes The variable holding the libxml malloc() implementation Returns 
a pointer to the newly allocated block or NULL in case of error</p>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlMallocAtomic">Variable </a>xmlMallocAtomic</h3><pre 
class="programlisting"><a href="libxml2-xmlmemory.html#xmlMallocFunc">xmlMallocFunc</a> xmlMallocAtomic;
-</pre><p>@size: the size requested in bytes The variable holding the libxml malloc() implementation for 
atomic data (i.e. blocks not containing pointers), useful when using a garbage collecting allocator. Returns 
a pointer to the newly allocated block or NULL in case of error</p>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlMemStrdup">Variable </a>xmlMemStrdup</h3><pre 
class="programlisting"><a href="libxml2-xmlmemory.html#xmlStrdupFunc">xmlStrdupFunc</a> xmlMemStrdup;
-</pre><p>@str: a zero terminated string The variable holding the libxml strdup() implementation Returns the 
copy of the string or NULL in case of error</p>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlOutputBufferCreateFilenameValue">Variable 
</a>xmlOutputBufferCreateFilenameValue</h3><pre class="programlisting"><a 
href="libxml2-globals.html#xmlOutputBufferCreateFilenameFunc">xmlOutputBufferCreateFilenameFunc</a> 
xmlOutputBufferCreateFilenameValue;
-</pre><p>DEPRECATED: Don't use</p>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParserDebugEntities">Variable 
</a>xmlParserDebugEntities</h3><pre class="programlisting">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>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParserInputBufferCreateFilenameValue">Variable 
</a>xmlParserInputBufferCreateFilenameValue</h3><pre class="programlisting"><a 
href="libxml2-globals.html#xmlParserInputBufferCreateFilenameFunc">xmlParserInputBufferCreateFilenameFunc</a> 
xmlParserInputBufferCreateFilenameValue;
-</pre><p>DEPRECATED: Don't use</p>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParserVersion">Variable 
</a>xmlParserVersion</h3><pre class="programlisting">const char * xmlParserVersion;
-</pre><p>Constant string describing the internal version of the library</p>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlPedanticParserDefaultValue">Variable 
</a>xmlPedanticParserDefaultValue</h3><pre class="programlisting">int xmlPedanticParserDefaultValue;
-</pre><p>DEPRECATED: Use the modern options API with XML_PARSE_PEDANTIC. Global setting, indicate that the 
parser be pedantic Disabled by default.</p>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlRealloc">Variable </a>xmlRealloc</h3><pre 
class="programlisting"><a href="libxml2-xmlmemory.html#xmlReallocFunc">xmlReallocFunc</a> xmlRealloc;
-</pre><p>@mem: an already allocated block of memory @size: the new size requested in bytes The variable 
holding the libxml realloc() implementation Returns a pointer to the newly reallocated block or NULL in case 
of error</p>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlRegisterNodeDefaultValue">Variable 
</a>xmlRegisterNodeDefaultValue</h3><pre class="programlisting"><a 
href="libxml2-globals.html#xmlRegisterNodeFunc">xmlRegisterNodeFunc</a> xmlRegisterNodeDefaultValue;
-</pre><p>DEPRECATED: Don't use</p>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSaveNoEmptyTags">Variable 
</a>xmlSaveNoEmptyTags</h3><pre class="programlisting">int xmlSaveNoEmptyTags;
-</pre><p>Global setting, asking the serializer to not output empty tags as &lt;empty/&gt; but 
&lt;empty&gt;&lt;/empty&gt;. those two forms are indistinguishable once parsed. Disabled by default</p>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlStructuredError">Variable 
</a>xmlStructuredError</h3><pre class="programlisting"><a 
href="libxml2-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a> xmlStructuredError;
-</pre><p>Global setting: function used for structured error callbacks</p>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlStructuredErrorContext">Variable 
</a>xmlStructuredErrorContext</h3><pre class="programlisting">void * xmlStructuredErrorContext;
-</pre><p>Global setting passed to structured error callbacks</p>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSubstituteEntitiesDefaultValue">Variable 
</a>xmlSubstituteEntitiesDefaultValue</h3><pre class="programlisting">int xmlSubstituteEntitiesDefaultValue;
-</pre><p>DEPRECATED: Use the modern options API with XML_PARSE_NOENT. Global setting, indicate that the 
parser should not generate entity references but replace them with the actual content of the entity Disabled 
by default, this should be activated when using XPath since the XPath data model requires entities 
replacement and the XPath engine does not handle entities references transparently.</p>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTreeIndentString">Variable 
</a>xmlTreeIndentString</h3><pre class="programlisting">const char * xmlTreeIndentString;
-</pre><p>The string used to do one-level indent. By default is equal to " " (two spaces)</p>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCleanupGlobals"/>xmlCleanupGlobals ()</h3><pre 
class="programlisting">void     xmlCleanupGlobals               (void)<br/>
-</pre><p>DEPRECATED: This function will be made private. Call <a 
href="libxml2-parser.html#xmlCleanupParser">xmlCleanupParser</a> to free global state but see the warnings 
there. <a href="libxml2-parser.html#xmlCleanupParser">xmlCleanupParser</a> should be only called once at 
program exit. In most cases, you don't have call cleanup functions at all. Additional cleanup for 
multi-threading</p>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlDeregisterNodeDefault"/>xmlDeregisterNodeDefault 
()</h3><pre class="programlisting"><a 
href="libxml2-globals.html#xmlDeregisterNodeFunc">xmlDeregisterNodeFunc</a>     xmlDeregisterNodeDefault      
  (<a href="libxml2-globals.html#xmlDeregisterNodeFunc">xmlDeregisterNodeFunc</a> func)<br/>
-</pre><p>Registers a callback for node destruction</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>func</tt></i>:</span></td><td>function pointer to the new 
DeregisterNodeFunc</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the previous 
value of the deregistration function</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlInitGlobals"/>xmlInitGlobals ()</h3><pre 
class="programlisting">void   xmlInitGlobals                  (void)<br/>
-</pre><p>DEPRECATED: This function will be made private. Call <a 
href="libxml2-parser.html#xmlInitParser">xmlInitParser</a> to initialize the library. Additional 
initialisation for multi-threading</p>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlInitializeGlobalState"/>xmlInitializeGlobalState 
()</h3><pre class="programlisting">void       xmlInitializeGlobalState        (<a 
href="libxml2-globals.html#xmlGlobalStatePtr">xmlGlobalStatePtr</a> gs)<br/>
-</pre><p>xmlInitializeGlobalState() initialize a global state with all the default values of the library.</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 class="refsect2" lang="en"><h3><a 
name="xmlOutputBufferCreateFilenameDefault"/>xmlOutputBufferCreateFilenameDefault ()</h3><pre 
class="programlisting"><a 
href="libxml2-globals.html#xmlOutputBufferCreateFilenameFunc">xmlOutputBufferCreateFilenameFunc</a>     
xmlOutputBufferCreateFilenameDefault    (<a 
href="libxml2-globals.html#xmlOutputBufferCreateFilenameFunc">xmlOutputBufferCreateFilenameFunc</a> func)<br/>
-</pre><p>Registers a callback for URI output file handling</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>func</tt></i>:</span></td><td>function pointer to the new 
OutputBufferCreateFilenameFunc</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the old value of the registration 
function</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlParserInputBufferCreateFilenameDefault"/>xmlParserInputBufferCreateFilenameDefault ()</h3><pre 
class="programlisting"><a 
href="libxml2-globals.html#xmlParserInputBufferCreateFilenameFunc">xmlParserInputBufferCreateFilenameFunc</a> 
xmlParserInputBufferCreateFilenameDefault       (<a 
href="libxml2-globals.html#xmlParserInputBufferCreateFilenameFunc">xmlParserInputBufferCreateFilenameFunc</a> 
func)<br/>
-</pre><p>Registers a callback for URI input file handling</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>func</tt></i>:</span></td><td>function pointer to the new 
ParserInputBufferCreateFilenameFunc</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the old value of the registration 
function</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlRegisterNodeDefault"/>xmlRegisterNodeDefault 
()</h3><pre class="programlisting"><a href="libxml2-globals.html#xmlRegisterNodeFunc">xmlRegisterNodeFunc</a> 
    xmlRegisterNodeDefault  (<a href="libxml2-globals.html#xmlRegisterNodeFunc">xmlRegisterNodeFunc</a> 
func)<br/>
-</pre><p>Registers a callback for node creation</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>func</tt></i>:</span></td><td>function pointer to the new 
RegisterNodeFunc</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the old value of 
the registration function</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlThrDefBufferAllocScheme"/>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/>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>v</tt></i>:</span></td><td/></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td/></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlThrDefDefaultBufferSize"/>xmlThrDefDefaultBufferSize 
()</h3><pre class="programlisting">int    xmlThrDefDefaultBufferSize      (int v)<br/>
-</pre><p/>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>v</tt></i>:</span></td><td/></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td/></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlThrDefDeregisterNodeDefault"/>xmlThrDefDeregisterNodeDefault ()</h3><pre class="programlisting"><a 
href="libxml2-globals.html#xmlDeregisterNodeFunc">xmlDeregisterNodeFunc</a> xmlThrDefDeregisterNodeDefault  
(<a href="libxml2-globals.html#xmlDeregisterNodeFunc">xmlDeregisterNodeFunc</a> func)<br/>
-</pre><p/>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>func</tt></i>:</span></td><td/></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td/></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlThrDefDoValidityCheckingDefaultValue"/>xmlThrDefDoValidityCheckingDefaultValue ()</h3><pre 
class="programlisting">int  xmlThrDefDoValidityCheckingDefaultValue (int v)<br/>
-</pre><p/>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>v</tt></i>:</span></td><td/></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td/></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlThrDefGetWarningsDefaultValue"/>xmlThrDefGetWarningsDefaultValue ()</h3><pre 
class="programlisting">int        xmlThrDefGetWarningsDefaultValue        (int v)<br/>
-</pre><p/>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>v</tt></i>:</span></td><td/></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td/></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlThrDefIndentTreeOutput"/>xmlThrDefIndentTreeOutput 
()</h3><pre class="programlisting">int      xmlThrDefIndentTreeOutput       (int v)<br/>
-</pre><p/>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>v</tt></i>:</span></td><td/></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td/></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlThrDefKeepBlanksDefaultValue"/>xmlThrDefKeepBlanksDefaultValue ()</h3><pre 
class="programlisting">int  xmlThrDefKeepBlanksDefaultValue (int v)<br/>
-</pre><p/>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>v</tt></i>:</span></td><td/></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td/></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlThrDefLineNumbersDefaultValue"/>xmlThrDefLineNumbersDefaultValue ()</h3><pre 
class="programlisting">int        xmlThrDefLineNumbersDefaultValue        (int v)<br/>
-</pre><p/>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>v</tt></i>:</span></td><td/></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td/></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlThrDefLoadExtDtdDefaultValue"/>xmlThrDefLoadExtDtdDefaultValue ()</h3><pre 
class="programlisting">int  xmlThrDefLoadExtDtdDefaultValue (int v)<br/>
-</pre><p/>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>v</tt></i>:</span></td><td/></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td/></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlThrDefOutputBufferCreateFilenameDefault"/>xmlThrDefOutputBufferCreateFilenameDefault ()</h3><pre 
class="programlisting"><a 
href="libxml2-globals.html#xmlOutputBufferCreateFilenameFunc">xmlOutputBufferCreateFilenameFunc</a> 
xmlThrDefOutputBufferCreateFilenameDefault      (<a 
href="libxml2-globals.html#xmlOutputBufferCreateFilenameFunc">xmlOutputBufferCreateFilenameFunc</a> func)<br/>
-</pre><p/>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>func</tt></i>:</span></td><td/></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td/></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlThrDefParserDebugEntities"/>xmlThrDefParserDebugEntities ()</h3><pre class="programlisting">int      
  xmlThrDefParserDebugEntities    (int v)<br/>
-</pre><p/>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>v</tt></i>:</span></td><td/></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td/></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlThrDefParserInputBufferCreateFilenameDefault"/>xmlThrDefParserInputBufferCreateFilenameDefault 
()</h3><pre class="programlisting"><a 
href="libxml2-globals.html#xmlParserInputBufferCreateFilenameFunc">xmlParserInputBufferCreateFilenameFunc</a> 
    xmlThrDefParserInputBufferCreateFilenameDefault (<a 
href="libxml2-globals.html#xmlParserInputBufferCreateFilenameFunc">xmlParserInputBufferCreateFilenameFunc</a> 
func)<br/>
-</pre><p/>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>func</tt></i>:</span></td><td/></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td/></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlThrDefPedanticParserDefaultValue"/>xmlThrDefPedanticParserDefaultValue ()</h3><pre 
class="programlisting">int  xmlThrDefPedanticParserDefaultValue     (int v)<br/>
-</pre><p/>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>v</tt></i>:</span></td><td/></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td/></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlThrDefRegisterNodeDefault"/>xmlThrDefRegisterNodeDefault ()</h3><pre class="programlisting"><a 
href="libxml2-globals.html#xmlRegisterNodeFunc">xmlRegisterNodeFunc</a> xmlThrDefRegisterNodeDefault    (<a 
href="libxml2-globals.html#xmlRegisterNodeFunc">xmlRegisterNodeFunc</a> func)<br/>
-</pre><p/>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>func</tt></i>:</span></td><td/></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td/></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlThrDefSaveNoEmptyTags"/>xmlThrDefSaveNoEmptyTags 
()</h3><pre class="programlisting">int        xmlThrDefSaveNoEmptyTags        (int v)<br/>
-</pre><p/>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>v</tt></i>:</span></td><td/></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td/></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlThrDefSetGenericErrorFunc"/>xmlThrDefSetGenericErrorFunc ()</h3><pre class="programlisting">void     
  xmlThrDefSetGenericErrorFunc    (void * ctx, <br/>                                       <a 
href="libxml2-xmlerror.html#xmlGenericErrorFunc">xmlGenericErrorFunc</a> handler)<br/>
-</pre><p/>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td/></tr><tr><td><span 
class="term"><i><tt>handler</tt></i>:</span></td><td/></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlThrDefSetStructuredErrorFunc"/>xmlThrDefSetStructuredErrorFunc ()</h3><pre 
class="programlisting">void xmlThrDefSetStructuredErrorFunc (void * ctx, <br/>                                
       <a href="libxml2-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a> handler)<br/>
-</pre><p/>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td/></tr><tr><td><span 
class="term"><i><tt>handler</tt></i>:</span></td><td/></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlThrDefSubstituteEntitiesDefaultValue"/>xmlThrDefSubstituteEntitiesDefaultValue ()</h3><pre 
class="programlisting">int  xmlThrDefSubstituteEntitiesDefaultValue (int v)<br/>
-</pre><p/>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>v</tt></i>:</span></td><td/></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td/></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlThrDefTreeIndentString"/>xmlThrDefTreeIndentString 
()</h3><pre class="programlisting">const char *     xmlThrDefTreeIndentString       (const char * v)<br/>
-</pre><p/>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>v</tt></i>:</span></td><td/></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td/></tr></tbody></table></div></div>
-        <hr/>
-      </div>
-    </div>
-  </body>
+</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="xmlDeregisterNodeFunc"></a>Function type xmlDeregisterNodeFunc</h3>
+<pre class="programlisting">void       xmlDeregisterNodeFunc           (<a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br>
+</pre>
+<p>Signature for the deregistration callback of a discarded 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 current node</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlOutputBufferCreateFilenameFunc"></a>Function type xmlOutputBufferCreateFilenameFunc</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a>      
xmlOutputBufferCreateFilenameFunc       (const char * URI, <br>                                               
   <a href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> encoder, <br>      
                                             int compression)<br>
+</pre>
+<p>Signature for the function doing the lookup for a suitable output method corresponding to an URI.</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 to write to</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>encoder</tt></i>:</span></td>
+<td></td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>compression</tt></i>:</span></td>
+<td></td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the new <a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> in case of success or NULL 
if no method was found.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParserInputBufferCreateFilenameFunc"></a>Function type 
xmlParserInputBufferCreateFilenameFunc</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a>  
  xmlParserInputBufferCreateFilenameFunc  (const char * URI, <br>                                             
     <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc)<br>
+</pre>
+<p>Signature for the function doing the lookup for a suitable input method corresponding to an URI.</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 to read from</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>enc</tt></i>:</span></td>
+<td>the requested source encoding</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the new <a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> in case of 
success or NULL if no method was found.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlRegisterNodeFunc"></a>Function type xmlRegisterNodeFunc</h3>
+<pre class="programlisting">void       xmlRegisterNodeFunc             (<a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br>
+</pre>
+<p>Signature for the registration callback of a created 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 current node</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="htmlDefaultSAXHandler">Variable </a>htmlDefaultSAXHandler</h3>
+<pre class="programlisting"><a href="libxml2-parser.html#xmlSAXHandlerV1">xmlSAXHandlerV1</a> 
htmlDefaultSAXHandler;
+</pre>
+<p>DEPRECATED: This handler is unused and will be removed from future versions. Default old SAX v1 handler 
for HTML, builds the DOM tree</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="oldXMLWDcompatibility">Variable </a>oldXMLWDcompatibility</h3>
+<pre class="programlisting">int oldXMLWDcompatibility;
+</pre>
+<p>Global setting, DEPRECATED.</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlBufferAllocScheme">Variable </a>xmlBufferAllocScheme</h3>
+<pre class="programlisting"><a 
href="libxml2-tree.html#xmlBufferAllocationScheme">xmlBufferAllocationScheme</a> xmlBufferAllocScheme;
+</pre>
+<p>DEPRECATED: Don't use. Global setting, default allocation policy for buffers, default is <a 
href="libxml2-tree.html#XML_BUFFER_ALLOC_EXACT">XML_BUFFER_ALLOC_EXACT</a></p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlDefaultBufferSize">Variable </a>xmlDefaultBufferSize</h3>
+<pre class="programlisting">int xmlDefaultBufferSize;
+</pre>
+<p>DEPRECATED: Don't use. Global setting, default buffer size. Default value is <a 
href="libxml2-tree.html#BASE_BUFFER_SIZE">BASE_BUFFER_SIZE</a></p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlDefaultSAXHandler">Variable </a>xmlDefaultSAXHandler</h3>
+<pre class="programlisting"><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"><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="xmlDeregisterNodeDefaultValue">Variable </a>xmlDeregisterNodeDefaultValue</h3>
+<pre class="programlisting"><a href="libxml2-globals.html#xmlDeregisterNodeFunc">xmlDeregisterNodeFunc</a> 
xmlDeregisterNodeDefaultValue;
+</pre>
+<p>DEPRECATED: Don't use</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlDoValidityCheckingDefaultValue">Variable </a>xmlDoValidityCheckingDefaultValue</h3>
+<pre class="programlisting">int xmlDoValidityCheckingDefaultValue;
+</pre>
+<p>DEPRECATED: Use the modern options API with XML_PARSE_DTDVALID. Global setting, indicate that the parser 
should work in validating mode. Disabled by default.</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlFree">Variable </a>xmlFree</h3>
+<pre class="programlisting"><a href="libxml2-xmlmemory.html#xmlFreeFunc">xmlFreeFunc</a> xmlFree;
+</pre>
+<p>@mem: an already allocated block of memory The variable holding the libxml free() implementation</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlGenericError">Variable </a>xmlGenericError</h3>
+<pre class="programlisting"><a href="libxml2-xmlerror.html#xmlGenericErrorFunc">xmlGenericErrorFunc</a> 
xmlGenericError;
+</pre>
+<p>Global setting: function used for generic error callbacks</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlGenericErrorContext">Variable </a>xmlGenericErrorContext</h3>
+<pre class="programlisting">void * xmlGenericErrorContext;
+</pre>
+<p>Global setting passed to generic error callbacks</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlGetWarningsDefaultValue">Variable </a>xmlGetWarningsDefaultValue</h3>
+<pre class="programlisting">int xmlGetWarningsDefaultValue;
+</pre>
+<p>DEPRECATED: Don't use Global setting, indicate that the DTD validation should provide warnings. Activated 
by default.</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlIndentTreeOutput">Variable </a>xmlIndentTreeOutput</h3>
+<pre class="programlisting">int xmlIndentTreeOutput;
+</pre>
+<p>Global setting, asking the serializer to indent the output tree by default Enabled by default</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlKeepBlanksDefaultValue">Variable </a>xmlKeepBlanksDefaultValue</h3>
+<pre class="programlisting">int xmlKeepBlanksDefaultValue;
+</pre>
+<p>DEPRECATED: Use the modern options API with XML_PARSE_NOBLANKS. Global setting, indicate that the parser 
should keep all blanks nodes found in the content Activated by default, this is actually needed to have the 
parser conformant to the XML Recommendation, however the option is kept for some applications since this was 
libxml1 default behaviour.</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlLastError">Variable </a>xmlLastError</h3>
+<pre class="programlisting"><a href="libxml2-xmlerror.html#xmlError">xmlError</a> xmlLastError;
+</pre>
+<p></p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlLineNumbersDefaultValue">Variable </a>xmlLineNumbersDefaultValue</h3>
+<pre class="programlisting">int xmlLineNumbersDefaultValue;
+</pre>
+<p>DEPRECATED: The modern options API always enables line numbers. Global setting, indicate that the parser 
should store the line number in the content field of elements in the DOM tree. Disabled by default since this 
may not be safe for old classes of application.</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlLoadExtDtdDefaultValue">Variable </a>xmlLoadExtDtdDefaultValue</h3>
+<pre class="programlisting">int xmlLoadExtDtdDefaultValue;
+</pre>
+<p>DEPRECATED: Use the modern options API with XML_PARSE_DTDLOAD. Global setting, indicate that the parser 
should load DTD while not validating. Disabled by default.</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlMalloc">Variable </a>xmlMalloc</h3>
+<pre class="programlisting"><a href="libxml2-xmlmemory.html#xmlMallocFunc">xmlMallocFunc</a> xmlMalloc;
+</pre>
+<p>@size: the size requested in bytes The variable holding the libxml malloc() implementation Returns a 
pointer to the newly allocated block or NULL in case of error</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlMallocAtomic">Variable </a>xmlMallocAtomic</h3>
+<pre class="programlisting"><a href="libxml2-xmlmemory.html#xmlMallocFunc">xmlMallocFunc</a> xmlMallocAtomic;
+</pre>
+<p>@size: the size requested in bytes The variable holding the libxml malloc() implementation for atomic 
data (i.e. blocks not containing pointers), useful when using a garbage collecting allocator. Returns a 
pointer to the newly allocated block or NULL in case of error</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlMemStrdup">Variable </a>xmlMemStrdup</h3>
+<pre class="programlisting"><a href="libxml2-xmlmemory.html#xmlStrdupFunc">xmlStrdupFunc</a> xmlMemStrdup;
+</pre>
+<p>@str: a zero terminated string The variable holding the libxml strdup() implementation Returns the copy 
of the string or NULL in case of error</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlOutputBufferCreateFilenameValue">Variable </a>xmlOutputBufferCreateFilenameValue</h3>
+<pre class="programlisting"><a 
href="libxml2-globals.html#xmlOutputBufferCreateFilenameFunc">xmlOutputBufferCreateFilenameFunc</a> 
xmlOutputBufferCreateFilenameValue;
+</pre>
+<p>DEPRECATED: Don't use</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParserDebugEntities">Variable </a>xmlParserDebugEntities</h3>
+<pre class="programlisting">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>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParserInputBufferCreateFilenameValue">Variable </a>xmlParserInputBufferCreateFilenameValue</h3>
+<pre class="programlisting"><a 
href="libxml2-globals.html#xmlParserInputBufferCreateFilenameFunc">xmlParserInputBufferCreateFilenameFunc</a> 
xmlParserInputBufferCreateFilenameValue;
+</pre>
+<p>DEPRECATED: Don't use</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParserVersion">Variable </a>xmlParserVersion</h3>
+<pre class="programlisting">const char * xmlParserVersion;
+</pre>
+<p>Constant string describing the internal version of the library</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlPedanticParserDefaultValue">Variable </a>xmlPedanticParserDefaultValue</h3>
+<pre class="programlisting">int xmlPedanticParserDefaultValue;
+</pre>
+<p>DEPRECATED: Use the modern options API with XML_PARSE_PEDANTIC. Global setting, indicate that the parser 
be pedantic Disabled by default.</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlRealloc">Variable </a>xmlRealloc</h3>
+<pre class="programlisting"><a href="libxml2-xmlmemory.html#xmlReallocFunc">xmlReallocFunc</a> xmlRealloc;
+</pre>
+<p>@mem: an already allocated block of memory @size: the new size requested in bytes The variable holding 
the libxml realloc() implementation Returns a pointer to the newly reallocated block or NULL in case of 
error</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlRegisterNodeDefaultValue">Variable </a>xmlRegisterNodeDefaultValue</h3>
+<pre class="programlisting"><a href="libxml2-globals.html#xmlRegisterNodeFunc">xmlRegisterNodeFunc</a> 
xmlRegisterNodeDefaultValue;
+</pre>
+<p>DEPRECATED: Don't use</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSaveNoEmptyTags">Variable </a>xmlSaveNoEmptyTags</h3>
+<pre class="programlisting">int xmlSaveNoEmptyTags;
+</pre>
+<p>Global setting, asking the serializer to not output empty tags as &lt;empty/&gt; but 
&lt;empty&gt;&lt;/empty&gt;. those two forms are indistinguishable once parsed. Disabled by default</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlStructuredError">Variable </a>xmlStructuredError</h3>
+<pre class="programlisting"><a 
href="libxml2-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a> xmlStructuredError;
+</pre>
+<p>Global setting: function used for structured error callbacks</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlStructuredErrorContext">Variable </a>xmlStructuredErrorContext</h3>
+<pre class="programlisting">void * xmlStructuredErrorContext;
+</pre>
+<p>Global setting passed to structured error callbacks</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSubstituteEntitiesDefaultValue">Variable </a>xmlSubstituteEntitiesDefaultValue</h3>
+<pre class="programlisting">int xmlSubstituteEntitiesDefaultValue;
+</pre>
+<p>DEPRECATED: Use the modern options API with XML_PARSE_NOENT. Global setting, indicate that the parser 
should not generate entity references but replace them with the actual content of the entity Disabled by 
default, this should be activated when using XPath since the XPath data model requires entities replacement 
and the XPath engine does not handle entities references transparently.</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTreeIndentString">Variable </a>xmlTreeIndentString</h3>
+<pre class="programlisting">const char * xmlTreeIndentString;
+</pre>
+<p>The string used to do one-level indent. By default is equal to " " (two spaces)</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCleanupGlobals"></a>xmlCleanupGlobals ()</h3>
+<pre class="programlisting">void       xmlCleanupGlobals               (void)<br>
+</pre>
+<p>DEPRECATED: This function will be made private. Call <a 
href="libxml2-parser.html#xmlCleanupParser">xmlCleanupParser</a> to free global state but see the warnings 
there. <a href="libxml2-parser.html#xmlCleanupParser">xmlCleanupParser</a> should be only called once at 
program exit. In most cases, you don't have call cleanup functions at all. Additional cleanup for 
multi-threading</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlDeregisterNodeDefault"></a>xmlDeregisterNodeDefault ()</h3>
+<pre class="programlisting"><a href="libxml2-globals.html#xmlDeregisterNodeFunc">xmlDeregisterNodeFunc</a>   
  xmlDeregisterNodeDefault        (<a 
href="libxml2-globals.html#xmlDeregisterNodeFunc">xmlDeregisterNodeFunc</a> func)<br>
+</pre>
+<p>Registers a callback for node destruction</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>func</tt></i>:</span></td>
+<td>function pointer to the new DeregisterNodeFunc</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the previous value of the deregistration function</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlInitGlobals"></a>xmlInitGlobals ()</h3>
+<pre class="programlisting">void       xmlInitGlobals                  (void)<br>
+</pre>
+<p>DEPRECATED: This function will be made private. Call <a 
href="libxml2-parser.html#xmlInitParser">xmlInitParser</a> to initialize the library. Additional 
initialisation for multi-threading</p>
+</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>xmlInitializeGlobalState() initialize a global state with all the default values of the library.</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 class="refsect2" lang="en">
+<h3>
+<a name="xmlOutputBufferCreateFilenameDefault"></a>xmlOutputBufferCreateFilenameDefault ()</h3>
+<pre class="programlisting"><a 
href="libxml2-globals.html#xmlOutputBufferCreateFilenameFunc">xmlOutputBufferCreateFilenameFunc</a>     
xmlOutputBufferCreateFilenameDefault    (<a 
href="libxml2-globals.html#xmlOutputBufferCreateFilenameFunc">xmlOutputBufferCreateFilenameFunc</a> func)<br>
+</pre>
+<p>Registers a callback for URI output file handling</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>func</tt></i>:</span></td>
+<td>function pointer to the new OutputBufferCreateFilenameFunc</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the old value of the registration function</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParserInputBufferCreateFilenameDefault"></a>xmlParserInputBufferCreateFilenameDefault ()</h3>
+<pre class="programlisting"><a 
href="libxml2-globals.html#xmlParserInputBufferCreateFilenameFunc">xmlParserInputBufferCreateFilenameFunc</a> 
  xmlParserInputBufferCreateFilenameDefault       (<a 
href="libxml2-globals.html#xmlParserInputBufferCreateFilenameFunc">xmlParserInputBufferCreateFilenameFunc</a> 
func)<br>
+</pre>
+<p>Registers a callback for URI input file handling</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>func</tt></i>:</span></td>
+<td>function pointer to the new ParserInputBufferCreateFilenameFunc</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the old value of the registration function</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlRegisterNodeDefault"></a>xmlRegisterNodeDefault ()</h3>
+<pre class="programlisting"><a href="libxml2-globals.html#xmlRegisterNodeFunc">xmlRegisterNodeFunc</a> 
xmlRegisterNodeDefault  (<a href="libxml2-globals.html#xmlRegisterNodeFunc">xmlRegisterNodeFunc</a> func)<br>
+</pre>
+<p>Registers a callback for node creation</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>func</tt></i>:</span></td>
+<td>function pointer to the new RegisterNodeFunc</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the old value of the registration function</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<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-globals.html#xmlDeregisterNodeFunc">xmlDeregisterNodeFunc</a>   
  xmlThrDefDeregisterNodeDefault  (<a 
href="libxml2-globals.html#xmlDeregisterNodeFunc">xmlDeregisterNodeFunc</a> func)<br>
+</pre>
+<p></p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>func</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="xmlThrDefDoValidityCheckingDefaultValue"></a>xmlThrDefDoValidityCheckingDefaultValue ()</h3>
+<pre class="programlisting">int        xmlThrDefDoValidityCheckingDefaultValue (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="xmlThrDefGetWarningsDefaultValue"></a>xmlThrDefGetWarningsDefaultValue ()</h3>
+<pre class="programlisting">int        xmlThrDefGetWarningsDefaultValue        (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="xmlThrDefIndentTreeOutput"></a>xmlThrDefIndentTreeOutput ()</h3>
+<pre class="programlisting">int        xmlThrDefIndentTreeOutput       (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="xmlThrDefKeepBlanksDefaultValue"></a>xmlThrDefKeepBlanksDefaultValue ()</h3>
+<pre class="programlisting">int        xmlThrDefKeepBlanksDefaultValue (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="xmlThrDefLineNumbersDefaultValue"></a>xmlThrDefLineNumbersDefaultValue ()</h3>
+<pre class="programlisting">int        xmlThrDefLineNumbersDefaultValue        (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="xmlThrDefLoadExtDtdDefaultValue"></a>xmlThrDefLoadExtDtdDefaultValue ()</h3>
+<pre class="programlisting">int        xmlThrDefLoadExtDtdDefaultValue (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="xmlThrDefOutputBufferCreateFilenameDefault"></a>xmlThrDefOutputBufferCreateFilenameDefault ()</h3>
+<pre class="programlisting"><a 
href="libxml2-globals.html#xmlOutputBufferCreateFilenameFunc">xmlOutputBufferCreateFilenameFunc</a>     
xmlThrDefOutputBufferCreateFilenameDefault      (<a 
href="libxml2-globals.html#xmlOutputBufferCreateFilenameFunc">xmlOutputBufferCreateFilenameFunc</a> func)<br>
+</pre>
+<p></p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>func</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="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="xmlThrDefParserInputBufferCreateFilenameDefault"></a>xmlThrDefParserInputBufferCreateFilenameDefault 
()</h3>
+<pre class="programlisting"><a 
href="libxml2-globals.html#xmlParserInputBufferCreateFilenameFunc">xmlParserInputBufferCreateFilenameFunc</a> 
  xmlThrDefParserInputBufferCreateFilenameDefault (<a 
href="libxml2-globals.html#xmlParserInputBufferCreateFilenameFunc">xmlParserInputBufferCreateFilenameFunc</a> 
func)<br>
+</pre>
+<p></p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>func</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>
+<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="xmlThrDefRegisterNodeDefault"></a>xmlThrDefRegisterNodeDefault ()</h3>
+<pre class="programlisting"><a href="libxml2-globals.html#xmlRegisterNodeFunc">xmlRegisterNodeFunc</a> 
xmlThrDefRegisterNodeDefault    (<a href="libxml2-globals.html#xmlRegisterNodeFunc">xmlRegisterNodeFunc</a> 
func)<br>
+</pre>
+<p></p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>func</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="xmlThrDefSaveNoEmptyTags"></a>xmlThrDefSaveNoEmptyTags ()</h3>
+<pre class="programlisting">int        xmlThrDefSaveNoEmptyTags        (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="xmlThrDefSetGenericErrorFunc"></a>xmlThrDefSetGenericErrorFunc ()</h3>
+<pre class="programlisting">void       xmlThrDefSetGenericErrorFunc    (void * ctx, <br>                     
                   <a href="libxml2-xmlerror.html#xmlGenericErrorFunc">xmlGenericErrorFunc</a> handler)<br>
+</pre>
+<p></p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td></td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>handler</tt></i>:</span></td>
+<td></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlThrDefSetStructuredErrorFunc"></a>xmlThrDefSetStructuredErrorFunc ()</h3>
+<pre class="programlisting">void       xmlThrDefSetStructuredErrorFunc (void * ctx, <br>                     
                   <a href="libxml2-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a> 
handler)<br>
+</pre>
+<p></p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td></td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>handler</tt></i>:</span></td>
+<td></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlThrDefSubstituteEntitiesDefaultValue"></a>xmlThrDefSubstituteEntitiesDefaultValue ()</h3>
+<pre class="programlisting">int        xmlThrDefSubstituteEntitiesDefaultValue (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="xmlThrDefTreeIndentString"></a>xmlThrDefTreeIndentString ()</h3>
+<pre class="programlisting">const char *       xmlThrDefTreeIndentString       (const char * 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>
+</div>
+</body>
 </html>
diff --git a/doc/devhelp/libxml2-hash.html b/doc/devhelp/libxml2-hash.html
index 1303e151..894c3f8a 100644
--- a/doc/devhelp/libxml2-hash.html
+++ b/doc/devhelp/libxml2-hash.html
@@ -1,219 +1,968 @@
-<?xml version="1.0" encoding="UTF-8"?>
 <html>
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
-    <title>hash: Chained hash tables</title>
-    <meta name="generator" content="Libxml2 devhelp stylesheet"/>
-    <link rel="start" href="index.html" title="libxml2 Reference Manual"/>
-    <link rel="up" href="general.html" title="API"/>
-    <link rel="stylesheet" href="style.css" type="text/css"/>
-    <link rel="chapter" href="general.html" title="API"/>
-  </head>
-  <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-    <table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
-      <tr valign="middle">
-        <td>
-          <a accesskey="p" href="libxml2-globals.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-list.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">hash</span>
-    </h2>
-    <p>hash - Chained hash tables</p>
-    <p>This module implements the hash table support used in various places in the library. </p>
-    <p>Author(s): Bjorn Reese &lt;bjorn reese systematic dk&gt; </p>
-    <div class="refsynopsisdiv">
-      <h2>Synopsis</h2>
-      <pre class="synopsis">#define <a href="#XML_CAST_FPTR">XML_CAST_FPTR</a>(fptr);
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>hash: Chained hash tables</title>
+<meta name="generator" content="Libxml2 devhelp stylesheet">
+<link rel="start" href="index.html" title="libxml2 Reference Manual">
+<link rel="up" href="general.html" title="API">
+<link rel="stylesheet" href="style.css" type="text/css">
+<link rel="chapter" href="general.html" title="API">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr 
valign="middle">
+<td><a accesskey="p" href="libxml2-globals.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-list.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">hash</span></h2>
+<p>hash - Chained hash tables</p>
+<p>This module implements the hash table support used in various places in the library. </p>
+<p>Author(s): Bjorn Reese &lt;bjorn reese systematic dk&gt; </p>
+<div class="refsynopsisdiv">
+<h2>Synopsis</h2>
+<pre class="synopsis">#define <a href="#XML_CAST_FPTR">XML_CAST_FPTR</a>(fptr);
 typedef struct _xmlHashTable <a href="#xmlHashTable">xmlHashTable</a>;
 typedef <a href="libxml2-hash.html#xmlHashTable">xmlHashTable</a> * <a 
href="#xmlHashTablePtr">xmlHashTablePtr</a>;
-int    <a href="#xmlHashAddEntry">xmlHashAddEntry</a>                  (<a 
href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br/>                                    
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>                                      
  void * userdata);
-int    <a href="#xmlHashAddEntry2">xmlHashAddEntry2</a>                (<a 
href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br/>                                    
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>                                      
  const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2, <br/>                                   
    void * userdata);
-int    <a href="#xmlHashAddEntry3">xmlHashAddEntry3</a>                (<a 
href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br/>                                    
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>                                      
  const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2, <br/>                                   
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name3, <br/>                                 
      void * userdata);
-typedef void * <a href="#xmlHashCopier">xmlHashCopier</a>                      (void * payload, <br/>        
                           const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
-<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a>        <a 
href="#xmlHashCopy">xmlHashCopy</a>          (<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> 
table, <br/>                                    <a href="libxml2-hash.html#xmlHashCopier">xmlHashCopier</a> 
f);
+int    <a href="#xmlHashAddEntry">xmlHashAddEntry</a>                  (<a 
href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br>                                     
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>                                       
  void * userdata);
+int    <a href="#xmlHashAddEntry2">xmlHashAddEntry2</a>                (<a 
href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br>                                     
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>                                       
  const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2, <br>                                    
    void * userdata);
+int    <a href="#xmlHashAddEntry3">xmlHashAddEntry3</a>                (<a 
href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br>                                     
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>                                       
  const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2, <br>                                    
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name3, <br>                                  
      void * userdata);
+typedef void * <a href="#xmlHashCopier">xmlHashCopier</a>                      (void * payload, <br>         
                           const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
+<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a>        <a 
href="#xmlHashCopy">xmlHashCopy</a>          (<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> 
table, <br>                                     <a href="libxml2-hash.html#xmlHashCopier">xmlHashCopier</a> 
f);
 <a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a>        <a 
href="#xmlHashCreate">xmlHashCreate</a>              (int size);
-<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a>        <a 
href="#xmlHashCreateDict">xmlHashCreateDict</a>      (int size, <br/>                                         
<a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> dict);
-typedef void <a href="#xmlHashDeallocator">xmlHashDeallocator</a>              (void * payload, <br/>        
                           const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
-void   <a href="#xmlHashDefaultDeallocator">xmlHashDefaultDeallocator</a>      (void * entry, <br/>          
                           const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
-void   <a href="#xmlHashFree">xmlHashFree</a>                  (<a 
href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br/>                                    
<a href="libxml2-hash.html#xmlHashDeallocator">xmlHashDeallocator</a> f);
-void * <a href="#xmlHashLookup">xmlHashLookup</a>                      (<a 
href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br/>                                    
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
-void * <a href="#xmlHashLookup2">xmlHashLookup2</a>                    (<a 
href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br/>                                    
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>                                      
  const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2);
-void * <a href="#xmlHashLookup3">xmlHashLookup3</a>                    (<a 
href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br/>                                    
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>                                      
  const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2, <br/>                                   
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name3);
-void * <a href="#xmlHashQLookup">xmlHashQLookup</a>                    (<a 
href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br/>                                    
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br/>                                    
  const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
-void * <a href="#xmlHashQLookup2">xmlHashQLookup2</a>                  (<a 
href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <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> * prefix2, <br/>                               
      const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2);
-void * <a href="#xmlHashQLookup3">xmlHashQLookup3</a>                  (<a 
href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <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> * prefix2, <br/>                               
      const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2, <br/>                               
        const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix3, <br/>                           
          const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name3);
-int    <a href="#xmlHashRemoveEntry">xmlHashRemoveEntry</a>            (<a 
href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br/>                                    
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>                                      
  <a href="libxml2-hash.html#xmlHashDeallocator">xmlHashDeallocator</a> f);
-int    <a href="#xmlHashRemoveEntry2">xmlHashRemoveEntry2</a>          (<a 
href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br/>                                    
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>                                      
  const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2, <br/>                                   
    <a href="libxml2-hash.html#xmlHashDeallocator">xmlHashDeallocator</a> f);
-int    <a href="#xmlHashRemoveEntry3">xmlHashRemoveEntry3</a>          (<a 
href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br/>                                    
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>                                      
  const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2, <br/>                                   
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name3, <br/>                                 
      <a href="libxml2-hash.html#xmlHashDeallocator">xmlHashDeallocator</a> f);
-void   <a href="#xmlHashScan">xmlHashScan</a>                  (<a 
href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br/>                                    
<a href="libxml2-hash.html#xmlHashScanner">xmlHashScanner</a> f, <br/>                                  void 
* data);
-void   <a href="#xmlHashScan3">xmlHashScan3</a>                        (<a 
href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br/>                                    
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>                                      
  const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2, <br/>                                   
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name3, <br/>                                 
      <a href="libxml2-hash.html#xmlHashScanner">xmlHashScanner</a> f, <br/>                                  
void * data);
-void   <a href="#xmlHashScanFull">xmlHashScanFull</a>                  (<a 
href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br/>                                    
<a href="libxml2-hash.html#xmlHashScannerFull">xmlHashScannerFull</a> f, <br/>                                
  void * data);
-void   <a href="#xmlHashScanFull3">xmlHashScanFull3</a>                (<a 
href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br/>                                    
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>                                      
  const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2, <br/>                                   
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name3, <br/>                                 
      <a href="libxml2-hash.html#xmlHashScannerFull">xmlHashScannerFull</a> f, <br/>                          
        void * data);
-typedef void <a href="#xmlHashScanner">xmlHashScanner</a>                      (void * payload, <br/>        
                           void * data, <br/>                                      const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
-typedef void <a href="#xmlHashScannerFull">xmlHashScannerFull</a>              (void * payload, <br/>        
                           void * data, <br/>                                      const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>                                        const 
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2, <br/>                                       
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name3);
+<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a>        <a 
href="#xmlHashCreateDict">xmlHashCreateDict</a>      (int size, <br>                                  <a 
href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> dict);
+typedef void <a href="#xmlHashDeallocator">xmlHashDeallocator</a>              (void * payload, <br>         
                           const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
+void   <a href="#xmlHashDefaultDeallocator">xmlHashDefaultDeallocator</a>      (void * entry, <br>           
                           const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
+void   <a href="#xmlHashFree">xmlHashFree</a>                  (<a 
href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br>                                     
<a href="libxml2-hash.html#xmlHashDeallocator">xmlHashDeallocator</a> f);
+void * <a href="#xmlHashLookup">xmlHashLookup</a>                      (<a 
href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br>                                     
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
+void * <a href="#xmlHashLookup2">xmlHashLookup2</a>                    (<a 
href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br>                                     
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>                                       
  const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2);
+void * <a href="#xmlHashLookup3">xmlHashLookup3</a>                    (<a 
href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br>                                     
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>                                       
  const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2, <br>                                    
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name3);
+void * <a href="#xmlHashQLookup">xmlHashQLookup</a>                    (<a 
href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br>                                     
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br>                                     
  const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
+void * <a href="#xmlHashQLookup2">xmlHashQLookup2</a>                  (<a 
href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <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> * prefix2, <br>                                
      const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2);
+void * <a href="#xmlHashQLookup3">xmlHashQLookup3</a>                  (<a 
href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <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> * prefix2, <br>                                
      const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2, <br>                                
        const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix3, <br>                            
          const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name3);
+int    <a href="#xmlHashRemoveEntry">xmlHashRemoveEntry</a>            (<a 
href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br>                                     
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>                                       
  <a href="libxml2-hash.html#xmlHashDeallocator">xmlHashDeallocator</a> f);
+int    <a href="#xmlHashRemoveEntry2">xmlHashRemoveEntry2</a>          (<a 
href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br>                                     
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>                                       
  const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2, <br>                                    
    <a href="libxml2-hash.html#xmlHashDeallocator">xmlHashDeallocator</a> f);
+int    <a href="#xmlHashRemoveEntry3">xmlHashRemoveEntry3</a>          (<a 
href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br>                                     
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>                                       
  const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2, <br>                                    
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name3, <br>                                  
      <a href="libxml2-hash.html#xmlHashDeallocator">xmlHashDeallocator</a> f);
+void   <a href="#xmlHashScan">xmlHashScan</a>                  (<a 
href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br>                                     
<a href="libxml2-hash.html#xmlHashScanner">xmlHashScanner</a> f, <br>                                   void 
* data);
+void   <a href="#xmlHashScan3">xmlHashScan3</a>                        (<a 
href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br>                                     
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>                                       
  const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2, <br>                                    
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name3, <br>                                  
      <a href="libxml2-hash.html#xmlHashScanner">xmlHashScanner</a> f, <br>                                   
void * data);
+void   <a href="#xmlHashScanFull">xmlHashScanFull</a>                  (<a 
href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br>                                     
<a href="libxml2-hash.html#xmlHashScannerFull">xmlHashScannerFull</a> f, <br>                                 
  void * data);
+void   <a href="#xmlHashScanFull3">xmlHashScanFull3</a>                (<a 
href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br>                                     
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>                                       
  const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2, <br>                                    
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name3, <br>                                  
      <a href="libxml2-hash.html#xmlHashScannerFull">xmlHashScannerFull</a> f, <br>                           
        void * data);
+typedef void <a href="#xmlHashScanner">xmlHashScanner</a>                      (void * payload, <br>         
                           void * data, <br>                                       const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
+typedef void <a href="#xmlHashScannerFull">xmlHashScannerFull</a>              (void * payload, <br>         
                           void * data, <br>                                       const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>                                         const 
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2, <br>                                        
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name3);
 int    <a href="#xmlHashSize">xmlHashSize</a>                  (<a 
href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table);
-int    <a href="#xmlHashUpdateEntry">xmlHashUpdateEntry</a>            (<a 
href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br/>                                    
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>                                      
  void * userdata, <br/>                                  <a 
href="libxml2-hash.html#xmlHashDeallocator">xmlHashDeallocator</a> f);
-int    <a href="#xmlHashUpdateEntry2">xmlHashUpdateEntry2</a>          (<a 
href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br/>                                    
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>                                      
  const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2, <br/>                                   
    void * userdata, <br/>                                  <a 
href="libxml2-hash.html#xmlHashDeallocator">xmlHashDeallocator</a> f);
-int    <a href="#xmlHashUpdateEntry3">xmlHashUpdateEntry3</a>          (<a 
href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br/>                                    
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>                                      
  const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2, <br/>                                   
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name3, <br/>                                 
      void * userdata, <br/>                                  <a 
href="libxml2-hash.html#xmlHashDeallocator">xmlHashDeallocator</a> f);
-</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="XML_CAST_FPTR">Macro </a>XML_CAST_FPTR</h3><pre 
class="programlisting">#define <a href="#XML_CAST_FPTR">XML_CAST_FPTR</a>(fptr);
-</pre><p>Macro to do a casting from an object pointer to a function pointer without encountering a warning 
from gcc #define XML_CAST_FPTR(fptr) (*(void **)(&amp;fptr)) This macro violated ISO C aliasing rules (gcc4 
on s390 broke) so it is disabled now</p><div class="variablelist"><table border="0"><col 
align="left"/><tbody><tr><td><span class="term"><i><tt>fptr</tt></i>:</span></td><td>pointer to a 
function</td></tr></tbody></table></div>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlHashTable">Structure </a>xmlHashTable</h3><pre 
class="programlisting">struct _xmlHashTable {
+int    <a href="#xmlHashUpdateEntry">xmlHashUpdateEntry</a>            (<a 
href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br>                                     
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>                                       
  void * userdata, <br>                                   <a 
href="libxml2-hash.html#xmlHashDeallocator">xmlHashDeallocator</a> f);
+int    <a href="#xmlHashUpdateEntry2">xmlHashUpdateEntry2</a>          (<a 
href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br>                                     
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>                                       
  const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2, <br>                                    
    void * userdata, <br>                                   <a 
href="libxml2-hash.html#xmlHashDeallocator">xmlHashDeallocator</a> f);
+int    <a href="#xmlHashUpdateEntry3">xmlHashUpdateEntry3</a>          (<a 
href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br>                                     
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>                                       
  const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2, <br>                                    
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name3, <br>                                  
      void * userdata, <br>                                   <a 
href="libxml2-hash.html#xmlHashDeallocator">xmlHashDeallocator</a> f);
+</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="XML_CAST_FPTR">Macro </a>XML_CAST_FPTR</h3>
+<pre class="programlisting">#define <a href="#XML_CAST_FPTR">XML_CAST_FPTR</a>(fptr);
+</pre>
+<p>Macro to do a casting from an object pointer to a function pointer without encountering a warning from 
gcc #define XML_CAST_FPTR(fptr) (*(void **)(&amp;fptr)) This macro violated ISO C aliasing rules (gcc4 on 
s390 broke) so it is disabled now</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>fptr</tt></i>:</span></td>
+<td>pointer to a function</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlHashTable">Structure </a>xmlHashTable</h3>
+<pre class="programlisting">struct _xmlHashTable {
 The content of this structure is not made public by the API.
 } xmlHashTable;
-</pre><p/>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlHashTablePtr">Typedef </a>xmlHashTablePtr</h3><pre 
class="programlisting"><a href="libxml2-hash.html#xmlHashTable">xmlHashTable</a> * xmlHashTablePtr;
-</pre><p/>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlHashCopier"/>Function type xmlHashCopier</h3><pre 
class="programlisting">void *        xmlHashCopier                   (void * payload, <br/>                   
                const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br/>
-</pre><p>Callback to copy data from a hash.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>payload</tt></i>:</span></td><td>the data in the hash</td></tr><tr><td><span 
class="term"><i><tt>name</tt></i>:</span></td><td>the name associated</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>a copy of the data or NULL in case of 
error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlHashDeallocator"/>Function type 
xmlHashDeallocator</h3><pre class="programlisting">void        xmlHashDeallocator              (void * 
payload, <br/>                                   const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * 
name)<br/>
-</pre><p>Callback to free data from a hash.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>payload</tt></i>:</span></td><td>the data in the hash</td></tr><tr><td><span 
class="term"><i><tt>name</tt></i>:</span></td><td>the name associated</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlHashScanner"/>Function type xmlHashScanner</h3><pre 
class="programlisting">void        xmlHashScanner                  (void * payload, <br/>                     
              void * data, <br/>                                      const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br/>
-</pre><p>Callback when scanning data in a hash with the simple scanner.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>payload</tt></i>:</span></td><td>the data in the hash</td></tr><tr><td><span 
class="term"><i><tt>data</tt></i>:</span></td><td>extra scanner data</td></tr><tr><td><span 
class="term"><i><tt>name</tt></i>:</span></td><td>the name associated</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlHashScannerFull"/>Function type 
xmlHashScannerFull</h3><pre class="programlisting">void        xmlHashScannerFull              (void * 
payload, <br/>                                   void * data, <br/>                                      
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>                                      
  const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2, <br/>                                   
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name3)<br/>
-</pre><p>Callback when scanning data in a hash with the full scanner.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>payload</tt></i>:</span></td><td>the data in the hash</td></tr><tr><td><span 
class="term"><i><tt>data</tt></i>:</span></td><td>extra scanner data</td></tr><tr><td><span 
class="term"><i><tt>name</tt></i>:</span></td><td>the name associated</td></tr><tr><td><span 
class="term"><i><tt>name2</tt></i>:</span></td><td>the second name associated</td></tr><tr><td><span 
class="term"><i><tt>name3</tt></i>:</span></td><td>the third name 
associated</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlHashAddEntry"/>xmlHashAddEntry ()</h3><pre 
class="programlisting">int  xmlHashAddEntry                 (<a 
href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br/>                                    
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>                                      
  void * userdata)<br/>
-</pre><p>Add the @userdata to the hash @table. This can later be retrieved by using the @name. Duplicate 
names generate errors.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>table</tt></i>:</span></td><td>the hash table</td></tr><tr><td><span 
class="term"><i><tt>name</tt></i>:</span></td><td>the name of the userdata</td></tr><tr><td><span 
class="term"><i><tt>userdata</tt></i>:</span></td><td>a pointer to the userdata</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>0 the addition succeeded and -1 in case of 
error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlHashAddEntry2"/>xmlHashAddEntry2 ()</h3><pre 
class="programlisting">int        xmlHashAddEntry2                (<a 
href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br/>                                    
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>                                      
  const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2, <br/>                                   
    void * userdata)<br/>
-</pre><p>Add the @userdata to the hash @table. This can later be retrieved by using the (@name, @name2) 
tuple. Duplicate tuples generate errors.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>table</tt></i>:</span></td><td>the hash table</td></tr><tr><td><span 
class="term"><i><tt>name</tt></i>:</span></td><td>the name of the userdata</td></tr><tr><td><span 
class="term"><i><tt>name2</tt></i>:</span></td><td>a second name of the userdata</td></tr><tr><td><span 
class="term"><i><tt>userdata</tt></i>:</span></td><td>a pointer to the userdata</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>0 the addition succeeded and -1 in case of 
error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlHashAddEntry3"/>xmlHashAddEntry3 ()</h3><pre 
class="programlisting">int        xmlHashAddEntry3                (<a 
href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br/>                                    
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>                                      
  const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2, <br/>                                   
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name3, <br/>                                 
      void * userdata)<br/>
-</pre><p>Add the @userdata to the hash @table. This can later be retrieved by using the tuple (@name, 
@name2, @name3). Duplicate entries generate errors.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>table</tt></i>:</span></td><td>the hash table</td></tr><tr><td><span 
class="term"><i><tt>name</tt></i>:</span></td><td>the name of the userdata</td></tr><tr><td><span 
class="term"><i><tt>name2</tt></i>:</span></td><td>a second name of the userdata</td></tr><tr><td><span 
class="term"><i><tt>name3</tt></i>:</span></td><td>a third name of the userdata</td></tr><tr><td><span 
class="term"><i><tt>userdata</tt></i>:</span></td><td>a pointer to the userdata</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>0 the addition succeeded and -1 in case of 
error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlHashCopy"/>xmlHashCopy ()</h3><pre 
class="programlisting"><a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a>      xmlHashCopy       
      (<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br/>                           
         <a href="libxml2-hash.html#xmlHashCopier">xmlHashCopier</a> f)<br/>
-</pre><p>Scan the hash @table and applied @f to each value.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>table</tt></i>:</span></td><td>the hash table</td></tr><tr><td><span 
class="term"><i><tt>f</tt></i>:</span></td><td>the copier function for items in the 
hash</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new table or NULL in 
case of error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlHashCreate"/>xmlHashCreate ()</h3><pre 
class="programlisting"><a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a>  xmlHashCreate         
  (int size)<br/>
-</pre><p>Create a new xmlHashTablePtr.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>size</tt></i>:</span></td><td>the size of the hash table</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the newly created object, or NULL if an error 
occurred.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlHashCreateDict"/>xmlHashCreateDict ()</h3><pre 
class="programlisting"><a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a>  xmlHashCreateDict     
  (int size, <br/>                                         <a 
href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> dict)<br/>
-</pre><p>Create a new <a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> which will use @dict 
as the internal dictionary</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>size</tt></i>:</span></td><td>the size of the hash table</td></tr><tr><td><span 
class="term"><i><tt>dict</tt></i>:</span></td><td>a dictionary to use for the hash</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the newly created object, or NULL if an error 
occurred.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlHashDefaultDeallocator"/>xmlHashDefaultDeallocator 
()</h3><pre class="programlisting">void     xmlHashDefaultDeallocator       (void * entry, <br/>              
                       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br/>
-</pre><p>Free a hash table entry with xmlFree.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>entry</tt></i>:</span></td><td>the hash table entry</td></tr><tr><td><span 
class="term"><i><tt>name</tt></i>:</span></td><td>the entry's name</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlHashFree"/>xmlHashFree ()</h3><pre 
class="programlisting">void xmlHashFree                     (<a 
href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br/>                                    
<a href="libxml2-hash.html#xmlHashDeallocator">xmlHashDeallocator</a> f)<br/>
-</pre><p>Free the hash @table and its contents. The userdata is deallocated with @f if provided.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>table</tt></i>:</span></td><td>the hash table</td></tr><tr><td><span 
class="term"><i><tt>f</tt></i>:</span></td><td>the deallocator function for items in the 
hash</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlHashLookup"/>xmlHashLookup ()</h3><pre 
class="programlisting">void *   xmlHashLookup                   (<a 
href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br/>                                    
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br/>
-</pre><p>Find the userdata specified by the @name.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>table</tt></i>:</span></td><td>the hash table</td></tr><tr><td><span 
class="term"><i><tt>name</tt></i>:</span></td><td>the name of the userdata</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the pointer to the 
userdata</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlHashLookup2"/>xmlHashLookup2 ()</h3><pre 
class="programlisting">void * xmlHashLookup2                  (<a 
href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br/>                                    
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>                                      
  const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2)<br/>
-</pre><p>Find the userdata specified by the (@name, @name2) tuple.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>table</tt></i>:</span></td><td>the hash table</td></tr><tr><td><span 
class="term"><i><tt>name</tt></i>:</span></td><td>the name of the userdata</td></tr><tr><td><span 
class="term"><i><tt>name2</tt></i>:</span></td><td>a second name of the userdata</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the pointer to the 
userdata</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlHashLookup3"/>xmlHashLookup3 ()</h3><pre 
class="programlisting">void * xmlHashLookup3                  (<a 
href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br/>                                    
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>                                      
  const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2, <br/>                                   
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name3)<br/>
-</pre><p>Find the userdata specified by the (@name, @name2, @name3) tuple.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>table</tt></i>:</span></td><td>the hash table</td></tr><tr><td><span 
class="term"><i><tt>name</tt></i>:</span></td><td>the name of the userdata</td></tr><tr><td><span 
class="term"><i><tt>name2</tt></i>:</span></td><td>a second name of the userdata</td></tr><tr><td><span 
class="term"><i><tt>name3</tt></i>:</span></td><td>a third name of the userdata</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the a pointer to the 
userdata</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlHashQLookup"/>xmlHashQLookup ()</h3><pre 
class="programlisting">void * xmlHashQLookup                  (<a 
href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br/>                                    
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br/>                                    
  const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br/>
-</pre><p>Find the userdata specified by the QName @prefix:@name/@name.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>table</tt></i>:</span></td><td>the hash table</td></tr><tr><td><span 
class="term"><i><tt>prefix</tt></i>:</span></td><td>the prefix of the userdata</td></tr><tr><td><span 
class="term"><i><tt>name</tt></i>:</span></td><td>the name of the userdata</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the pointer to the 
userdata</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlHashQLookup2"/>xmlHashQLookup2 ()</h3><pre 
class="programlisting">void *       xmlHashQLookup2                 (<a 
href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <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> * prefix2, <br/>                               
      const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2)<br/>
-</pre><p>Find the userdata specified by the QNames tuple</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>table</tt></i>:</span></td><td>the hash table</td></tr><tr><td><span 
class="term"><i><tt>prefix</tt></i>:</span></td><td>the prefix of the userdata</td></tr><tr><td><span 
class="term"><i><tt>name</tt></i>:</span></td><td>the name of the userdata</td></tr><tr><td><span 
class="term"><i><tt>prefix2</tt></i>:</span></td><td>the second prefix of the userdata</td></tr><tr><td><span 
class="term"><i><tt>name2</tt></i>:</span></td><td>a second name of the userdata</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the pointer to the 
userdata</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlHashQLookup3"/>xmlHashQLookup3 ()</h3><pre 
class="programlisting">void *       xmlHashQLookup3                 (<a 
href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <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> * prefix2, <br/>                               
      const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2, <br/>                               
        const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix3, <br/>                           
          const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name3)<br/>
-</pre><p>Find the userdata specified by the (@name, @name2, @name3) tuple.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>table</tt></i>:</span></td><td>the hash table</td></tr><tr><td><span 
class="term"><i><tt>prefix</tt></i>:</span></td><td>the prefix of the userdata</td></tr><tr><td><span 
class="term"><i><tt>name</tt></i>:</span></td><td>the name of the userdata</td></tr><tr><td><span 
class="term"><i><tt>prefix2</tt></i>:</span></td><td>the second prefix of the userdata</td></tr><tr><td><span 
class="term"><i><tt>name2</tt></i>:</span></td><td>a second name of the userdata</td></tr><tr><td><span 
class="term"><i><tt>prefix3</tt></i>:</span></td><td>the third prefix of the userdata</td></tr><tr><td><span 
class="term"><i><tt>name3</tt></i>:</span></td><td>a third name of the userdata</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the a pointer to the 
userdata</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlHashRemoveEntry"/>xmlHashRemoveEntry ()</h3><pre 
class="programlisting">int    xmlHashRemoveEntry              (<a 
href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br/>                                    
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>                                      
  <a href="libxml2-hash.html#xmlHashDeallocator">xmlHashDeallocator</a> f)<br/>
-</pre><p>Find the userdata specified by the @name and remove it from the hash @table. Existing userdata for 
this tuple will be removed and freed with @f.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>table</tt></i>:</span></td><td>the hash table</td></tr><tr><td><span 
class="term"><i><tt>name</tt></i>:</span></td><td>the name of the userdata</td></tr><tr><td><span 
class="term"><i><tt>f</tt></i>:</span></td><td>the deallocator function for removed item (if 
any)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if the removal succeeded 
and -1 in case of error or not found.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlHashRemoveEntry2"/>xmlHashRemoveEntry2 ()</h3><pre 
class="programlisting">int  xmlHashRemoveEntry2             (<a 
href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br/>                                    
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>                                      
  const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2, <br/>                                   
    <a href="libxml2-hash.html#xmlHashDeallocator">xmlHashDeallocator</a> f)<br/>
-</pre><p>Find the userdata specified by the (@name, @name2) tuple and remove it from the hash @table. 
Existing userdata for this tuple will be removed and freed with @f.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>table</tt></i>:</span></td><td>the hash table</td></tr><tr><td><span 
class="term"><i><tt>name</tt></i>:</span></td><td>the name of the userdata</td></tr><tr><td><span 
class="term"><i><tt>name2</tt></i>:</span></td><td>a second name of the userdata</td></tr><tr><td><span 
class="term"><i><tt>f</tt></i>:</span></td><td>the deallocator function for removed item (if 
any)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if the removal succeeded 
and -1 in case of error or not found.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlHashRemoveEntry3"/>xmlHashRemoveEntry3 ()</h3><pre 
class="programlisting">int  xmlHashRemoveEntry3             (<a 
href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br/>                                    
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>                                      
  const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2, <br/>                                   
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name3, <br/>                                 
      <a href="libxml2-hash.html#xmlHashDeallocator">xmlHashDeallocator</a> f)<br/>
-</pre><p>Find the userdata specified by the (@name, @name2, @name3) tuple and remove it from the hash 
@table. Existing userdata for this tuple will be removed and freed with @f.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>table</tt></i>:</span></td><td>the hash table</td></tr><tr><td><span 
class="term"><i><tt>name</tt></i>:</span></td><td>the name of the userdata</td></tr><tr><td><span 
class="term"><i><tt>name2</tt></i>:</span></td><td>a second name of the userdata</td></tr><tr><td><span 
class="term"><i><tt>name3</tt></i>:</span></td><td>a third name of the userdata</td></tr><tr><td><span 
class="term"><i><tt>f</tt></i>:</span></td><td>the deallocator function for removed item (if 
any)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if the removal succeeded 
and -1 in case of error or not found.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlHashScan"/>xmlHashScan ()</h3><pre 
class="programlisting">void xmlHashScan                     (<a 
href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br/>                                    
<a href="libxml2-hash.html#xmlHashScanner">xmlHashScanner</a> f, <br/>                                  void 
* data)<br/>
-</pre><p>Scan the hash @table and applied @f to each value.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>table</tt></i>:</span></td><td>the hash table</td></tr><tr><td><span 
class="term"><i><tt>f</tt></i>:</span></td><td>the scanner function for items in the 
hash</td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>extra data passed to 
f</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlHashScan3"/>xmlHashScan3 ()</h3><pre 
class="programlisting">void       xmlHashScan3                    (<a 
href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br/>                                    
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>                                      
  const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2, <br/>                                   
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name3, <br/>                                 
      <a href="libxml2-hash.html#xmlHashScanner">xmlHashScanner</a> f, <br/>                                  
void * data)<br/>
-</pre><p>Scan the hash @table and applied @f to each value matching (@name, @name2, @name3) tuple. If one of 
the names is null, the comparison is considered to match.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>table</tt></i>:</span></td><td>the hash table</td></tr><tr><td><span 
class="term"><i><tt>name</tt></i>:</span></td><td>the name of the userdata or NULL</td></tr><tr><td><span 
class="term"><i><tt>name2</tt></i>:</span></td><td>a second name of the userdata or 
NULL</td></tr><tr><td><span class="term"><i><tt>name3</tt></i>:</span></td><td>a third name of the userdata 
or NULL</td></tr><tr><td><span class="term"><i><tt>f</tt></i>:</span></td><td>the scanner function for items 
in the hash</td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>extra data passed to 
f</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlHashScanFull"/>xmlHashScanFull ()</h3><pre 
class="programlisting">void xmlHashScanFull                 (<a 
href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br/>                                    
<a href="libxml2-hash.html#xmlHashScannerFull">xmlHashScannerFull</a> f, <br/>                                
  void * data)<br/>
-</pre><p>Scan the hash @table and applied @f to each value.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>table</tt></i>:</span></td><td>the hash table</td></tr><tr><td><span 
class="term"><i><tt>f</tt></i>:</span></td><td>the scanner function for items in the 
hash</td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>extra data passed to 
f</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlHashScanFull3"/>xmlHashScanFull3 ()</h3><pre 
class="programlisting">void       xmlHashScanFull3                (<a 
href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br/>                                    
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>                                      
  const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2, <br/>                                   
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name3, <br/>                                 
      <a href="libxml2-hash.html#xmlHashScannerFull">xmlHashScannerFull</a> f, <br/>                          
        void * data)<br/>
-</pre><p>Scan the hash @table and applied @f to each value matching (@name, @name2, @name3) tuple. If one of 
the names is null, the comparison is considered to match.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>table</tt></i>:</span></td><td>the hash table</td></tr><tr><td><span 
class="term"><i><tt>name</tt></i>:</span></td><td>the name of the userdata or NULL</td></tr><tr><td><span 
class="term"><i><tt>name2</tt></i>:</span></td><td>a second name of the userdata or 
NULL</td></tr><tr><td><span class="term"><i><tt>name3</tt></i>:</span></td><td>a third name of the userdata 
or NULL</td></tr><tr><td><span class="term"><i><tt>f</tt></i>:</span></td><td>the scanner function for items 
in the hash</td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>extra data passed to 
f</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlHashSize"/>xmlHashSize ()</h3><pre 
class="programlisting">int  xmlHashSize                     (<a 
href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table)<br/>
-</pre><p>Query the number of elements installed in the 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>the hash table</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of elements in the hash table or -1 in case 
of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlHashUpdateEntry"/>xmlHashUpdateEntry ()</h3><pre 
class="programlisting">int    xmlHashUpdateEntry              (<a 
href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br/>                                    
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>                                      
  void * userdata, <br/>                                  <a 
href="libxml2-hash.html#xmlHashDeallocator">xmlHashDeallocator</a> f)<br/>
-</pre><p>Add the @userdata to the hash @table. This can later be retrieved by using the @name. Existing 
entry for this @name will be removed and freed with @f if found.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>table</tt></i>:</span></td><td>the hash table</td></tr><tr><td><span 
class="term"><i><tt>name</tt></i>:</span></td><td>the name of the userdata</td></tr><tr><td><span 
class="term"><i><tt>userdata</tt></i>:</span></td><td>a pointer to the userdata</td></tr><tr><td><span 
class="term"><i><tt>f</tt></i>:</span></td><td>the deallocator function for replaced item (if 
any)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 the addition succeeded and 
-1 in case of error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlHashUpdateEntry2"/>xmlHashUpdateEntry2 ()</h3><pre 
class="programlisting">int  xmlHashUpdateEntry2             (<a 
href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br/>                                    
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>                                      
  const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2, <br/>                                   
    void * userdata, <br/>                                  <a 
href="libxml2-hash.html#xmlHashDeallocator">xmlHashDeallocator</a> f)<br/>
-</pre><p>Add the @userdata to the hash @table. This can later be retrieved by using the (@name, @name2) 
tuple. Existing entry for this tuple will be removed and freed with @f if found.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>table</tt></i>:</span></td><td>the hash table</td></tr><tr><td><span 
class="term"><i><tt>name</tt></i>:</span></td><td>the name of the userdata</td></tr><tr><td><span 
class="term"><i><tt>name2</tt></i>:</span></td><td>a second name of the userdata</td></tr><tr><td><span 
class="term"><i><tt>userdata</tt></i>:</span></td><td>a pointer to the userdata</td></tr><tr><td><span 
class="term"><i><tt>f</tt></i>:</span></td><td>the deallocator function for replaced item (if 
any)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 the addition succeeded and 
-1 in case of error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlHashUpdateEntry3"/>xmlHashUpdateEntry3 ()</h3><pre 
class="programlisting">int  xmlHashUpdateEntry3             (<a 
href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br/>                                    
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>                                      
  const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2, <br/>                                   
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name3, <br/>                                 
      void * userdata, <br/>                                  <a 
href="libxml2-hash.html#xmlHashDeallocator">xmlHashDeallocator</a> f)<br/>
-</pre><p>Add the @userdata to the hash @table. This can later be retrieved by using the tuple (@name, 
@name2, @name3). Existing entry for this tuple will be removed and freed with @f if found.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>table</tt></i>:</span></td><td>the hash table</td></tr><tr><td><span 
class="term"><i><tt>name</tt></i>:</span></td><td>the name of the userdata</td></tr><tr><td><span 
class="term"><i><tt>name2</tt></i>:</span></td><td>a second name of the userdata</td></tr><tr><td><span 
class="term"><i><tt>name3</tt></i>:</span></td><td>a third name of the userdata</td></tr><tr><td><span 
class="term"><i><tt>userdata</tt></i>:</span></td><td>a pointer to the userdata</td></tr><tr><td><span 
class="term"><i><tt>f</tt></i>:</span></td><td>the deallocator function for replaced item (if 
any)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 the addition succeeded and 
-1 in case of error.</td></tr></tbody></table></div></div>
-        <hr/>
-      </div>
-    </div>
-  </body>
+</pre>
+<p></p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlHashTablePtr">Typedef </a>xmlHashTablePtr</h3>
+<pre class="programlisting"><a href="libxml2-hash.html#xmlHashTable">xmlHashTable</a> * xmlHashTablePtr;
+</pre>
+<p></p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlHashCopier"></a>Function type xmlHashCopier</h3>
+<pre class="programlisting">void *     xmlHashCopier                   (void * payload, <br>                 
                   const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
+</pre>
+<p>Callback to copy data from a hash.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>payload</tt></i>:</span></td>
+<td>the data in the hash</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the name associated</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a copy of the data or NULL in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlHashDeallocator"></a>Function type xmlHashDeallocator</h3>
+<pre class="programlisting">void       xmlHashDeallocator              (void * payload, <br>                 
                   const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
+</pre>
+<p>Callback to free data from a hash.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>payload</tt></i>:</span></td>
+<td>the data in the hash</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the name associated</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlHashScanner"></a>Function type xmlHashScanner</h3>
+<pre class="programlisting">void       xmlHashScanner                  (void * payload, <br>                 
                   void * data, <br>                                       const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
+</pre>
+<p>Callback when scanning data in a hash with the simple scanner.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>payload</tt></i>:</span></td>
+<td>the data in the hash</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>data</tt></i>:</span></td>
+<td>extra scanner data</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the name associated</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlHashScannerFull"></a>Function type xmlHashScannerFull</h3>
+<pre class="programlisting">void       xmlHashScannerFull              (void * payload, <br>                 
                   void * data, <br>                                       const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>                                         const 
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2, <br>                                        
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name3)<br>
+</pre>
+<p>Callback when scanning data in a hash with the full scanner.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>payload</tt></i>:</span></td>
+<td>the data in the hash</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>data</tt></i>:</span></td>
+<td>extra scanner data</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the name associated</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name2</tt></i>:</span></td>
+<td>the second name associated</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name3</tt></i>:</span></td>
+<td>the third name associated</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlHashAddEntry"></a>xmlHashAddEntry ()</h3>
+<pre class="programlisting">int        xmlHashAddEntry                 (<a 
href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br>                                     
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>                                       
  void * userdata)<br>
+</pre>
+<p>Add the @userdata to the hash @table. This can later be retrieved by using the @name. Duplicate names 
generate errors.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>table</tt></i>:</span></td>
+<td>the hash table</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the name of the userdata</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>userdata</tt></i>:</span></td>
+<td>a pointer to the userdata</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 the addition succeeded and -1 in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlHashAddEntry2"></a>xmlHashAddEntry2 ()</h3>
+<pre class="programlisting">int        xmlHashAddEntry2                (<a 
href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br>                                     
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>                                       
  const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2, <br>                                    
    void * userdata)<br>
+</pre>
+<p>Add the @userdata to the hash @table. This can later be retrieved by using the (@name, @name2) tuple. 
Duplicate tuples generate errors.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>table</tt></i>:</span></td>
+<td>the hash table</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the name of the userdata</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name2</tt></i>:</span></td>
+<td>a second name of the userdata</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>userdata</tt></i>:</span></td>
+<td>a pointer to the userdata</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 the addition succeeded and -1 in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlHashAddEntry3"></a>xmlHashAddEntry3 ()</h3>
+<pre class="programlisting">int        xmlHashAddEntry3                (<a 
href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br>                                     
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>                                       
  const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2, <br>                                    
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name3, <br>                                  
      void * userdata)<br>
+</pre>
+<p>Add the @userdata to the hash @table. This can later be retrieved by using the tuple (@name, @name2, 
@name3). Duplicate entries generate errors.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>table</tt></i>:</span></td>
+<td>the hash table</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the name of the userdata</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name2</tt></i>:</span></td>
+<td>a second name of the userdata</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name3</tt></i>:</span></td>
+<td>a third name of the userdata</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>userdata</tt></i>:</span></td>
+<td>a pointer to the userdata</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 the addition succeeded and -1 in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlHashCopy"></a>xmlHashCopy ()</h3>
+<pre class="programlisting"><a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a>    xmlHashCopy   
          (<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br>                        
             <a href="libxml2-hash.html#xmlHashCopier">xmlHashCopier</a> f)<br>
+</pre>
+<p>Scan the hash @table and applied @f to each value.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>table</tt></i>:</span></td>
+<td>the hash table</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>f</tt></i>:</span></td>
+<td>the copier function for items in the hash</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the new table or NULL in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlHashCreate"></a>xmlHashCreate ()</h3>
+<pre class="programlisting"><a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a>    xmlHashCreate 
          (int size)<br>
+</pre>
+<p>Create a new xmlHashTablePtr.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>size</tt></i>:</span></td>
+<td>the size of the hash table</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the newly created object, or NULL if an error occurred.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlHashCreateDict"></a>xmlHashCreateDict ()</h3>
+<pre class="programlisting"><a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a>    
xmlHashCreateDict       (int size, <br>                                  <a 
href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> dict)<br>
+</pre>
+<p>Create a new <a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> which will use @dict as the 
internal dictionary</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>size</tt></i>:</span></td>
+<td>the size of the hash table</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>dict</tt></i>:</span></td>
+<td>a dictionary to use for the hash</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the newly created object, or NULL if an error occurred.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlHashDefaultDeallocator"></a>xmlHashDefaultDeallocator ()</h3>
+<pre class="programlisting">void       xmlHashDefaultDeallocator       (void * entry, <br>                   
                   const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
+</pre>
+<p>Free a hash table entry with xmlFree.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>entry</tt></i>:</span></td>
+<td>the hash table entry</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the entry's name</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlHashFree"></a>xmlHashFree ()</h3>
+<pre class="programlisting">void       xmlHashFree                     (<a 
href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br>                                     
<a href="libxml2-hash.html#xmlHashDeallocator">xmlHashDeallocator</a> f)<br>
+</pre>
+<p>Free the hash @table and its contents. The userdata is deallocated with @f if provided.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>table</tt></i>:</span></td>
+<td>the hash table</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>f</tt></i>:</span></td>
+<td>the deallocator function for items in the hash</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlHashLookup"></a>xmlHashLookup ()</h3>
+<pre class="programlisting">void *     xmlHashLookup                   (<a 
href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br>                                     
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
+</pre>
+<p>Find the userdata specified by the @name.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>table</tt></i>:</span></td>
+<td>the hash table</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the name of the userdata</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the pointer to the userdata</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlHashLookup2"></a>xmlHashLookup2 ()</h3>
+<pre class="programlisting">void *     xmlHashLookup2                  (<a 
href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br>                                     
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>                                       
  const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2)<br>
+</pre>
+<p>Find the userdata specified by the (@name, @name2) tuple.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>table</tt></i>:</span></td>
+<td>the hash table</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the name of the userdata</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name2</tt></i>:</span></td>
+<td>a second name of the userdata</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the pointer to the userdata</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlHashLookup3"></a>xmlHashLookup3 ()</h3>
+<pre class="programlisting">void *     xmlHashLookup3                  (<a 
href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br>                                     
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>                                       
  const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2, <br>                                    
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name3)<br>
+</pre>
+<p>Find the userdata specified by the (@name, @name2, @name3) tuple.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>table</tt></i>:</span></td>
+<td>the hash table</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the name of the userdata</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name2</tt></i>:</span></td>
+<td>a second name of the userdata</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name3</tt></i>:</span></td>
+<td>a third name of the userdata</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the a pointer to the userdata</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlHashQLookup"></a>xmlHashQLookup ()</h3>
+<pre class="programlisting">void *     xmlHashQLookup                  (<a 
href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br>                                     
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br>                                     
  const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
+</pre>
+<p>Find the userdata specified by the QName @prefix:@name/@name.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>table</tt></i>:</span></td>
+<td>the hash table</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>prefix</tt></i>:</span></td>
+<td>the prefix of the userdata</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the name of the userdata</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the pointer to the userdata</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlHashQLookup2"></a>xmlHashQLookup2 ()</h3>
+<pre class="programlisting">void *     xmlHashQLookup2                 (<a 
href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <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> * prefix2, <br>                                
      const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2)<br>
+</pre>
+<p>Find the userdata specified by the QNames tuple</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>table</tt></i>:</span></td>
+<td>the hash table</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>prefix</tt></i>:</span></td>
+<td>the prefix of the userdata</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the name of the userdata</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>prefix2</tt></i>:</span></td>
+<td>the second prefix of the userdata</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name2</tt></i>:</span></td>
+<td>a second name of the userdata</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the pointer to the userdata</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlHashQLookup3"></a>xmlHashQLookup3 ()</h3>
+<pre class="programlisting">void *     xmlHashQLookup3                 (<a 
href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <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> * prefix2, <br>                                
      const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2, <br>                                
        const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix3, <br>                            
          const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name3)<br>
+</pre>
+<p>Find the userdata specified by the (@name, @name2, @name3) tuple.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>table</tt></i>:</span></td>
+<td>the hash table</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>prefix</tt></i>:</span></td>
+<td>the prefix of the userdata</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the name of the userdata</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>prefix2</tt></i>:</span></td>
+<td>the second prefix of the userdata</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name2</tt></i>:</span></td>
+<td>a second name of the userdata</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>prefix3</tt></i>:</span></td>
+<td>the third prefix of the userdata</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name3</tt></i>:</span></td>
+<td>a third name of the userdata</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the a pointer to the userdata</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlHashRemoveEntry"></a>xmlHashRemoveEntry ()</h3>
+<pre class="programlisting">int        xmlHashRemoveEntry              (<a 
href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br>                                     
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>                                       
  <a href="libxml2-hash.html#xmlHashDeallocator">xmlHashDeallocator</a> f)<br>
+</pre>
+<p>Find the userdata specified by the @name and remove it from the hash @table. Existing userdata for this 
tuple will be removed and freed with @f.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>table</tt></i>:</span></td>
+<td>the hash table</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the name of the userdata</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>f</tt></i>:</span></td>
+<td>the deallocator function for removed item (if any)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 if the removal succeeded and -1 in case of error or not found.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlHashRemoveEntry2"></a>xmlHashRemoveEntry2 ()</h3>
+<pre class="programlisting">int        xmlHashRemoveEntry2             (<a 
href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br>                                     
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>                                       
  const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2, <br>                                    
    <a href="libxml2-hash.html#xmlHashDeallocator">xmlHashDeallocator</a> f)<br>
+</pre>
+<p>Find the userdata specified by the (@name, @name2) tuple and remove it from the hash @table. Existing 
userdata for this tuple will be removed and freed with @f.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>table</tt></i>:</span></td>
+<td>the hash table</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the name of the userdata</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name2</tt></i>:</span></td>
+<td>a second name of the userdata</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>f</tt></i>:</span></td>
+<td>the deallocator function for removed item (if any)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 if the removal succeeded and -1 in case of error or not found.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlHashRemoveEntry3"></a>xmlHashRemoveEntry3 ()</h3>
+<pre class="programlisting">int        xmlHashRemoveEntry3             (<a 
href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br>                                     
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>                                       
  const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2, <br>                                    
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name3, <br>                                  
      <a href="libxml2-hash.html#xmlHashDeallocator">xmlHashDeallocator</a> f)<br>
+</pre>
+<p>Find the userdata specified by the (@name, @name2, @name3) tuple and remove it from the hash @table. 
Existing userdata for this tuple will be removed and freed with @f.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>table</tt></i>:</span></td>
+<td>the hash table</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the name of the userdata</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name2</tt></i>:</span></td>
+<td>a second name of the userdata</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name3</tt></i>:</span></td>
+<td>a third name of the userdata</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>f</tt></i>:</span></td>
+<td>the deallocator function for removed item (if any)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 if the removal succeeded and -1 in case of error or not found.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlHashScan"></a>xmlHashScan ()</h3>
+<pre class="programlisting">void       xmlHashScan                     (<a 
href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br>                                     
<a href="libxml2-hash.html#xmlHashScanner">xmlHashScanner</a> f, <br>                                   void 
* data)<br>
+</pre>
+<p>Scan the hash @table and applied @f to each value.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>table</tt></i>:</span></td>
+<td>the hash table</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>f</tt></i>:</span></td>
+<td>the scanner function for items in the hash</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>data</tt></i>:</span></td>
+<td>extra data passed to f</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlHashScan3"></a>xmlHashScan3 ()</h3>
+<pre class="programlisting">void       xmlHashScan3                    (<a 
href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br>                                     
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>                                       
  const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2, <br>                                    
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name3, <br>                                  
      <a href="libxml2-hash.html#xmlHashScanner">xmlHashScanner</a> f, <br>                                   
void * data)<br>
+</pre>
+<p>Scan the hash @table and applied @f to each value matching (@name, @name2, @name3) tuple. If one of the 
names is null, the comparison is considered to match.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>table</tt></i>:</span></td>
+<td>the hash table</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the name of the userdata or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name2</tt></i>:</span></td>
+<td>a second name of the userdata or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name3</tt></i>:</span></td>
+<td>a third name of the userdata or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>f</tt></i>:</span></td>
+<td>the scanner function for items in the hash</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>data</tt></i>:</span></td>
+<td>extra data passed to f</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlHashScanFull"></a>xmlHashScanFull ()</h3>
+<pre class="programlisting">void       xmlHashScanFull                 (<a 
href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br>                                     
<a href="libxml2-hash.html#xmlHashScannerFull">xmlHashScannerFull</a> f, <br>                                 
  void * data)<br>
+</pre>
+<p>Scan the hash @table and applied @f to each value.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>table</tt></i>:</span></td>
+<td>the hash table</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>f</tt></i>:</span></td>
+<td>the scanner function for items in the hash</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>data</tt></i>:</span></td>
+<td>extra data passed to f</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlHashScanFull3"></a>xmlHashScanFull3 ()</h3>
+<pre class="programlisting">void       xmlHashScanFull3                (<a 
href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br>                                     
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>                                       
  const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2, <br>                                    
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name3, <br>                                  
      <a href="libxml2-hash.html#xmlHashScannerFull">xmlHashScannerFull</a> f, <br>                           
        void * data)<br>
+</pre>
+<p>Scan the hash @table and applied @f to each value matching (@name, @name2, @name3) tuple. If one of the 
names is null, the comparison is considered to match.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>table</tt></i>:</span></td>
+<td>the hash table</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the name of the userdata or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name2</tt></i>:</span></td>
+<td>a second name of the userdata or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name3</tt></i>:</span></td>
+<td>a third name of the userdata or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>f</tt></i>:</span></td>
+<td>the scanner function for items in the hash</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>data</tt></i>:</span></td>
+<td>extra data passed to f</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlHashSize"></a>xmlHashSize ()</h3>
+<pre class="programlisting">int        xmlHashSize                     (<a 
href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table)<br>
+</pre>
+<p>Query the number of elements installed in the 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>the hash table</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the number of elements in the hash table or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlHashUpdateEntry"></a>xmlHashUpdateEntry ()</h3>
+<pre class="programlisting">int        xmlHashUpdateEntry              (<a 
href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br>                                     
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>                                       
  void * userdata, <br>                                   <a 
href="libxml2-hash.html#xmlHashDeallocator">xmlHashDeallocator</a> f)<br>
+</pre>
+<p>Add the @userdata to the hash @table. This can later be retrieved by using the @name. Existing entry for 
this @name will be removed and freed with @f if found.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>table</tt></i>:</span></td>
+<td>the hash table</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the name of the userdata</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>userdata</tt></i>:</span></td>
+<td>a pointer to the userdata</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>f</tt></i>:</span></td>
+<td>the deallocator function for replaced item (if any)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 the addition succeeded and -1 in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlHashUpdateEntry2"></a>xmlHashUpdateEntry2 ()</h3>
+<pre class="programlisting">int        xmlHashUpdateEntry2             (<a 
href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br>                                     
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>                                       
  const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2, <br>                                    
    void * userdata, <br>                                   <a 
href="libxml2-hash.html#xmlHashDeallocator">xmlHashDeallocator</a> f)<br>
+</pre>
+<p>Add the @userdata to the hash @table. This can later be retrieved by using the (@name, @name2) tuple. 
Existing entry for this tuple will be removed and freed with @f if found.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>table</tt></i>:</span></td>
+<td>the hash table</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the name of the userdata</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name2</tt></i>:</span></td>
+<td>a second name of the userdata</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>userdata</tt></i>:</span></td>
+<td>a pointer to the userdata</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>f</tt></i>:</span></td>
+<td>the deallocator function for replaced item (if any)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 the addition succeeded and -1 in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlHashUpdateEntry3"></a>xmlHashUpdateEntry3 ()</h3>
+<pre class="programlisting">int        xmlHashUpdateEntry3             (<a 
href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br>                                     
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>                                       
  const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2, <br>                                    
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name3, <br>                                  
      void * userdata, <br>                                   <a 
href="libxml2-hash.html#xmlHashDeallocator">xmlHashDeallocator</a> f)<br>
+</pre>
+<p>Add the @userdata to the hash @table. This can later be retrieved by using the tuple (@name, @name2, 
@name3). Existing entry for this tuple will be removed and freed with @f if found.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>table</tt></i>:</span></td>
+<td>the hash table</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the name of the userdata</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name2</tt></i>:</span></td>
+<td>a second name of the userdata</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name3</tt></i>:</span></td>
+<td>a third name of the userdata</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>userdata</tt></i>:</span></td>
+<td>a pointer to the userdata</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>f</tt></i>:</span></td>
+<td>the deallocator function for replaced item (if any)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 the addition succeeded and -1 in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+</div>
+</div>
+</body>
 </html>
diff --git a/doc/devhelp/libxml2-list.html b/doc/devhelp/libxml2-list.html
index d9d8b76e..649f97a8 100644
--- a/doc/devhelp/libxml2-list.html
+++ b/doc/devhelp/libxml2-list.html
@@ -1,226 +1,730 @@
-<?xml version="1.0" encoding="UTF-8"?>
 <html>
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
-    <title>list: lists interfaces</title>
-    <meta name="generator" content="Libxml2 devhelp stylesheet"/>
-    <link rel="start" href="index.html" title="libxml2 Reference Manual"/>
-    <link rel="up" href="general.html" title="API"/>
-    <link rel="stylesheet" href="style.css" type="text/css"/>
-    <link rel="chapter" href="general.html" title="API"/>
-  </head>
-  <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-    <table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
-      <tr valign="middle">
-        <td>
-          <a accesskey="p" href="libxml2-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>
-        <th width="100%" align="center">libxml2 Reference Manual</th>
-      </tr>
-    </table>
-    <h2>
-      <span class="refentrytitle">list</span>
-    </h2>
-    <p>list - lists interfaces</p>
-    <p>this module implement the list support used in various place in the library. </p>
-    <p>Author(s): Gary Pennington &lt;Gary Pennington uk sun com&gt; </p>
-    <div class="refsynopsisdiv">
-      <h2>Synopsis</h2>
-      <pre class="synopsis">typedef struct _xmlLink <a href="#xmlLink">xmlLink</a>;
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>list: lists interfaces</title>
+<meta name="generator" content="Libxml2 devhelp stylesheet">
+<link rel="start" href="index.html" title="libxml2 Reference Manual">
+<link rel="up" href="general.html" title="API">
+<link rel="stylesheet" href="style.css" type="text/css">
+<link rel="chapter" href="general.html" title="API">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr 
valign="middle">
+<td><a accesskey="p" href="libxml2-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>
+<th width="100%" align="center">libxml2 Reference Manual</th>
+</tr></table>
+<h2><span class="refentrytitle">list</span></h2>
+<p>list - lists interfaces</p>
+<p>this module implement the list support used in various place in the library. </p>
+<p>Author(s): Gary Pennington &lt;Gary Pennington uk sun com&gt; </p>
+<div class="refsynopsisdiv">
+<h2>Synopsis</h2>
+<pre class="synopsis">typedef struct _xmlLink <a href="#xmlLink">xmlLink</a>;
 typedef <a href="libxml2-list.html#xmlLink">xmlLink</a> * <a href="#xmlLinkPtr">xmlLinkPtr</a>;
 typedef struct _xmlList <a href="#xmlList">xmlList</a>;
 typedef <a href="libxml2-list.html#xmlList">xmlList</a> * <a href="#xmlListPtr">xmlListPtr</a>;
 void * <a href="#xmlLinkGetData">xmlLinkGetData</a>                    (<a 
href="libxml2-list.html#xmlLinkPtr">xmlLinkPtr</a> lk);
-int    <a href="#xmlListAppend">xmlListAppend</a>                      (<a 
href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br/>                                  void * data);
+int    <a href="#xmlListAppend">xmlListAppend</a>                      (<a 
href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br>                                   void * data);
 void   <a href="#xmlListClear">xmlListClear</a>                        (<a 
href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l);
-int    <a href="#xmlListCopy">xmlListCopy</a>                  (<a 
href="libxml2-list.html#xmlListPtr">xmlListPtr</a> cur, <br/>                                        const <a 
href="libxml2-list.html#xmlListPtr">xmlListPtr</a> old);
-<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a>  <a href="#xmlListCreate">xmlListCreate</a>            
  (<a href="libxml2-list.html#xmlListDeallocator">xmlListDeallocator</a> deallocator, <br/>                   
                     <a href="libxml2-list.html#xmlListDataCompare">xmlListDataCompare</a> compare);
-typedef int <a href="#xmlListDataCompare">xmlListDataCompare</a>               (const void * data0, <br/>    
                                   const void * data1);
+int    <a href="#xmlListCopy">xmlListCopy</a>                  (<a 
href="libxml2-list.html#xmlListPtr">xmlListPtr</a> cur, <br>                                         const <a 
href="libxml2-list.html#xmlListPtr">xmlListPtr</a> old);
+<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a>  <a href="#xmlListCreate">xmlListCreate</a>            
  (<a href="libxml2-list.html#xmlListDeallocator">xmlListDeallocator</a> deallocator, <br>                    
                     <a href="libxml2-list.html#xmlListDataCompare">xmlListDataCompare</a> compare);
+typedef int <a href="#xmlListDataCompare">xmlListDataCompare</a>               (const void * data0, <br>     
                                   const void * data1);
 typedef void <a href="#xmlListDeallocator">xmlListDeallocator</a>              (<a 
href="libxml2-list.html#xmlLinkPtr">xmlLinkPtr</a> lk);
 void   <a href="#xmlListDelete">xmlListDelete</a>                      (<a 
href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l);
 <a href="libxml2-list.html#xmlListPtr">xmlListPtr</a>  <a href="#xmlListDup">xmlListDup</a>            
(const <a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> old);
 int    <a href="#xmlListEmpty">xmlListEmpty</a>                        (<a 
href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l);
 <a href="libxml2-list.html#xmlLinkPtr">xmlLinkPtr</a>  <a href="#xmlListEnd">xmlListEnd</a>            (<a 
href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l);
 <a href="libxml2-list.html#xmlLinkPtr">xmlLinkPtr</a>  <a href="#xmlListFront">xmlListFront</a>              
  (<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l);
-int    <a href="#xmlListInsert">xmlListInsert</a>                      (<a 
href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br/>                                  void * data);
-void   <a href="#xmlListMerge">xmlListMerge</a>                        (<a 
href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l1, <br/>                                         <a 
href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l2);
+int    <a href="#xmlListInsert">xmlListInsert</a>                      (<a 
href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br>                                   void * data);
+void   <a href="#xmlListMerge">xmlListMerge</a>                        (<a 
href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l1, <br>                                  <a 
href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l2);
 void   <a href="#xmlListPopBack">xmlListPopBack</a>                    (<a 
href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l);
 void   <a href="#xmlListPopFront">xmlListPopFront</a>                  (<a 
href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l);
-int    <a href="#xmlListPushBack">xmlListPushBack</a>                  (<a 
href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br/>                                  void * data);
-int    <a href="#xmlListPushFront">xmlListPushFront</a>                (<a 
href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br/>                                  void * data);
-int    <a href="#xmlListRemoveAll">xmlListRemoveAll</a>                (<a 
href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br/>                                  void * data);
-int    <a href="#xmlListRemoveFirst">xmlListRemoveFirst</a>            (<a 
href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br/>                                  void * data);
-int    <a href="#xmlListRemoveLast">xmlListRemoveLast</a>              (<a 
href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br/>                                  void * data);
+int    <a href="#xmlListPushBack">xmlListPushBack</a>                  (<a 
href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br>                                   void * data);
+int    <a href="#xmlListPushFront">xmlListPushFront</a>                (<a 
href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br>                                   void * data);
+int    <a href="#xmlListRemoveAll">xmlListRemoveAll</a>                (<a 
href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br>                                   void * data);
+int    <a href="#xmlListRemoveFirst">xmlListRemoveFirst</a>            (<a 
href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br>                                   void * data);
+int    <a href="#xmlListRemoveLast">xmlListRemoveLast</a>              (<a 
href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br>                                   void * data);
 void   <a href="#xmlListReverse">xmlListReverse</a>                    (<a 
href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l);
-void * <a href="#xmlListReverseSearch">xmlListReverseSearch</a>                (<a 
href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br/>                                  void * data);
-void   <a href="#xmlListReverseWalk">xmlListReverseWalk</a>            (<a 
href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br/>                                  <a 
href="libxml2-list.html#xmlListWalker">xmlListWalker</a> walker, <br/>                                       
void * user);
-void * <a href="#xmlListSearch">xmlListSearch</a>                      (<a 
href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br/>                                  void * data);
+void * <a href="#xmlListReverseSearch">xmlListReverseSearch</a>                (<a 
href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br>                                   void * data);
+void   <a href="#xmlListReverseWalk">xmlListReverseWalk</a>            (<a 
href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br>                                   <a 
href="libxml2-list.html#xmlListWalker">xmlListWalker</a> walker, <br>                                        
void * user);
+void * <a href="#xmlListSearch">xmlListSearch</a>                      (<a 
href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br>                                   void * data);
 int    <a href="#xmlListSize">xmlListSize</a>                  (<a 
href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l);
 void   <a href="#xmlListSort">xmlListSort</a>                  (<a 
href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l);
-void   <a href="#xmlListWalk">xmlListWalk</a>                  (<a 
href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br/>                                  <a 
href="libxml2-list.html#xmlListWalker">xmlListWalker</a> walker, <br/>                                       
void * user);
-typedef int <a href="#xmlListWalker">xmlListWalker</a>                 (const void * data, <br/>             
                           void * user);
-</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="xmlLink">Structure </a>xmlLink</h3><pre 
class="programlisting">struct _xmlLink {
+void   <a href="#xmlListWalk">xmlListWalk</a>                  (<a 
href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br>                                   <a 
href="libxml2-list.html#xmlListWalker">xmlListWalker</a> walker, <br>                                        
void * user);
+typedef int <a href="#xmlListWalker">xmlListWalker</a>                 (const void * data, <br>              
                           void * user);
+</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="xmlLink">Structure </a>xmlLink</h3>
+<pre class="programlisting">struct _xmlLink {
 The content of this structure is not made public by the API.
 } xmlLink;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlLinkPtr">Typedef </a>xmlLinkPtr</h3><pre 
class="programlisting"><a href="libxml2-list.html#xmlLink">xmlLink</a> * xmlLinkPtr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlLinkPtr">Typedef </a>xmlLinkPtr</h3>
+<pre class="programlisting"><a href="libxml2-list.html#xmlLink">xmlLink</a> * xmlLinkPtr;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlList">Structure </a>xmlList</h3><pre 
class="programlisting">struct _xmlList {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlList">Structure </a>xmlList</h3>
+<pre class="programlisting">struct _xmlList {
 The content of this structure is not made public by the API.
 } xmlList;
-</pre><p/>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlListPtr">Typedef </a>xmlListPtr</h3><pre 
class="programlisting"><a href="libxml2-list.html#xmlList">xmlList</a> * xmlListPtr;
-</pre><p/>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlListDataCompare"/>Function type 
xmlListDataCompare</h3><pre class="programlisting">int xmlListDataCompare              (const void * data0, 
<br/>                                       const void * data1)<br/>
-</pre><p>Callback function used to compare 2 data.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>data0</tt></i>:</span></td><td>the first data</td></tr><tr><td><span 
class="term"><i><tt>data1</tt></i>:</span></td><td>the second data</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>0 is equality, -1 or 1 otherwise depending on the 
ordering.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlListDeallocator"/>Function type 
xmlListDeallocator</h3><pre class="programlisting">void        xmlListDeallocator              (<a 
href="libxml2-list.html#xmlLinkPtr">xmlLinkPtr</a> lk)<br/>
-</pre><p>Callback function used to free data from a list.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>lk</tt></i>:</span></td><td>the data to deallocate</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlListWalker"/>Function type xmlListWalker</h3><pre 
class="programlisting">int   xmlListWalker                   (const void * data, <br/>                        
                void * user)<br/>
-</pre><p>Callback function used when walking a list with xmlListWalk().</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>data</tt></i>:</span></td><td>the data found in the list</td></tr><tr><td><span 
class="term"><i><tt>user</tt></i>:</span></td><td>extra user provided data to the 
walker</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 to stop walking the 
list, 1 otherwise.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlLinkGetData"/>xmlLinkGetData ()</h3><pre 
class="programlisting">void * xmlLinkGetData                  (<a 
href="libxml2-list.html#xmlLinkPtr">xmlLinkPtr</a> lk)<br/>
-</pre><p>See Returns.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>lk</tt></i>:</span></td><td>a link</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the data referenced from this 
link</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlListAppend"/>xmlListAppend ()</h3><pre 
class="programlisting">int      xmlListAppend                   (<a 
href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br/>                                  void * data)<br/>
-</pre><p>Insert data in the ordered list at the end for this value</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>l</tt></i>:</span></td><td>a list</td></tr><tr><td><span 
class="term"><i><tt>data</tt></i>:</span></td><td>the data</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success, 1 in case of 
failure</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlListClear"/>xmlListClear ()</h3><pre 
class="programlisting">void       xmlListClear                    (<a 
href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l)<br/>
-</pre><p>Remove the all data in the list</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>l</tt></i>:</span></td><td>a list</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlListCopy"/>xmlListCopy ()</h3><pre 
class="programlisting">int  xmlListCopy                     (<a 
href="libxml2-list.html#xmlListPtr">xmlListPtr</a> cur, <br/>                                        const <a 
href="libxml2-list.html#xmlListPtr">xmlListPtr</a> old)<br/>
-</pre><p>Move all the element from the old list in the new 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 new list</td></tr><tr><td><span 
class="term"><i><tt>old</tt></i>:</span></td><td>the old list</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success 1 in case of 
error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlListCreate"/>xmlListCreate ()</h3><pre 
class="programlisting"><a href="libxml2-list.html#xmlListPtr">xmlListPtr</a>    xmlListCreate           (<a 
href="libxml2-list.html#xmlListDeallocator">xmlListDeallocator</a> deallocator, <br/>                         
               <a href="libxml2-list.html#xmlListDataCompare">xmlListDataCompare</a> compare)<br/>
-</pre><p>Create a new list</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>deallocator</tt></i>:</span></td><td>an optional deallocator 
function</td></tr><tr><td><span class="term"><i><tt>compare</tt></i>:</span></td><td>an optional comparison 
function</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new list or NULL in 
case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlListDelete"/>xmlListDelete ()</h3><pre 
class="programlisting">void     xmlListDelete                   (<a 
href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l)<br/>
-</pre><p>Deletes the list and its associated data</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>l</tt></i>:</span></td><td>a list</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlListDup"/>xmlListDup ()</h3><pre 
class="programlisting"><a href="libxml2-list.html#xmlListPtr">xmlListPtr</a>  xmlListDup              (const 
<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> old)<br/>
-</pre><p>Duplicate the list</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>old</tt></i>:</span></td><td>the list</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>a new copy of the list or NULL in case of 
error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlListEmpty"/>xmlListEmpty ()</h3><pre 
class="programlisting">int        xmlListEmpty                    (<a 
href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l)<br/>
-</pre><p>Is the list empty ?</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>l</tt></i>:</span></td><td>a list</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if the list is empty, 0 if not empty and -1 in case of 
error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlListEnd"/>xmlListEnd ()</h3><pre 
class="programlisting"><a href="libxml2-list.html#xmlLinkPtr">xmlLinkPtr</a>  xmlListEnd              (<a 
href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l)<br/>
-</pre><p>Get the last element in the list</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>l</tt></i>:</span></td><td>a list</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the last element in the list, or 
NULL</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlListFront"/>xmlListFront ()</h3><pre 
class="programlisting"><a href="libxml2-list.html#xmlLinkPtr">xmlLinkPtr</a>      xmlListFront            (<a 
href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l)<br/>
-</pre><p>Get the first element in the list</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>l</tt></i>:</span></td><td>a list</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the first element in the list, or 
NULL</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlListInsert"/>xmlListInsert ()</h3><pre 
class="programlisting">int      xmlListInsert                   (<a 
href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br/>                                  void * data)<br/>
-</pre><p>Insert data in the ordered list at the beginning for this value</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>l</tt></i>:</span></td><td>a list</td></tr><tr><td><span 
class="term"><i><tt>data</tt></i>:</span></td><td>the data</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success, 1 in case of 
failure</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlListMerge"/>xmlListMerge ()</h3><pre 
class="programlisting">void       xmlListMerge                    (<a 
href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l1, <br/>                                         <a 
href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l2)<br/>
-</pre><p>include all the elements of the second list in the first one and clear the second list</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>l1</tt></i>:</span></td><td>the original list</td></tr><tr><td><span 
class="term"><i><tt>l2</tt></i>:</span></td><td>the new list</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlListPopBack"/>xmlListPopBack ()</h3><pre 
class="programlisting">void   xmlListPopBack                  (<a 
href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l)<br/>
-</pre><p>Removes the last element in the list</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>l</tt></i>:</span></td><td>a list</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlListPopFront"/>xmlListPopFront ()</h3><pre 
class="programlisting">void xmlListPopFront                 (<a 
href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l)<br/>
-</pre><p>Removes the first element in the list</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>l</tt></i>:</span></td><td>a list</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlListPushBack"/>xmlListPushBack ()</h3><pre 
class="programlisting">int  xmlListPushBack                 (<a 
href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br/>                                  void * data)<br/>
-</pre><p>add the new data at the end of the list</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>l</tt></i>:</span></td><td>a list</td></tr><tr><td><span 
class="term"><i><tt>data</tt></i>:</span></td><td>new data</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if successful, 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlListPushFront"/>xmlListPushFront ()</h3><pre 
class="programlisting">int        xmlListPushFront                (<a 
href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br/>                                  void * data)<br/>
-</pre><p>add the new data at the beginning of the list</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>l</tt></i>:</span></td><td>a list</td></tr><tr><td><span 
class="term"><i><tt>data</tt></i>:</span></td><td>new data</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if successful, 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlListRemoveAll"/>xmlListRemoveAll ()</h3><pre 
class="programlisting">int        xmlListRemoveAll                (<a 
href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br/>                                  void * data)<br/>
-</pre><p>Remove the all instance associated to data in the list</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>l</tt></i>:</span></td><td>a list</td></tr><tr><td><span 
class="term"><i><tt>data</tt></i>:</span></td><td>list data</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of deallocation, or 0 if not 
found</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlListRemoveFirst"/>xmlListRemoveFirst ()</h3><pre 
class="programlisting">int    xmlListRemoveFirst              (<a 
href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br/>                                  void * data)<br/>
-</pre><p>Remove the first instance associated to data in the list</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>l</tt></i>:</span></td><td>a list</td></tr><tr><td><span 
class="term"><i><tt>data</tt></i>:</span></td><td>list data</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if a deallocation occurred, or 0 if not 
found</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlListRemoveLast"/>xmlListRemoveLast ()</h3><pre 
class="programlisting">int      xmlListRemoveLast               (<a 
href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br/>                                  void * data)<br/>
-</pre><p>Remove the last instance associated to data in the list</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>l</tt></i>:</span></td><td>a list</td></tr><tr><td><span 
class="term"><i><tt>data</tt></i>:</span></td><td>list data</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if a deallocation occurred, or 0 if not 
found</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlListReverse"/>xmlListReverse ()</h3><pre 
class="programlisting">void   xmlListReverse                  (<a 
href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l)<br/>
-</pre><p>Reverse the order of the elements in the list</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>l</tt></i>:</span></td><td>a list</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlListReverseSearch"/>xmlListReverseSearch ()</h3><pre 
class="programlisting">void *     xmlListReverseSearch            (<a 
href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br/>                                  void * data)<br/>
-</pre><p>Search the list in reverse order for an existing value of @data</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>l</tt></i>:</span></td><td>a list</td></tr><tr><td><span 
class="term"><i><tt>data</tt></i>:</span></td><td>a search value</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the value associated to @data or NULL in case of 
error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlListReverseWalk"/>xmlListReverseWalk ()</h3><pre 
class="programlisting">void   xmlListReverseWalk              (<a 
href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br/>                                  <a 
href="libxml2-list.html#xmlListWalker">xmlListWalker</a> walker, <br/>                                       
void * user)<br/>
-</pre><p>Walk all the element of the list in reverse order and apply the walker function to it</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>l</tt></i>:</span></td><td>a list</td></tr><tr><td><span 
class="term"><i><tt>walker</tt></i>:</span></td><td>a processing function</td></tr><tr><td><span 
class="term"><i><tt>user</tt></i>:</span></td><td>a user parameter passed to the walker 
function</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlListSearch"/>xmlListSearch ()</h3><pre 
class="programlisting">void *   xmlListSearch                   (<a 
href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br/>                                  void * data)<br/>
-</pre><p>Search the list for an existing value of @data</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>l</tt></i>:</span></td><td>a list</td></tr><tr><td><span 
class="term"><i><tt>data</tt></i>:</span></td><td>a search value</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the value associated to @data or NULL in case of 
error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlListSize"/>xmlListSize ()</h3><pre 
class="programlisting">int  xmlListSize                     (<a 
href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l)<br/>
-</pre><p>Get the number of elements in the list</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>l</tt></i>:</span></td><td>a list</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of elements in the list or -1 in case of 
error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlListSort"/>xmlListSort ()</h3><pre 
class="programlisting">void xmlListSort                     (<a 
href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l)<br/>
-</pre><p>Sort all the elements in the list</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>l</tt></i>:</span></td><td>a list</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlListWalk"/>xmlListWalk ()</h3><pre 
class="programlisting">void xmlListWalk                     (<a 
href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br/>                                  <a 
href="libxml2-list.html#xmlListWalker">xmlListWalker</a> walker, <br/>                                       
void * user)<br/>
-</pre><p>Walk all the element of the first from first to last and apply the walker function to it</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>l</tt></i>:</span></td><td>a list</td></tr><tr><td><span 
class="term"><i><tt>walker</tt></i>:</span></td><td>a processing function</td></tr><tr><td><span 
class="term"><i><tt>user</tt></i>:</span></td><td>a user parameter passed to the walker 
function</td></tr></tbody></table></div></div>
-        <hr/>
-      </div>
-    </div>
-  </body>
+</pre>
+<p></p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlListPtr">Typedef </a>xmlListPtr</h3>
+<pre class="programlisting"><a href="libxml2-list.html#xmlList">xmlList</a> * xmlListPtr;
+</pre>
+<p></p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlListDataCompare"></a>Function type xmlListDataCompare</h3>
+<pre class="programlisting">int        xmlListDataCompare              (const void * data0, <br>             
                           const void * data1)<br>
+</pre>
+<p>Callback function used to compare 2 data.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>data0</tt></i>:</span></td>
+<td>the first data</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>data1</tt></i>:</span></td>
+<td>the second data</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 is equality, -1 or 1 otherwise depending on the ordering.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlListDeallocator"></a>Function type xmlListDeallocator</h3>
+<pre class="programlisting">void       xmlListDeallocator              (<a 
href="libxml2-list.html#xmlLinkPtr">xmlLinkPtr</a> lk)<br>
+</pre>
+<p>Callback function used to free data from a list.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>lk</tt></i>:</span></td>
+<td>the data to deallocate</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlListWalker"></a>Function type xmlListWalker</h3>
+<pre class="programlisting">int        xmlListWalker                   (const void * data, <br>              
                           void * user)<br>
+</pre>
+<p>Callback function used when walking a list with xmlListWalk().</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>data</tt></i>:</span></td>
+<td>the data found in the list</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>user</tt></i>:</span></td>
+<td>extra user provided data to the walker</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 to stop walking the list, 1 otherwise.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlLinkGetData"></a>xmlLinkGetData ()</h3>
+<pre class="programlisting">void *     xmlLinkGetData                  (<a 
href="libxml2-list.html#xmlLinkPtr">xmlLinkPtr</a> lk)<br>
+</pre>
+<p>See Returns.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>lk</tt></i>:</span></td>
+<td>a link</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a pointer to the data referenced from this link</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlListAppend"></a>xmlListAppend ()</h3>
+<pre class="programlisting">int        xmlListAppend                   (<a 
href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br>                                   void * data)<br>
+</pre>
+<p>Insert data in the ordered list at the end for this value</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>l</tt></i>:</span></td>
+<td>a list</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>data</tt></i>:</span></td>
+<td>the data</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 in case of success, 1 in case of failure</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlListClear"></a>xmlListClear ()</h3>
+<pre class="programlisting">void       xmlListClear                    (<a 
href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l)<br>
+</pre>
+<p>Remove the all data in the list</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>l</tt></i>:</span></td>
+<td>a list</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlListCopy"></a>xmlListCopy ()</h3>
+<pre class="programlisting">int        xmlListCopy                     (<a 
href="libxml2-list.html#xmlListPtr">xmlListPtr</a> cur, <br>                                         const <a 
href="libxml2-list.html#xmlListPtr">xmlListPtr</a> old)<br>
+</pre>
+<p>Move all the element from the old list in the new 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 new list</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>old</tt></i>:</span></td>
+<td>the old list</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 in case of success 1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlListCreate"></a>xmlListCreate ()</h3>
+<pre class="programlisting"><a href="libxml2-list.html#xmlListPtr">xmlListPtr</a>      xmlListCreate         
  (<a href="libxml2-list.html#xmlListDeallocator">xmlListDeallocator</a> deallocator, <br>                    
                     <a href="libxml2-list.html#xmlListDataCompare">xmlListDataCompare</a> compare)<br>
+</pre>
+<p>Create a new list</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>deallocator</tt></i>:</span></td>
+<td>an optional deallocator function</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>compare</tt></i>:</span></td>
+<td>an optional comparison function</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the new list or NULL in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlListDelete"></a>xmlListDelete ()</h3>
+<pre class="programlisting">void       xmlListDelete                   (<a 
href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l)<br>
+</pre>
+<p>Deletes the list and its associated data</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>l</tt></i>:</span></td>
+<td>a list</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlListDup"></a>xmlListDup ()</h3>
+<pre class="programlisting"><a href="libxml2-list.html#xmlListPtr">xmlListPtr</a>      xmlListDup            
  (const <a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> old)<br>
+</pre>
+<p>Duplicate the list</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>old</tt></i>:</span></td>
+<td>the list</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a new copy of the list or NULL in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlListEmpty"></a>xmlListEmpty ()</h3>
+<pre class="programlisting">int        xmlListEmpty                    (<a 
href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l)<br>
+</pre>
+<p>Is the list empty ?</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>l</tt></i>:</span></td>
+<td>a list</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if the list is empty, 0 if not empty and -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlListEnd"></a>xmlListEnd ()</h3>
+<pre class="programlisting"><a href="libxml2-list.html#xmlLinkPtr">xmlLinkPtr</a>      xmlListEnd            
  (<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l)<br>
+</pre>
+<p>Get the last element in the list</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>l</tt></i>:</span></td>
+<td>a list</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the last element in the list, or NULL</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlListFront"></a>xmlListFront ()</h3>
+<pre class="programlisting"><a href="libxml2-list.html#xmlLinkPtr">xmlLinkPtr</a>      xmlListFront          
  (<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l)<br>
+</pre>
+<p>Get the first element in the list</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>l</tt></i>:</span></td>
+<td>a list</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the first element in the list, or NULL</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlListInsert"></a>xmlListInsert ()</h3>
+<pre class="programlisting">int        xmlListInsert                   (<a 
href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br>                                   void * data)<br>
+</pre>
+<p>Insert data in the ordered list at the beginning for this value</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>l</tt></i>:</span></td>
+<td>a list</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>data</tt></i>:</span></td>
+<td>the data</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 in case of success, 1 in case of failure</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlListMerge"></a>xmlListMerge ()</h3>
+<pre class="programlisting">void       xmlListMerge                    (<a 
href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l1, <br>                                  <a 
href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l2)<br>
+</pre>
+<p>include all the elements of the second list in the first one and clear the second list</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>l1</tt></i>:</span></td>
+<td>the original list</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>l2</tt></i>:</span></td>
+<td>the new list</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlListPopBack"></a>xmlListPopBack ()</h3>
+<pre class="programlisting">void       xmlListPopBack                  (<a 
href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l)<br>
+</pre>
+<p>Removes the last element in the list</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>l</tt></i>:</span></td>
+<td>a list</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlListPopFront"></a>xmlListPopFront ()</h3>
+<pre class="programlisting">void       xmlListPopFront                 (<a 
href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l)<br>
+</pre>
+<p>Removes the first element in the list</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>l</tt></i>:</span></td>
+<td>a list</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlListPushBack"></a>xmlListPushBack ()</h3>
+<pre class="programlisting">int        xmlListPushBack                 (<a 
href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br>                                   void * data)<br>
+</pre>
+<p>add the new data at the end of the list</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>l</tt></i>:</span></td>
+<td>a list</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>data</tt></i>:</span></td>
+<td>new data</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if successful, 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlListPushFront"></a>xmlListPushFront ()</h3>
+<pre class="programlisting">int        xmlListPushFront                (<a 
href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br>                                   void * data)<br>
+</pre>
+<p>add the new data at the beginning of the list</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>l</tt></i>:</span></td>
+<td>a list</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>data</tt></i>:</span></td>
+<td>new data</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if successful, 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlListRemoveAll"></a>xmlListRemoveAll ()</h3>
+<pre class="programlisting">int        xmlListRemoveAll                (<a 
href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br>                                   void * data)<br>
+</pre>
+<p>Remove the all instance associated to data in the list</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>l</tt></i>:</span></td>
+<td>a list</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>data</tt></i>:</span></td>
+<td>list data</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the number of deallocation, or 0 if not found</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlListRemoveFirst"></a>xmlListRemoveFirst ()</h3>
+<pre class="programlisting">int        xmlListRemoveFirst              (<a 
href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br>                                   void * data)<br>
+</pre>
+<p>Remove the first instance associated to data in the list</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>l</tt></i>:</span></td>
+<td>a list</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>data</tt></i>:</span></td>
+<td>list data</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if a deallocation occurred, or 0 if not found</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlListRemoveLast"></a>xmlListRemoveLast ()</h3>
+<pre class="programlisting">int        xmlListRemoveLast               (<a 
href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br>                                   void * data)<br>
+</pre>
+<p>Remove the last instance associated to data in the list</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>l</tt></i>:</span></td>
+<td>a list</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>data</tt></i>:</span></td>
+<td>list data</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if a deallocation occurred, or 0 if not found</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlListReverse"></a>xmlListReverse ()</h3>
+<pre class="programlisting">void       xmlListReverse                  (<a 
href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l)<br>
+</pre>
+<p>Reverse the order of the elements in the list</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>l</tt></i>:</span></td>
+<td>a list</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlListReverseSearch"></a>xmlListReverseSearch ()</h3>
+<pre class="programlisting">void *     xmlListReverseSearch            (<a 
href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br>                                   void * data)<br>
+</pre>
+<p>Search the list in reverse order for an existing value of @data</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>l</tt></i>:</span></td>
+<td>a list</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>data</tt></i>:</span></td>
+<td>a search value</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the value associated to @data or NULL in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlListReverseWalk"></a>xmlListReverseWalk ()</h3>
+<pre class="programlisting">void       xmlListReverseWalk              (<a 
href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br>                                   <a 
href="libxml2-list.html#xmlListWalker">xmlListWalker</a> walker, <br>                                        
void * user)<br>
+</pre>
+<p>Walk all the element of the list in reverse order and apply the walker function to it</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>l</tt></i>:</span></td>
+<td>a list</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>walker</tt></i>:</span></td>
+<td>a processing function</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>user</tt></i>:</span></td>
+<td>a user parameter passed to the walker function</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlListSearch"></a>xmlListSearch ()</h3>
+<pre class="programlisting">void *     xmlListSearch                   (<a 
href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br>                                   void * data)<br>
+</pre>
+<p>Search the list for an existing value of @data</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>l</tt></i>:</span></td>
+<td>a list</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>data</tt></i>:</span></td>
+<td>a search value</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the value associated to @data or NULL in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlListSize"></a>xmlListSize ()</h3>
+<pre class="programlisting">int        xmlListSize                     (<a 
href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l)<br>
+</pre>
+<p>Get the number of elements in the list</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>l</tt></i>:</span></td>
+<td>a list</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the number of elements in the list or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlListSort"></a>xmlListSort ()</h3>
+<pre class="programlisting">void       xmlListSort                     (<a 
href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l)<br>
+</pre>
+<p>Sort all the elements in the list</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>l</tt></i>:</span></td>
+<td>a list</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlListWalk"></a>xmlListWalk ()</h3>
+<pre class="programlisting">void       xmlListWalk                     (<a 
href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br>                                   <a 
href="libxml2-list.html#xmlListWalker">xmlListWalker</a> walker, <br>                                        
void * user)<br>
+</pre>
+<p>Walk all the element of the first from first to last and apply the walker function to it</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>l</tt></i>:</span></td>
+<td>a list</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>walker</tt></i>:</span></td>
+<td>a processing function</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>user</tt></i>:</span></td>
+<td>a user parameter passed to the walker function</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+</div>
+</div>
+</body>
 </html>
diff --git a/doc/devhelp/libxml2-nanoftp.html b/doc/devhelp/libxml2-nanoftp.html
index 836b30a1..8b62576c 100644
--- a/doc/devhelp/libxml2-nanoftp.html
+++ b/doc/devhelp/libxml2-nanoftp.html
@@ -1,188 +1,651 @@
-<?xml version="1.0" encoding="UTF-8"?>
 <html>
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
-    <title>nanoftp: minimal FTP implementation</title>
-    <meta name="generator" content="Libxml2 devhelp stylesheet"/>
-    <link rel="start" href="index.html" title="libxml2 Reference Manual"/>
-    <link rel="up" href="general.html" title="API"/>
-    <link rel="stylesheet" href="style.css" type="text/css"/>
-    <link rel="chapter" href="general.html" title="API"/>
-  </head>
-  <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-    <table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
-      <tr valign="middle">
-        <td>
-          <a accesskey="p" href="libxml2-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-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">nanoftp</span>
-    </h2>
-    <p>nanoftp - minimal FTP implementation</p>
-    <p>minimal FTP implementation allowing to fetch resources like external subset. This module is 
DEPRECATED, do not use any of its functions. </p>
-    <p> WARNING: this module is deprecated !</p>
-    <p>Author(s): Daniel Veillard </p>
-    <div class="refsynopsisdiv">
-      <h2>Synopsis</h2>
-      <pre class="synopsis">#define <a href="#INVALID_SOCKET">INVALID_SOCKET</a>;
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>nanoftp: minimal FTP implementation</title>
+<meta name="generator" content="Libxml2 devhelp stylesheet">
+<link rel="start" href="index.html" title="libxml2 Reference Manual">
+<link rel="up" href="general.html" title="API">
+<link rel="stylesheet" href="style.css" type="text/css">
+<link rel="chapter" href="general.html" title="API">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr 
valign="middle">
+<td><a accesskey="p" href="libxml2-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-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">nanoftp</span></h2>
+<p>nanoftp - minimal FTP implementation</p>
+<p>minimal FTP implementation allowing to fetch resources like external subset. This module is DEPRECATED, 
do not use any of its functions. </p>
+<p> WARNING: this module is deprecated !</p>
+<p>Author(s): Daniel Veillard </p>
+<div class="refsynopsisdiv">
+<h2>Synopsis</h2>
+<pre class="synopsis">#define <a href="#INVALID_SOCKET">INVALID_SOCKET</a>;
 #define <a href="#SOCKET">SOCKET</a>;
-typedef void <a href="#ftpDataCallback">ftpDataCallback</a>                    (void * userData, <br/>       
                           const char * data, <br/>                                        int len);
-typedef void <a href="#ftpListCallback">ftpListCallback</a>                    (void * userData, <br/>       
                           const char * filename, <br/>                                    const char * 
attrib, <br/>                                      const char * owner, <br/>                                  
     const char * group, <br/>                                       unsigned long size, <br/>                
                       int links, <br/>                                        int year, <br/>                
                         const char * month, <br/>                                       int day, <br/>       
                           int hour, <br/>                                         int minute);
+typedef void <a href="#ftpDataCallback">ftpDataCallback</a>                    (void * userData, <br>        
                           const char * data, <br>                                         int len);
+typedef void <a href="#ftpListCallback">ftpListCallback</a>                    (void * userData, <br>        
                           const char * filename, <br>                                     const char * 
attrib, <br>                                       const char * owner, <br>                                   
     const char * group, <br>                                        unsigned long size, <br>                 
                       int links, <br>                                         int year, <br>                 
                 const char * month, <br>                                        int day, <br>                
                   int hour, <br>                                  int minute);
 int    <a href="#xmlNanoFTPCheckResponse">xmlNanoFTPCheckResponse</a>          (void * ctx);
 void   <a href="#xmlNanoFTPCleanup">xmlNanoFTPCleanup</a>              (void);
 int    <a href="#xmlNanoFTPClose">xmlNanoFTPClose</a>                  (void * ctx);
 int    <a href="#xmlNanoFTPCloseConnection">xmlNanoFTPCloseConnection</a>      (void * ctx);
 int    <a href="#xmlNanoFTPConnect">xmlNanoFTPConnect</a>              (void * ctx);
-void * <a href="#xmlNanoFTPConnectTo">xmlNanoFTPConnectTo</a>          (const char * server, <br/>           
                           int port);
-int    <a href="#xmlNanoFTPCwd">xmlNanoFTPCwd</a>                      (void * ctx, <br/>                    
                   const char * directory);
-int    <a href="#xmlNanoFTPDele">xmlNanoFTPDele</a>                    (void * ctx, <br/>                    
                   const char * file);
+void * <a href="#xmlNanoFTPConnectTo">xmlNanoFTPConnectTo</a>          (const char * server, <br>            
                           int port);
+int    <a href="#xmlNanoFTPCwd">xmlNanoFTPCwd</a>                      (void * ctx, <br>                     
                   const char * directory);
+int    <a href="#xmlNanoFTPDele">xmlNanoFTPDele</a>                    (void * ctx, <br>                     
                   const char * file);
 void   <a href="#xmlNanoFTPFreeCtxt">xmlNanoFTPFreeCtxt</a>            (void * ctx);
-int    <a href="#xmlNanoFTPGet">xmlNanoFTPGet</a>                      (void * ctx, <br/>                    
                   <a href="libxml2-nanoftp.html#ftpDataCallback">ftpDataCallback</a> callback, <br/>         
                             void * userData, <br/>                                  const char * filename);
+int    <a href="#xmlNanoFTPGet">xmlNanoFTPGet</a>                      (void * ctx, <br>                     
                   <a href="libxml2-nanoftp.html#ftpDataCallback">ftpDataCallback</a> callback, <br>          
                             void * userData, <br>                                   const char * filename);
 <a href="libxml2-nanoftp.html#SOCKET">SOCKET</a>       <a 
href="#xmlNanoFTPGetConnection">xmlNanoFTPGetConnection</a>          (void * ctx);
 int    <a href="#xmlNanoFTPGetResponse">xmlNanoFTPGetResponse</a>              (void * ctx);
-<a href="libxml2-nanoftp.html#SOCKET">SOCKET</a>       <a 
href="#xmlNanoFTPGetSocket">xmlNanoFTPGetSocket</a>          (void * ctx, <br/>                               
        const char * filename);
+<a href="libxml2-nanoftp.html#SOCKET">SOCKET</a>       <a 
href="#xmlNanoFTPGetSocket">xmlNanoFTPGetSocket</a>          (void * ctx, <br>                                
        const char * filename);
 void   <a href="#xmlNanoFTPInit">xmlNanoFTPInit</a>                    (void);
-int    <a href="#xmlNanoFTPList">xmlNanoFTPList</a>                    (void * ctx, <br/>                    
                   <a href="libxml2-nanoftp.html#ftpListCallback">ftpListCallback</a> callback, <br/>         
                             void * userData, <br/>                                  const char * filename);
+int    <a href="#xmlNanoFTPList">xmlNanoFTPList</a>                    (void * ctx, <br>                     
                   <a href="libxml2-nanoftp.html#ftpListCallback">ftpListCallback</a> callback, <br>          
                             void * userData, <br>                                   const char * filename);
 void * <a href="#xmlNanoFTPNewCtxt">xmlNanoFTPNewCtxt</a>              (const char * URL);
 void * <a href="#xmlNanoFTPOpen">xmlNanoFTPOpen</a>                    (const char * URL);
-void   <a href="#xmlNanoFTPProxy">xmlNanoFTPProxy</a>                  (const char * host, <br/>             
                           int port, <br/>                                         const char * user, <br/>   
                                     const char * passwd, <br/>                                      int 
type);
+void   <a href="#xmlNanoFTPProxy">xmlNanoFTPProxy</a>                  (const char * host, <br>              
                           int port, <br>                                  const char * user, <br>            
                             const char * passwd, <br>                                       int type);
 int    <a href="#xmlNanoFTPQuit">xmlNanoFTPQuit</a>                    (void * ctx);
-int    <a href="#xmlNanoFTPRead">xmlNanoFTPRead</a>                    (void * ctx, <br/>                    
                   void * dest, <br/>                                      int len);
+int    <a href="#xmlNanoFTPRead">xmlNanoFTPRead</a>                    (void * ctx, <br>                     
                   void * dest, <br>                                       int len);
 void   <a href="#xmlNanoFTPScanProxy">xmlNanoFTPScanProxy</a>          (const char * URL);
-int    <a href="#xmlNanoFTPUpdateURL">xmlNanoFTPUpdateURL</a>          (void * ctx, <br/>                    
                   const char * URL);
-</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="INVALID_SOCKET">Macro </a>INVALID_SOCKET</h3><pre 
class="programlisting">#define <a href="#INVALID_SOCKET">INVALID_SOCKET</a>;
-</pre><p>macro used to provide portability of code to windows sockets the value to be used when the socket 
is not valid</p>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="SOCKET">Macro </a>SOCKET</h3><pre 
class="programlisting">#define <a href="#SOCKET">SOCKET</a>;
-</pre><p>macro used to provide portability of code to windows sockets</p>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="ftpDataCallback"/>Function type 
ftpDataCallback</h3><pre class="programlisting">void      ftpDataCallback                 (void * userData, 
<br/>                                  const char * data, <br/>                                        int 
len)<br/>
-</pre><p>A callback for the <a href="libxml2-nanoftp.html#xmlNanoFTPGet">xmlNanoFTPGet</a> command.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>userData</tt></i>:</span></td><td>the user provided context</td></tr><tr><td><span 
class="term"><i><tt>data</tt></i>:</span></td><td>the data received</td></tr><tr><td><span 
class="term"><i><tt>len</tt></i>:</span></td><td>its size in bytes</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="ftpListCallback"/>Function type 
ftpListCallback</h3><pre class="programlisting">void      ftpListCallback                 (void * userData, 
<br/>                                  const char * filename, <br/>                                    const 
char * attrib, <br/>                                      const char * owner, <br/>                           
            const char * group, <br/>                                       unsigned long size, <br/>         
                              int links, <br/>                                        int year, <br/>         
                                const char * month, <br/>                                       int day, 
<br/>                                  int hour, <br/>                                         int 
minute)<br/>
-</pre><p>A callback for the <a href="libxml2-nanoftp.html#xmlNanoFTPList">xmlNanoFTPList</a> command. Note 
that only one of year and day:minute are specified.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>userData</tt></i>:</span></td><td>user provided data for the 
callback</td></tr><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>the file name 
(including "-&gt;" when links are shown)</td></tr><tr><td><span 
class="term"><i><tt>attrib</tt></i>:</span></td><td>the <a href="libxml2-SAX.html#attribute">attribute</a> 
string</td></tr><tr><td><span class="term"><i><tt>owner</tt></i>:</span></td><td>the owner 
string</td></tr><tr><td><span class="term"><i><tt>group</tt></i>:</span></td><td>the group 
string</td></tr><tr><td><span class="term"><i><tt>size</tt></i>:</span></td><td>the file 
size</td></tr><tr><td><span class="term"><i><tt>links</tt></i>:</span></td><td>the link 
count</td></tr><tr><td><span class="term"><i><tt>year</tt></i>:</span></td><td>the 
year</td></tr><tr><td><span class="term"><i><tt>month</tt></i>:</span></td><td>the 
month</td></tr><tr><td><span class="
 term"><i><tt>day</tt></i>:</span></td><td>the day</td></tr><tr><td><span 
class="term"><i><tt>hour</tt></i>:</span></td><td>the hour</td></tr><tr><td><span 
class="term"><i><tt>minute</tt></i>:</span></td><td>the minute</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNanoFTPCheckResponse"/>xmlNanoFTPCheckResponse 
()</h3><pre class="programlisting">int  xmlNanoFTPCheckResponse         (void * ctx)<br/>
-</pre><p>Check if there is a response from the FTP server after a command.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>an FTP context</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the code number, or 
0</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNanoFTPCleanup"/>xmlNanoFTPCleanup ()</h3><pre 
class="programlisting">void     xmlNanoFTPCleanup               (void)<br/>
-</pre><p>Cleanup the FTP protocol layer. This cleanup proxy information.</p>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNanoFTPClose"/>xmlNanoFTPClose ()</h3><pre 
class="programlisting">int  xmlNanoFTPClose                 (void * ctx)<br/>
-</pre><p>Close the connection and both control and transport</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>an FTP context</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 in case of error, 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNanoFTPCloseConnection"/>xmlNanoFTPCloseConnection 
()</h3><pre class="programlisting">int      xmlNanoFTPCloseConnection       (void * ctx)<br/>
-</pre><p>Close the data connection from the server</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>an FTP context</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 in case of error, 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNanoFTPConnect"/>xmlNanoFTPConnect ()</h3><pre 
class="programlisting">int      xmlNanoFTPConnect               (void * ctx)<br/>
-</pre><p>Tries to open a control connection</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>an FTP context</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 in case of error, 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNanoFTPConnectTo"/>xmlNanoFTPConnectTo ()</h3><pre 
class="programlisting">void *       xmlNanoFTPConnectTo             (const char * server, <br/>               
                       int port)<br/>
-</pre><p>Tries to open a control connection to the given server/port</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>server</tt></i>:</span></td><td>an FTP server name</td></tr><tr><td><span 
class="term"><i><tt>port</tt></i>:</span></td><td>the port (use 21 if 0)</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>an fTP context or NULL if it 
failed</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNanoFTPCwd"/>xmlNanoFTPCwd ()</h3><pre 
class="programlisting">int      xmlNanoFTPCwd                   (void * ctx, <br/>                            
           const char * directory)<br/>
-</pre><p>Tries to change the remote directory</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>an FTP context</td></tr><tr><td><span 
class="term"><i><tt>directory</tt></i>:</span></td><td>a directory on the server</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 in case of error, 1 if CWD worked, 0 if it 
failed</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNanoFTPDele"/>xmlNanoFTPDele ()</h3><pre 
class="programlisting">int    xmlNanoFTPDele                  (void * ctx, <br/>                              
         const char * file)<br/>
-</pre><p>Tries to delete an item (file or directory) from server</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>an FTP context</td></tr><tr><td><span 
class="term"><i><tt>file</tt></i>:</span></td><td>a file or directory on the server</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 in case of error, 1 if DELE worked, 0 if it 
failed</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNanoFTPFreeCtxt"/>xmlNanoFTPFreeCtxt ()</h3><pre 
class="programlisting">void   xmlNanoFTPFreeCtxt              (void * ctx)<br/>
-</pre><p>Frees the context after closing the connection.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>an FTP context</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNanoFTPGet"/>xmlNanoFTPGet ()</h3><pre 
class="programlisting">int      xmlNanoFTPGet                   (void * ctx, <br/>                            
           <a href="libxml2-nanoftp.html#ftpDataCallback">ftpDataCallback</a> callback, <br/>                 
                     void * userData, <br/>                                  const char * filename)<br/>
-</pre><p>Fetch the given file from the server. All data are passed back in the callbacks. The last callback 
has a size of 0 block.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>an FTP context</td></tr><tr><td><span 
class="term"><i><tt>callback</tt></i>:</span></td><td>the user callback</td></tr><tr><td><span 
class="term"><i><tt>userData</tt></i>:</span></td><td>the user callback data</td></tr><tr><td><span 
class="term"><i><tt>filename</tt></i>:</span></td><td>the file to retrieve</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 in case of error, 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNanoFTPGetConnection"/>xmlNanoFTPGetConnection 
()</h3><pre class="programlisting"><a href="libxml2-nanoftp.html#SOCKET">SOCKET</a>     
xmlNanoFTPGetConnection         (void * ctx)<br/>
-</pre><p>Try to open a data connection to the server. Currently only passive mode is supported.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>an FTP context</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 in case of error, 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNanoFTPGetResponse"/>xmlNanoFTPGetResponse 
()</h3><pre class="programlisting">int      xmlNanoFTPGetResponse           (void * ctx)<br/>
-</pre><p>Get the response from the FTP server after a command.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>an FTP context</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the code number</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNanoFTPGetSocket"/>xmlNanoFTPGetSocket ()</h3><pre 
class="programlisting"><a href="libxml2-nanoftp.html#SOCKET">SOCKET</a>     xmlNanoFTPGetSocket             
(void * ctx, <br/>                                       const char * filename)<br/>
-</pre><p>Initiate fetch of the given file from the server.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>an FTP context</td></tr><tr><td><span 
class="term"><i><tt>filename</tt></i>:</span></td><td>the file to retrieve (or NULL if path is in 
context).</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the socket for the data 
connection, or &lt;0 in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNanoFTPInit"/>xmlNanoFTPInit ()</h3><pre 
class="programlisting">void   xmlNanoFTPInit                  (void)<br/>
-</pre><p>Initialize the FTP protocol layer. Currently it just checks for proxy information, and get the 
hostname</p>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNanoFTPList"/>xmlNanoFTPList ()</h3><pre 
class="programlisting">int    xmlNanoFTPList                  (void * ctx, <br/>                              
         <a href="libxml2-nanoftp.html#ftpListCallback">ftpListCallback</a> callback, <br/>                   
                   void * userData, <br/>                                  const char * filename)<br/>
-</pre><p>Do a listing on the server. All files info are passed back in the callbacks.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>an FTP context</td></tr><tr><td><span 
class="term"><i><tt>callback</tt></i>:</span></td><td>the user callback</td></tr><tr><td><span 
class="term"><i><tt>userData</tt></i>:</span></td><td>the user callback data</td></tr><tr><td><span 
class="term"><i><tt>filename</tt></i>:</span></td><td>optional files to list</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 in case of error, 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNanoFTPNewCtxt"/>xmlNanoFTPNewCtxt ()</h3><pre 
class="programlisting">void *   xmlNanoFTPNewCtxt               (const char * URL)<br/>
-</pre><p>Allocate and initialize a new FTP context.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>URL</tt></i>:</span></td><td>The URL used to initialize the 
context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>an FTP context or NULL in 
case of error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNanoFTPOpen"/>xmlNanoFTPOpen ()</h3><pre 
class="programlisting">void * xmlNanoFTPOpen                  (const char * URL)<br/>
-</pre><p>Start to fetch the given ftp:// resource</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>URL</tt></i>:</span></td><td>the URL to the resource</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>an FTP context, or 
NULL</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNanoFTPProxy"/>xmlNanoFTPProxy ()</h3><pre 
class="programlisting">void xmlNanoFTPProxy                 (const char * host, <br/>                         
               int port, <br/>                                         const char * user, <br/>               
                         const char * passwd, <br/>                                      int type)<br/>
-</pre><p>Setup the FTP proxy information. This can also be done by using ftp_proxy ftp_proxy_user and 
ftp_proxy_password environment variables.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>host</tt></i>:</span></td><td>the proxy host name</td></tr><tr><td><span 
class="term"><i><tt>port</tt></i>:</span></td><td>the proxy port</td></tr><tr><td><span 
class="term"><i><tt>user</tt></i>:</span></td><td>the proxy user name</td></tr><tr><td><span 
class="term"><i><tt>passwd</tt></i>:</span></td><td>the proxy password</td></tr><tr><td><span 
class="term"><i><tt>type</tt></i>:</span></td><td>the type of proxy 1 for using SITE, 2 for USER 
a@b</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNanoFTPQuit"/>xmlNanoFTPQuit ()</h3><pre 
class="programlisting">int    xmlNanoFTPQuit                  (void * ctx)<br/>
-</pre><p>Send a QUIT command to the server</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>an FTP context</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 in case of error, 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNanoFTPRead"/>xmlNanoFTPRead ()</h3><pre 
class="programlisting">int    xmlNanoFTPRead                  (void * ctx, <br/>                              
         void * dest, <br/>                                      int len)<br/>
-</pre><p>This function tries to read @len bytes from the existing FTP connection and saves them in @dest. 
This is a blocking call.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>the FTP context</td></tr><tr><td><span 
class="term"><i><tt>dest</tt></i>:</span></td><td>a buffer</td></tr><tr><td><span 
class="term"><i><tt>len</tt></i>:</span></td><td>the buffer length</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of byte read. 0 is an indication of an end of 
connection. -1 indicates a parameter error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNanoFTPScanProxy"/>xmlNanoFTPScanProxy ()</h3><pre 
class="programlisting">void xmlNanoFTPScanProxy             (const char * URL)<br/>
-</pre><p>(Re)Initialize the FTP Proxy context by parsing the URL and finding the protocol host port it 
indicates. Should be like ftp://myproxy/ or ftp://myproxy:3128/ A NULL URL cleans up proxy information.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>URL</tt></i>:</span></td><td>The proxy URL used to initialize the proxy 
context</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNanoFTPUpdateURL"/>xmlNanoFTPUpdateURL ()</h3><pre 
class="programlisting">int  xmlNanoFTPUpdateURL             (void * ctx, <br/>                                
       const char * URL)<br/>
-</pre><p>Update an FTP context by parsing the URL and finding new path it indicates. If there is an error in 
the protocol, hostname, port or other information, the error is raised. It indicates a new connection has to 
be established.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>an FTP context</td></tr><tr><td><span 
class="term"><i><tt>URL</tt></i>:</span></td><td>The URL used to update the context</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if Ok, -1 in case of error (other 
host).</td></tr></tbody></table></div></div>
-        <hr/>
-      </div>
-    </div>
-  </body>
+int    <a href="#xmlNanoFTPUpdateURL">xmlNanoFTPUpdateURL</a>          (void * ctx, <br>                     
                   const char * URL);
+</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="INVALID_SOCKET">Macro </a>INVALID_SOCKET</h3>
+<pre class="programlisting">#define <a href="#INVALID_SOCKET">INVALID_SOCKET</a>;
+</pre>
+<p>macro used to provide portability of code to windows sockets the value to be used when the socket is not 
valid</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="SOCKET">Macro </a>SOCKET</h3>
+<pre class="programlisting">#define <a href="#SOCKET">SOCKET</a>;
+</pre>
+<p>macro used to provide portability of code to windows sockets</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="ftpDataCallback"></a>Function type ftpDataCallback</h3>
+<pre class="programlisting">void       ftpDataCallback                 (void * userData, <br>                
                   const char * data, <br>                                         int len)<br>
+</pre>
+<p>A callback for the <a href="libxml2-nanoftp.html#xmlNanoFTPGet">xmlNanoFTPGet</a> command.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>userData</tt></i>:</span></td>
+<td>the user provided context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>data</tt></i>:</span></td>
+<td>the data received</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>len</tt></i>:</span></td>
+<td>its size in bytes</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="ftpListCallback"></a>Function type ftpListCallback</h3>
+<pre class="programlisting">void       ftpListCallback                 (void * userData, <br>                
                   const char * filename, <br>                                     const char * attrib, <br>  
                                     const char * owner, <br>                                        const 
char * group, <br>                                        unsigned long size, <br>                            
            int links, <br>                                         int year, <br>                            
      const char * month, <br>                                        int day, <br>                           
        int hour, <br>                                  int minute)<br>
+</pre>
+<p>A callback for the <a href="libxml2-nanoftp.html#xmlNanoFTPList">xmlNanoFTPList</a> command. Note that 
only one of year and day:minute are specified.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>userData</tt></i>:</span></td>
+<td>user provided data for the callback</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>filename</tt></i>:</span></td>
+<td>the file name (including "-&gt;" when links are shown)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>attrib</tt></i>:</span></td>
+<td>the <a href="libxml2-SAX.html#attribute">attribute</a> string</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>owner</tt></i>:</span></td>
+<td>the owner string</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>group</tt></i>:</span></td>
+<td>the group string</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>size</tt></i>:</span></td>
+<td>the file size</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>links</tt></i>:</span></td>
+<td>the link count</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>year</tt></i>:</span></td>
+<td>the year</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>month</tt></i>:</span></td>
+<td>the month</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>day</tt></i>:</span></td>
+<td>the day</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>hour</tt></i>:</span></td>
+<td>the hour</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>minute</tt></i>:</span></td>
+<td>the minute</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNanoFTPCheckResponse"></a>xmlNanoFTPCheckResponse ()</h3>
+<pre class="programlisting">int        xmlNanoFTPCheckResponse         (void * ctx)<br>
+</pre>
+<p>Check if there is a response from the FTP server after a command.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>an FTP context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the code number, or 0</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNanoFTPCleanup"></a>xmlNanoFTPCleanup ()</h3>
+<pre class="programlisting">void       xmlNanoFTPCleanup               (void)<br>
+</pre>
+<p>Cleanup the FTP protocol layer. This cleanup proxy information.</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNanoFTPClose"></a>xmlNanoFTPClose ()</h3>
+<pre class="programlisting">int        xmlNanoFTPClose                 (void * ctx)<br>
+</pre>
+<p>Close the connection and both control and transport</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>an FTP context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>-1 in case of error, 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNanoFTPCloseConnection"></a>xmlNanoFTPCloseConnection ()</h3>
+<pre class="programlisting">int        xmlNanoFTPCloseConnection       (void * ctx)<br>
+</pre>
+<p>Close the data connection from the server</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>an FTP context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>-1 in case of error, 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNanoFTPConnect"></a>xmlNanoFTPConnect ()</h3>
+<pre class="programlisting">int        xmlNanoFTPConnect               (void * ctx)<br>
+</pre>
+<p>Tries to open a control connection</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>an FTP context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>-1 in case of error, 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNanoFTPConnectTo"></a>xmlNanoFTPConnectTo ()</h3>
+<pre class="programlisting">void *     xmlNanoFTPConnectTo             (const char * server, <br>            
                           int port)<br>
+</pre>
+<p>Tries to open a control connection to the given server/port</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>server</tt></i>:</span></td>
+<td>an FTP server name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>port</tt></i>:</span></td>
+<td>the port (use 21 if 0)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>an fTP context or NULL if it failed</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNanoFTPCwd"></a>xmlNanoFTPCwd ()</h3>
+<pre class="programlisting">int        xmlNanoFTPCwd                   (void * ctx, <br>                     
                   const char * directory)<br>
+</pre>
+<p>Tries to change the remote directory</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>an FTP context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>directory</tt></i>:</span></td>
+<td>a directory on the server</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>-1 in case of error, 1 if CWD worked, 0 if it failed</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNanoFTPDele"></a>xmlNanoFTPDele ()</h3>
+<pre class="programlisting">int        xmlNanoFTPDele                  (void * ctx, <br>                     
                   const char * file)<br>
+</pre>
+<p>Tries to delete an item (file or directory) from server</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>an FTP context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>file</tt></i>:</span></td>
+<td>a file or directory on the server</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>-1 in case of error, 1 if DELE worked, 0 if it failed</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNanoFTPFreeCtxt"></a>xmlNanoFTPFreeCtxt ()</h3>
+<pre class="programlisting">void       xmlNanoFTPFreeCtxt              (void * ctx)<br>
+</pre>
+<p>Frees the context after closing the connection.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>an FTP context</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNanoFTPGet"></a>xmlNanoFTPGet ()</h3>
+<pre class="programlisting">int        xmlNanoFTPGet                   (void * ctx, <br>                     
                   <a href="libxml2-nanoftp.html#ftpDataCallback">ftpDataCallback</a> callback, <br>          
                             void * userData, <br>                                   const char * 
filename)<br>
+</pre>
+<p>Fetch the given file from the server. All data are passed back in the callbacks. The last callback has a 
size of 0 block.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>an FTP context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>callback</tt></i>:</span></td>
+<td>the user callback</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>userData</tt></i>:</span></td>
+<td>the user callback data</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>filename</tt></i>:</span></td>
+<td>the file to retrieve</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>-1 in case of error, 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNanoFTPGetConnection"></a>xmlNanoFTPGetConnection ()</h3>
+<pre class="programlisting"><a href="libxml2-nanoftp.html#SOCKET">SOCKET</a>   xmlNanoFTPGetConnection       
  (void * ctx)<br>
+</pre>
+<p>Try to open a data connection to the server. Currently only passive mode is supported.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>an FTP context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>-1 in case of error, 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNanoFTPGetResponse"></a>xmlNanoFTPGetResponse ()</h3>
+<pre class="programlisting">int        xmlNanoFTPGetResponse           (void * ctx)<br>
+</pre>
+<p>Get the response from the FTP server after a command.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>an FTP context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the code number</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNanoFTPGetSocket"></a>xmlNanoFTPGetSocket ()</h3>
+<pre class="programlisting"><a href="libxml2-nanoftp.html#SOCKET">SOCKET</a>   xmlNanoFTPGetSocket           
  (void * ctx, <br>                                        const char * filename)<br>
+</pre>
+<p>Initiate fetch of the given file from the server.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>an FTP context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>filename</tt></i>:</span></td>
+<td>the file to retrieve (or NULL if path is in context).</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the socket for the data connection, or &lt;0 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNanoFTPInit"></a>xmlNanoFTPInit ()</h3>
+<pre class="programlisting">void       xmlNanoFTPInit                  (void)<br>
+</pre>
+<p>Initialize the FTP protocol layer. Currently it just checks for proxy information, and get the 
hostname</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNanoFTPList"></a>xmlNanoFTPList ()</h3>
+<pre class="programlisting">int        xmlNanoFTPList                  (void * ctx, <br>                     
                   <a href="libxml2-nanoftp.html#ftpListCallback">ftpListCallback</a> callback, <br>          
                             void * userData, <br>                                   const char * 
filename)<br>
+</pre>
+<p>Do a listing on the server. All files info are passed back in the callbacks.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>an FTP context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>callback</tt></i>:</span></td>
+<td>the user callback</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>userData</tt></i>:</span></td>
+<td>the user callback data</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>filename</tt></i>:</span></td>
+<td>optional files to list</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>-1 in case of error, 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNanoFTPNewCtxt"></a>xmlNanoFTPNewCtxt ()</h3>
+<pre class="programlisting">void *     xmlNanoFTPNewCtxt               (const char * URL)<br>
+</pre>
+<p>Allocate and initialize a new FTP context.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>URL</tt></i>:</span></td>
+<td>The URL used to initialize the context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>an FTP context or NULL in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNanoFTPOpen"></a>xmlNanoFTPOpen ()</h3>
+<pre class="programlisting">void *     xmlNanoFTPOpen                  (const char * URL)<br>
+</pre>
+<p>Start to fetch the given ftp:// resource</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>URL</tt></i>:</span></td>
+<td>the URL to the resource</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>an FTP context, or NULL</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNanoFTPProxy"></a>xmlNanoFTPProxy ()</h3>
+<pre class="programlisting">void       xmlNanoFTPProxy                 (const char * host, <br>              
                           int port, <br>                                  const char * user, <br>            
                             const char * passwd, <br>                                       int type)<br>
+</pre>
+<p>Setup the FTP proxy information. This can also be done by using ftp_proxy ftp_proxy_user and 
ftp_proxy_password environment variables.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>host</tt></i>:</span></td>
+<td>the proxy host name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>port</tt></i>:</span></td>
+<td>the proxy port</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>user</tt></i>:</span></td>
+<td>the proxy user name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>passwd</tt></i>:</span></td>
+<td>the proxy password</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>type</tt></i>:</span></td>
+<td>the type of proxy 1 for using SITE, 2 for USER a@b</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNanoFTPQuit"></a>xmlNanoFTPQuit ()</h3>
+<pre class="programlisting">int        xmlNanoFTPQuit                  (void * ctx)<br>
+</pre>
+<p>Send a QUIT command to the server</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>an FTP context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>-1 in case of error, 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNanoFTPRead"></a>xmlNanoFTPRead ()</h3>
+<pre class="programlisting">int        xmlNanoFTPRead                  (void * ctx, <br>                     
                   void * dest, <br>                                       int len)<br>
+</pre>
+<p>This function tries to read @len bytes from the existing FTP connection and saves them in @dest. This is 
a blocking call.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>the FTP context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>dest</tt></i>:</span></td>
+<td>a buffer</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>len</tt></i>:</span></td>
+<td>the buffer length</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the number of byte read. 0 is an indication of an end of connection. -1 indicates a parameter error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNanoFTPScanProxy"></a>xmlNanoFTPScanProxy ()</h3>
+<pre class="programlisting">void       xmlNanoFTPScanProxy             (const char * URL)<br>
+</pre>
+<p>(Re)Initialize the FTP Proxy context by parsing the URL and finding the protocol host port it indicates. 
Should be like ftp://myproxy/ or ftp://myproxy:3128/ A NULL URL cleans up proxy information.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>URL</tt></i>:</span></td>
+<td>The proxy URL used to initialize the proxy context</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNanoFTPUpdateURL"></a>xmlNanoFTPUpdateURL ()</h3>
+<pre class="programlisting">int        xmlNanoFTPUpdateURL             (void * ctx, <br>                     
                   const char * URL)<br>
+</pre>
+<p>Update an FTP context by parsing the URL and finding new path it indicates. If there is an error in the 
protocol, hostname, port or other information, the error is raised. It indicates a new connection has to be 
established.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>an FTP context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>URL</tt></i>:</span></td>
+<td>The URL used to update the context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 if Ok, -1 in case of error (other host).</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+</div>
+</div>
+</body>
 </html>
diff --git a/doc/devhelp/libxml2-nanohttp.html b/doc/devhelp/libxml2-nanohttp.html
index f186d61b..aa382eac 100644
--- a/doc/devhelp/libxml2-nanohttp.html
+++ b/doc/devhelp/libxml2-nanohttp.html
@@ -1,142 +1,446 @@
-<?xml version="1.0" encoding="UTF-8"?>
 <html>
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
-    <title>nanohttp: minimal HTTP implementation</title>
-    <meta name="generator" content="Libxml2 devhelp stylesheet"/>
-    <link rel="start" href="index.html" title="libxml2 Reference Manual"/>
-    <link rel="up" href="general.html" title="API"/>
-    <link rel="stylesheet" href="style.css" type="text/css"/>
-    <link rel="chapter" href="general.html" title="API"/>
-  </head>
-  <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-    <table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
-      <tr valign="middle">
-        <td>
-          <a accesskey="p" href="libxml2-nanoftp.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>
-        <th width="100%" align="center">libxml2 Reference Manual</th>
-      </tr>
-    </table>
-    <h2>
-      <span class="refentrytitle">nanohttp</span>
-    </h2>
-    <p>nanohttp - minimal HTTP implementation</p>
-    <p>minimal HTTP implementation allowing to fetch resources like external subset. </p>
-    <p>Author(s): Daniel Veillard </p>
-    <div class="refsynopsisdiv">
-      <h2>Synopsis</h2>
-      <pre class="synopsis">const char *       <a href="#xmlNanoHTTPAuthHeader">xmlNanoHTTPAuthHeader</a>    
  (void * ctx);
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>nanohttp: minimal HTTP implementation</title>
+<meta name="generator" content="Libxml2 devhelp stylesheet">
+<link rel="start" href="index.html" title="libxml2 Reference Manual">
+<link rel="up" href="general.html" title="API">
+<link rel="stylesheet" href="style.css" type="text/css">
+<link rel="chapter" href="general.html" title="API">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr 
valign="middle">
+<td><a accesskey="p" href="libxml2-nanoftp.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>
+<th width="100%" align="center">libxml2 Reference Manual</th>
+</tr></table>
+<h2><span class="refentrytitle">nanohttp</span></h2>
+<p>nanohttp - minimal HTTP implementation</p>
+<p>minimal HTTP implementation allowing to fetch resources like external subset. </p>
+<p>Author(s): Daniel Veillard </p>
+<div class="refsynopsisdiv">
+<h2>Synopsis</h2>
+<pre class="synopsis">const char *     <a href="#xmlNanoHTTPAuthHeader">xmlNanoHTTPAuthHeader</a>      (void 
* ctx);
 void   <a href="#xmlNanoHTTPCleanup">xmlNanoHTTPCleanup</a>            (void);
 void   <a href="#xmlNanoHTTPClose">xmlNanoHTTPClose</a>                (void * ctx);
 int    <a href="#xmlNanoHTTPContentLength">xmlNanoHTTPContentLength</a>        (void * ctx);
 const char *   <a href="#xmlNanoHTTPEncoding">xmlNanoHTTPEncoding</a>  (void * ctx);
-int    <a href="#xmlNanoHTTPFetch">xmlNanoHTTPFetch</a>                (const char * URL, <br/>              
                           const char * filename, <br/>                                    char ** 
contentType);
+int    <a href="#xmlNanoHTTPFetch">xmlNanoHTTPFetch</a>                (const char * URL, <br>               
                   const char * filename, <br>                                     char ** contentType);
 void   <a href="#xmlNanoHTTPInit">xmlNanoHTTPInit</a>                  (void);
-void * <a href="#xmlNanoHTTPMethod">xmlNanoHTTPMethod</a>              (const char * URL, <br/>              
                           const char * method, <br/>                                      const char * 
input, <br/>                                       char ** contentType, <br/>                                 
     const char * headers, <br/>                                     int ilen);
-void * <a href="#xmlNanoHTTPMethodRedir">xmlNanoHTTPMethodRedir</a>            (const char * URL, <br/>      
                                   const char * method, <br/>                                      const char 
* input, <br/>                                       char ** contentType, <br/>                               
       char ** redir, <br/>                                    const char * headers, <br/>                    
                 int ilen);
+void * <a href="#xmlNanoHTTPMethod">xmlNanoHTTPMethod</a>              (const char * URL, <br>               
                   const char * method, <br>                                       const char * input, <br>   
                                     char ** contentType, <br>                                       const 
char * headers, <br>                                      int ilen);
+void * <a href="#xmlNanoHTTPMethodRedir">xmlNanoHTTPMethodRedir</a>            (const char * URL, <br>       
                           const char * method, <br>                                       const char * 
input, <br>                                        char ** contentType, <br>                                  
     char ** redir, <br>                                     const char * headers, <br>                       
               int ilen);
 const char *   <a href="#xmlNanoHTTPMimeType">xmlNanoHTTPMimeType</a>  (void * ctx);
-void * <a href="#xmlNanoHTTPOpen">xmlNanoHTTPOpen</a>                  (const char * URL, <br/>              
                           char ** contentType);
-void * <a href="#xmlNanoHTTPOpenRedir">xmlNanoHTTPOpenRedir</a>                (const char * URL, <br/>      
                                   char ** contentType, <br/>                                      char ** 
redir);
-int    <a href="#xmlNanoHTTPRead">xmlNanoHTTPRead</a>                  (void * ctx, <br/>                    
                   void * dest, <br/>                                      int len);
+void * <a href="#xmlNanoHTTPOpen">xmlNanoHTTPOpen</a>                  (const char * URL, <br>               
                   char ** contentType);
+void * <a href="#xmlNanoHTTPOpenRedir">xmlNanoHTTPOpenRedir</a>                (const char * URL, <br>       
                           char ** contentType, <br>                                       char ** redir);
+int    <a href="#xmlNanoHTTPRead">xmlNanoHTTPRead</a>                  (void * ctx, <br>                     
                   void * dest, <br>                                       int len);
 const char *   <a href="#xmlNanoHTTPRedir">xmlNanoHTTPRedir</a>        (void * ctx);
 int    <a href="#xmlNanoHTTPReturnCode">xmlNanoHTTPReturnCode</a>              (void * ctx);
-int    <a href="#xmlNanoHTTPSave">xmlNanoHTTPSave</a>                  (void * ctxt, <br/>                   
                   const char * filename);
+int    <a href="#xmlNanoHTTPSave">xmlNanoHTTPSave</a>                  (void * ctxt, <br>                    
                   const char * filename);
 void   <a href="#xmlNanoHTTPScanProxy">xmlNanoHTTPScanProxy</a>                (const char * URL);
 </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="xmlNanoHTTPAuthHeader"/>xmlNanoHTTPAuthHeader 
()</h3><pre class="programlisting">const char *     xmlNanoHTTPAuthHeader   (void * ctx)<br/>
-</pre><p>Get the authentication header of an HTTP context</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>the HTTP context</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the stashed value of the WWW-Authenticate or 
Proxy-Authenticate header.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNanoHTTPCleanup"/>xmlNanoHTTPCleanup ()</h3><pre 
class="programlisting">void   xmlNanoHTTPCleanup              (void)<br/>
-</pre><p>Cleanup the HTTP protocol layer.</p>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNanoHTTPClose"/>xmlNanoHTTPClose ()</h3><pre 
class="programlisting">void       xmlNanoHTTPClose                (void * ctx)<br/>
-</pre><p>This function closes an HTTP context, it ends up the connection and free all data related to it.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>the HTTP context</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNanoHTTPContentLength"/>xmlNanoHTTPContentLength 
()</h3><pre class="programlisting">int        xmlNanoHTTPContentLength        (void * ctx)<br/>
-</pre><p>Provides the specified content length from the HTTP header.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>the HTTP context</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the specified content length from the HTTP header. Note 
that a value of -1 indicates that the content length element was not included in the response 
header.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNanoHTTPEncoding"/>xmlNanoHTTPEncoding ()</h3><pre 
class="programlisting">const char * xmlNanoHTTPEncoding     (void * ctx)<br/>
-</pre><p>Provides the specified encoding if specified in the HTTP headers.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>the HTTP context</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the specified encoding or NULL if not 
available</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNanoHTTPFetch"/>xmlNanoHTTPFetch ()</h3><pre 
class="programlisting">int        xmlNanoHTTPFetch                (const char * URL, <br/>                    
                     const char * filename, <br/>                                    char ** contentType)<br/>
-</pre><p>This function try to fetch the indicated resource via HTTP GET and save it's content in the 
file.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>URL</tt></i>:</span></td><td>The URL to load</td></tr><tr><td><span 
class="term"><i><tt>filename</tt></i>:</span></td><td>the filename where the content should be 
saved</td></tr><tr><td><span class="term"><i><tt>contentType</tt></i>:</span></td><td>if available the 
Content-Type information will be returned at that location</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 in case of failure, 0 in case of success. The 
contentType, if provided must be freed by the caller</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNanoHTTPInit"/>xmlNanoHTTPInit ()</h3><pre 
class="programlisting">void xmlNanoHTTPInit                 (void)<br/>
-</pre><p>Initialize the HTTP protocol layer. Currently it just checks for proxy information</p>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNanoHTTPMethod"/>xmlNanoHTTPMethod ()</h3><pre 
class="programlisting">void *   xmlNanoHTTPMethod               (const char * URL, <br/>                      
                   const char * method, <br/>                                      const char * input, <br/>  
                                     char ** contentType, <br/>                                      const 
char * headers, <br/>                                     int ilen)<br/>
-</pre><p>This function try to open a connection to the indicated resource via HTTP using the given @method, 
adding the given extra headers and the input buffer for the request content.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>URL</tt></i>:</span></td><td>The URL to load</td></tr><tr><td><span 
class="term"><i><tt>method</tt></i>:</span></td><td>the HTTP method to use</td></tr><tr><td><span 
class="term"><i><tt>input</tt></i>:</span></td><td>the input string if any</td></tr><tr><td><span 
class="term"><i><tt>contentType</tt></i>:</span></td><td>the Content-Type information IN and 
OUT</td></tr><tr><td><span class="term"><i><tt>headers</tt></i>:</span></td><td>the extra 
headers</td></tr><tr><td><span class="term"><i><tt>ilen</tt></i>:</span></td><td>input 
length</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>NULL in case of failure, 
otherwise a request handler. The contentType, if provided must be freed by the 
caller</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNanoHTTPMethodRedir"/>xmlNanoHTTPMethodRedir 
()</h3><pre class="programlisting">void * xmlNanoHTTPMethodRedir          (const char * URL, <br/>            
                             const char * method, <br/>                                      const char * 
input, <br/>                                       char ** contentType, <br/>                                 
     char ** redir, <br/>                                    const char * headers, <br/>                      
               int ilen)<br/>
-</pre><p>This function try to open a connection to the indicated resource via HTTP using the given @method, 
adding the given extra headers and the input buffer for the request content.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>URL</tt></i>:</span></td><td>The URL to load</td></tr><tr><td><span 
class="term"><i><tt>method</tt></i>:</span></td><td>the HTTP method to use</td></tr><tr><td><span 
class="term"><i><tt>input</tt></i>:</span></td><td>the input string if any</td></tr><tr><td><span 
class="term"><i><tt>contentType</tt></i>:</span></td><td>the Content-Type information IN and 
OUT</td></tr><tr><td><span class="term"><i><tt>redir</tt></i>:</span></td><td>the redirected URL 
OUT</td></tr><tr><td><span class="term"><i><tt>headers</tt></i>:</span></td><td>the extra 
headers</td></tr><tr><td><span class="term"><i><tt>ilen</tt></i>:</span></td><td>input 
length</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>NULL in case of failure, 
otherwise a request handler. The contentType, or redir, if provided must be freed by the 
caller</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNanoHTTPMimeType"/>xmlNanoHTTPMimeType ()</h3><pre 
class="programlisting">const char * xmlNanoHTTPMimeType     (void * ctx)<br/>
-</pre><p>Provides the specified Mime-Type if specified in the HTTP headers.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>the HTTP context</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the specified Mime-Type or NULL if not 
available</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNanoHTTPOpen"/>xmlNanoHTTPOpen ()</h3><pre 
class="programlisting">void *       xmlNanoHTTPOpen                 (const char * URL, <br/>                  
                       char ** contentType)<br/>
-</pre><p>This function try to open a connection to the indicated resource via HTTP GET.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>URL</tt></i>:</span></td><td>The URL to load</td></tr><tr><td><span 
class="term"><i><tt>contentType</tt></i>:</span></td><td>if available the Content-Type information will be 
returned at that location</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>NULL in 
case of failure, otherwise a request handler. The contentType, if provided must be freed by the 
caller</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNanoHTTPOpenRedir"/>xmlNanoHTTPOpenRedir ()</h3><pre 
class="programlisting">void *     xmlNanoHTTPOpenRedir            (const char * URL, <br/>                    
                     char ** contentType, <br/>                                      char ** redir)<br/>
-</pre><p>This function try to open a connection to the indicated resource via HTTP GET.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>URL</tt></i>:</span></td><td>The URL to load</td></tr><tr><td><span 
class="term"><i><tt>contentType</tt></i>:</span></td><td>if available the Content-Type information will be 
returned at that location</td></tr><tr><td><span class="term"><i><tt>redir</tt></i>:</span></td><td>if 
available the redirected URL will be returned</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>NULL in case of failure, otherwise a request handler. 
The contentType, if provided must be freed by the caller</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNanoHTTPRead"/>xmlNanoHTTPRead ()</h3><pre 
class="programlisting">int  xmlNanoHTTPRead                 (void * ctx, <br/>                                
       void * dest, <br/>                                      int len)<br/>
-</pre><p>This function tries to read @len bytes from the existing HTTP connection and saves them in @dest. 
This is a blocking call.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>the HTTP context</td></tr><tr><td><span 
class="term"><i><tt>dest</tt></i>:</span></td><td>a buffer</td></tr><tr><td><span 
class="term"><i><tt>len</tt></i>:</span></td><td>the buffer length</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of byte read. 0 is an indication of an end of 
connection. -1 indicates a parameter error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNanoHTTPRedir"/>xmlNanoHTTPRedir ()</h3><pre 
class="programlisting">const char *       xmlNanoHTTPRedir        (void * ctx)<br/>
-</pre><p>Provides the specified redirection URL if available from the HTTP header.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>the HTTP context</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the specified redirection URL or NULL if not 
redirected.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNanoHTTPReturnCode"/>xmlNanoHTTPReturnCode 
()</h3><pre class="programlisting">int      xmlNanoHTTPReturnCode           (void * ctx)<br/>
-</pre><p>Get the latest HTTP return code received</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>the HTTP context</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the HTTP return code for the 
request.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNanoHTTPSave"/>xmlNanoHTTPSave ()</h3><pre 
class="programlisting">int  xmlNanoHTTPSave                 (void * ctxt, <br/>                               
       const char * filename)<br/>
-</pre><p>This function saves the output of the HTTP transaction to a file It closes and free the context at 
the end</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 HTTP context</td></tr><tr><td><span 
class="term"><i><tt>filename</tt></i>:</span></td><td>the filename where the content should be 
saved</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 in case of failure, 0 in 
case of success.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNanoHTTPScanProxy"/>xmlNanoHTTPScanProxy ()</h3><pre 
class="programlisting">void       xmlNanoHTTPScanProxy            (const char * URL)<br/>
-</pre><p>(Re)Initialize the HTTP Proxy context by parsing the URL and finding the protocol host port it 
indicates. Should be like http://myproxy/ or http://myproxy:3128/ A NULL URL cleans up proxy information.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>URL</tt></i>:</span></td><td>The proxy URL used to initialize the proxy 
context</td></tr></tbody></table></div></div>
-        <hr/>
-      </div>
-    </div>
-  </body>
+</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="xmlNanoHTTPAuthHeader"></a>xmlNanoHTTPAuthHeader ()</h3>
+<pre class="programlisting">const char *       xmlNanoHTTPAuthHeader   (void * ctx)<br>
+</pre>
+<p>Get the authentication header of an HTTP context</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>the HTTP context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the stashed value of the WWW-Authenticate or Proxy-Authenticate header.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNanoHTTPCleanup"></a>xmlNanoHTTPCleanup ()</h3>
+<pre class="programlisting">void       xmlNanoHTTPCleanup              (void)<br>
+</pre>
+<p>Cleanup the HTTP protocol layer.</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNanoHTTPClose"></a>xmlNanoHTTPClose ()</h3>
+<pre class="programlisting">void       xmlNanoHTTPClose                (void * ctx)<br>
+</pre>
+<p>This function closes an HTTP context, it ends up the connection and free all data related to it.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>the HTTP context</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNanoHTTPContentLength"></a>xmlNanoHTTPContentLength ()</h3>
+<pre class="programlisting">int        xmlNanoHTTPContentLength        (void * ctx)<br>
+</pre>
+<p>Provides the specified content length from the HTTP header.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>the HTTP context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the specified content length from the HTTP header. Note that a value of -1 indicates that the content 
length element was not included in the response header.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNanoHTTPEncoding"></a>xmlNanoHTTPEncoding ()</h3>
+<pre class="programlisting">const char *       xmlNanoHTTPEncoding     (void * ctx)<br>
+</pre>
+<p>Provides the specified encoding if specified in the HTTP headers.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>the HTTP context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the specified encoding or NULL if not available</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNanoHTTPFetch"></a>xmlNanoHTTPFetch ()</h3>
+<pre class="programlisting">int        xmlNanoHTTPFetch                (const char * URL, <br>               
                   const char * filename, <br>                                     char ** contentType)<br>
+</pre>
+<p>This function try to fetch the indicated resource via HTTP GET and save it's content in the file.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>URL</tt></i>:</span></td>
+<td>The URL to load</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>filename</tt></i>:</span></td>
+<td>the filename where the content should be saved</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>contentType</tt></i>:</span></td>
+<td>if available the Content-Type information will be returned at that location</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>-1 in case of failure, 0 in case of success. The contentType, if provided must be freed by the 
caller</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNanoHTTPInit"></a>xmlNanoHTTPInit ()</h3>
+<pre class="programlisting">void       xmlNanoHTTPInit                 (void)<br>
+</pre>
+<p>Initialize the HTTP protocol layer. Currently it just checks for proxy information</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNanoHTTPMethod"></a>xmlNanoHTTPMethod ()</h3>
+<pre class="programlisting">void *     xmlNanoHTTPMethod               (const char * URL, <br>               
                   const char * method, <br>                                       const char * input, <br>   
                                     char ** contentType, <br>                                       const 
char * headers, <br>                                      int ilen)<br>
+</pre>
+<p>This function try to open a connection to the indicated resource via HTTP using the given @method, adding 
the given extra headers and the input buffer for the request content.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>URL</tt></i>:</span></td>
+<td>The URL to load</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>method</tt></i>:</span></td>
+<td>the HTTP method to use</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>input</tt></i>:</span></td>
+<td>the input string if any</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>contentType</tt></i>:</span></td>
+<td>the Content-Type information IN and OUT</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>headers</tt></i>:</span></td>
+<td>the extra headers</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ilen</tt></i>:</span></td>
+<td>input length</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>NULL in case of failure, otherwise a request handler. The contentType, if provided must be freed by the 
caller</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNanoHTTPMethodRedir"></a>xmlNanoHTTPMethodRedir ()</h3>
+<pre class="programlisting">void *     xmlNanoHTTPMethodRedir          (const char * URL, <br>               
                   const char * method, <br>                                       const char * input, <br>   
                                     char ** contentType, <br>                                       char ** 
redir, <br>                                     const char * headers, <br>                                    
  int ilen)<br>
+</pre>
+<p>This function try to open a connection to the indicated resource via HTTP using the given @method, adding 
the given extra headers and the input buffer for the request content.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>URL</tt></i>:</span></td>
+<td>The URL to load</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>method</tt></i>:</span></td>
+<td>the HTTP method to use</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>input</tt></i>:</span></td>
+<td>the input string if any</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>contentType</tt></i>:</span></td>
+<td>the Content-Type information IN and OUT</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>redir</tt></i>:</span></td>
+<td>the redirected URL OUT</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>headers</tt></i>:</span></td>
+<td>the extra headers</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ilen</tt></i>:</span></td>
+<td>input length</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>NULL in case of failure, otherwise a request handler. The contentType, or redir, if provided must be 
freed by the caller</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNanoHTTPMimeType"></a>xmlNanoHTTPMimeType ()</h3>
+<pre class="programlisting">const char *       xmlNanoHTTPMimeType     (void * ctx)<br>
+</pre>
+<p>Provides the specified Mime-Type if specified in the HTTP headers.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>the HTTP context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the specified Mime-Type or NULL if not available</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNanoHTTPOpen"></a>xmlNanoHTTPOpen ()</h3>
+<pre class="programlisting">void *     xmlNanoHTTPOpen                 (const char * URL, <br>               
                   char ** contentType)<br>
+</pre>
+<p>This function try to open a connection to the indicated resource via HTTP GET.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>URL</tt></i>:</span></td>
+<td>The URL to load</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>contentType</tt></i>:</span></td>
+<td>if available the Content-Type information will be returned at that location</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>NULL in case of failure, otherwise a request handler. The contentType, if provided must be freed by the 
caller</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNanoHTTPOpenRedir"></a>xmlNanoHTTPOpenRedir ()</h3>
+<pre class="programlisting">void *     xmlNanoHTTPOpenRedir            (const char * URL, <br>               
                   char ** contentType, <br>                                       char ** redir)<br>
+</pre>
+<p>This function try to open a connection to the indicated resource via HTTP GET.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>URL</tt></i>:</span></td>
+<td>The URL to load</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>contentType</tt></i>:</span></td>
+<td>if available the Content-Type information will be returned at that location</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>redir</tt></i>:</span></td>
+<td>if available the redirected URL will be returned</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>NULL in case of failure, otherwise a request handler. The contentType, if provided must be freed by the 
caller</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNanoHTTPRead"></a>xmlNanoHTTPRead ()</h3>
+<pre class="programlisting">int        xmlNanoHTTPRead                 (void * ctx, <br>                     
                   void * dest, <br>                                       int len)<br>
+</pre>
+<p>This function tries to read @len bytes from the existing HTTP connection and saves them in @dest. This is 
a blocking call.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>the HTTP context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>dest</tt></i>:</span></td>
+<td>a buffer</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>len</tt></i>:</span></td>
+<td>the buffer length</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the number of byte read. 0 is an indication of an end of connection. -1 indicates a parameter error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNanoHTTPRedir"></a>xmlNanoHTTPRedir ()</h3>
+<pre class="programlisting">const char *       xmlNanoHTTPRedir        (void * ctx)<br>
+</pre>
+<p>Provides the specified redirection URL if available from the HTTP header.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>the HTTP context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the specified redirection URL or NULL if not redirected.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNanoHTTPReturnCode"></a>xmlNanoHTTPReturnCode ()</h3>
+<pre class="programlisting">int        xmlNanoHTTPReturnCode           (void * ctx)<br>
+</pre>
+<p>Get the latest HTTP return code received</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>the HTTP context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the HTTP return code for the request.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNanoHTTPSave"></a>xmlNanoHTTPSave ()</h3>
+<pre class="programlisting">int        xmlNanoHTTPSave                 (void * ctxt, <br>                    
                   const char * filename)<br>
+</pre>
+<p>This function saves the output of the HTTP transaction to a file It closes and free the context at the 
end</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 HTTP context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>filename</tt></i>:</span></td>
+<td>the filename where the content should be saved</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>-1 in case of failure, 0 in case of success.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNanoHTTPScanProxy"></a>xmlNanoHTTPScanProxy ()</h3>
+<pre class="programlisting">void       xmlNanoHTTPScanProxy            (const char * URL)<br>
+</pre>
+<p>(Re)Initialize the HTTP Proxy context by parsing the URL and finding the protocol host port it indicates. 
Should be like http://myproxy/ or http://myproxy:3128/ A NULL URL cleans up proxy information.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>URL</tt></i>:</span></td>
+<td>The proxy URL used to initialize the proxy context</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+</div>
+</div>
+</body>
 </html>
diff --git a/doc/devhelp/libxml2-parser.html b/doc/devhelp/libxml2-parser.html
index 3f5a5f04..af1bffdd 100644
--- a/doc/devhelp/libxml2-parser.html
+++ b/doc/devhelp/libxml2-parser.html
@@ -1,49 +1,28 @@
-<?xml version="1.0" encoding="UTF-8"?>
 <html>
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
-    <title>parser: the core parser module</title>
-    <meta name="generator" content="Libxml2 devhelp stylesheet"/>
-    <link rel="start" href="index.html" title="libxml2 Reference Manual"/>
-    <link rel="up" href="general.html" title="API"/>
-    <link rel="stylesheet" href="style.css" type="text/css"/>
-    <link rel="chapter" href="general.html" title="API"/>
-  </head>
-  <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-    <table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
-      <tr valign="middle">
-        <td>
-          <a accesskey="p" href="libxml2-nanohttp.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-parserInternals.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">parser</span>
-    </h2>
-    <p>parser - the core parser module</p>
-    <p>Interfaces, constants and types related to the XML parser </p>
-    <p>Author(s): Daniel Veillard </p>
-    <div class="refsynopsisdiv">
-      <h2>Synopsis</h2>
-      <pre class="synopsis">#define <a href="#XML_COMPLETE_ATTRS">XML_COMPLETE_ATTRS</a>;
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>parser: the core parser module</title>
+<meta name="generator" content="Libxml2 devhelp stylesheet">
+<link rel="start" href="index.html" title="libxml2 Reference Manual">
+<link rel="up" href="general.html" title="API">
+<link rel="stylesheet" href="style.css" type="text/css">
+<link rel="chapter" href="general.html" title="API">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr 
valign="middle">
+<td><a accesskey="p" href="libxml2-nanohttp.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-parserInternals.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">parser</span></h2>
+<p>parser - the core parser module</p>
+<p>Interfaces, constants and types related to the XML parser </p>
+<p>Author(s): Daniel Veillard </p>
+<div class="refsynopsisdiv">
+<h2>Synopsis</h2>
+<pre class="synopsis">#define <a href="#XML_COMPLETE_ATTRS">XML_COMPLETE_ATTRS</a>;
 #define <a href="#XML_DEFAULT_VERSION">XML_DEFAULT_VERSION</a>;
 #define <a href="#XML_DETECT_IDS">XML_DETECT_IDS</a>;
 #define <a href="#XML_SAX2_MAGIC">XML_SAX2_MAGIC</a>;
@@ -59,138 +38,159 @@ typedef enum <a href="#xmlParserOption">xmlParserOption</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>;
-typedef void <a href="#attributeDeclSAXFunc">attributeDeclSAXFunc</a>          (void * ctx, <br/>            
                           const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * elem, <br/>           
                             const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * fullname, <br/>     
                               int type, <br/>                                         int def, <br/>         
                         const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * defaultValue, <br/>     
                                   <a href="libxml2-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a> tree);
-typedef void <a href="#attributeSAXFunc">attributeSAXFunc</a>          (void * ctx, <br/>                    
                   const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>                   
                     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value);
-typedef void <a href="#cdataBlockSAXFunc">cdataBlockSAXFunc</a>                (void * ctx, <br/>            
                           const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br/>          
                             int len);
-typedef void <a href="#charactersSAXFunc">charactersSAXFunc</a>                (void * ctx, <br/>            
                           const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ch, <br/>             
                     int len);
-typedef void <a href="#commentSAXFunc">commentSAXFunc</a>                      (void * ctx, <br/>            
                           const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value);
-typedef void <a href="#elementDeclSAXFunc">elementDeclSAXFunc</a>              (void * ctx, <br/>            
                           const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>           
                             int type, <br/>                                         <a 
href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> content);
+typedef void <a href="#attributeDeclSAXFunc">attributeDeclSAXFunc</a>          (void * ctx, <br>             
                           const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * elem, <br>            
                             const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * fullname, <br>      
                               int type, <br>                                  int def, <br>                  
                 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * defaultValue, <br>              
                           <a href="libxml2-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a> tree);
+typedef void <a href="#attributeSAXFunc">attributeSAXFunc</a>          (void * ctx, <br>                     
                   const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>                    
                     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value);
+typedef void <a href="#cdataBlockSAXFunc">cdataBlockSAXFunc</a>                (void * ctx, <br>             
                           const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br>           
                             int len);
+typedef void <a href="#charactersSAXFunc">charactersSAXFunc</a>                (void * ctx, <br>             
                           const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ch, <br>              
                     int len);
+typedef void <a href="#commentSAXFunc">commentSAXFunc</a>                      (void * ctx, <br>             
                           const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value);
+typedef void <a href="#elementDeclSAXFunc">elementDeclSAXFunc</a>              (void * ctx, <br>             
                           const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>            
                             int type, <br>                                  <a 
href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> content);
 typedef void <a href="#endDocumentSAXFunc">endDocumentSAXFunc</a>              (void * ctx);
-typedef void <a href="#endElementNsSAX2Func">endElementNsSAX2Func</a>          (void * ctx, <br/>            
                           const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * localname, <br/>      
                             const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br/>       
                               const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URI);
-typedef void <a href="#endElementSAXFunc">endElementSAXFunc</a>                (void * ctx, <br/>            
                           const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
-typedef void <a href="#entityDeclSAXFunc">entityDeclSAXFunc</a>                (void * ctx, <br/>            
                           const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>           
                             int type, <br/>                                         const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * publicId, <br/>                                    const 
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * systemId, <br/>                                    <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
-typedef void <a href="#errorSAXFunc">errorSAXFunc</a>                  (void * ctx, <br/>                    
                   const char * msg, <br/>                                         ... ...);
-typedef void <a href="#externalSubsetSAXFunc">externalSubsetSAXFunc</a>                (void * ctx, <br/>    
                                   const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>   
                                     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, 
<br/>                                  const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * SystemID);
-typedef void <a href="#fatalErrorSAXFunc">fatalErrorSAXFunc</a>                (void * ctx, <br/>            
                           const char * msg, <br/>                                         ... ...);
-typedef <a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a> <a 
href="#getEntitySAXFunc">getEntitySAXFunc</a>     (void * ctx, <br/>                                       
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
-typedef <a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a> <a 
href="#getParameterEntitySAXFunc">getParameterEntitySAXFunc</a>   (void * ctx, <br/>                          
                     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
+typedef void <a href="#endElementNsSAX2Func">endElementNsSAX2Func</a>          (void * ctx, <br>             
                           const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * localname, <br>       
                             const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br>        
                               const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URI);
+typedef void <a href="#endElementSAXFunc">endElementSAXFunc</a>                (void * ctx, <br>             
                           const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
+typedef void <a href="#entityDeclSAXFunc">entityDeclSAXFunc</a>                (void * ctx, <br>             
                           const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>            
                             int type, <br>                                  const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * publicId, <br>                                     const 
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * systemId, <br>                                     <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
+typedef void <a href="#errorSAXFunc">errorSAXFunc</a>                  (void * ctx, <br>                     
                   const char * msg, <br>                                  ... ...);
+typedef void <a href="#externalSubsetSAXFunc">externalSubsetSAXFunc</a>                (void * ctx, <br>     
                                   const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>    
                                     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, 
<br>                                   const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * SystemID);
+typedef void <a href="#fatalErrorSAXFunc">fatalErrorSAXFunc</a>                (void * ctx, <br>             
                           const char * msg, <br>                                  ... ...);
+typedef <a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a> <a 
href="#getEntitySAXFunc">getEntitySAXFunc</a>     (void * ctx, <br>                                        
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
+typedef <a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a> <a 
href="#getParameterEntitySAXFunc">getParameterEntitySAXFunc</a>   (void * ctx, <br>                           
                     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
 typedef int <a href="#hasExternalSubsetSAXFunc">hasExternalSubsetSAXFunc</a>   (void * ctx);
 typedef int <a href="#hasInternalSubsetSAXFunc">hasInternalSubsetSAXFunc</a>   (void * ctx);
-typedef void <a href="#ignorableWhitespaceSAXFunc">ignorableWhitespaceSAXFunc</a>      (void * ctx, <br/>    
                                   const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ch, <br/>     
                             int len);
-typedef void <a href="#internalSubsetSAXFunc">internalSubsetSAXFunc</a>                (void * ctx, <br/>    
                                   const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>   
                                     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, 
<br/>                                  const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * SystemID);
+typedef void <a href="#ignorableWhitespaceSAXFunc">ignorableWhitespaceSAXFunc</a>      (void * ctx, <br>     
                                   const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ch, <br>      
                             int len);
+typedef void <a href="#internalSubsetSAXFunc">internalSubsetSAXFunc</a>                (void * ctx, <br>     
                                   const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>    
                                     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, 
<br>                                   const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * SystemID);
 typedef int <a href="#isStandaloneSAXFunc">isStandaloneSAXFunc</a>             (void * ctx);
-typedef void <a href="#notationDeclSAXFunc">notationDeclSAXFunc</a>            (void * ctx, <br/>            
                           const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>           
                             const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * publicId, <br/>     
                               const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * systemId);
-typedef void <a href="#processingInstructionSAXFunc">processingInstructionSAXFunc</a>  (void * ctx, <br/>    
                                   const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * target, <br/> 
                                     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * data);
-typedef void <a href="#referenceSAXFunc">referenceSAXFunc</a>          (void * ctx, <br/>                    
                   const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
-typedef <a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> <a 
href="#resolveEntitySAXFunc">resolveEntitySAXFunc</a>   (void * ctx, <br/>                                    
           const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * publicId, <br/>                       
                     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * systemId);
-typedef void <a href="#setDocumentLocatorSAXFunc">setDocumentLocatorSAXFunc</a>        (void * ctx, <br/>    
                                   <a href="libxml2-tree.html#xmlSAXLocatorPtr">xmlSAXLocatorPtr</a> loc);
+typedef void <a href="#notationDeclSAXFunc">notationDeclSAXFunc</a>            (void * ctx, <br>             
                           const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>            
                             const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * publicId, <br>      
                               const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * systemId);
+typedef void <a href="#processingInstructionSAXFunc">processingInstructionSAXFunc</a>  (void * ctx, <br>     
                                   const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * target, <br>  
                                     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * data);
+typedef void <a href="#referenceSAXFunc">referenceSAXFunc</a>          (void * ctx, <br>                     
                   const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
+typedef <a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> <a 
href="#resolveEntitySAXFunc">resolveEntitySAXFunc</a>   (void * ctx, <br>                                     
           const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * publicId, <br>                        
                     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * systemId);
+typedef void <a href="#setDocumentLocatorSAXFunc">setDocumentLocatorSAXFunc</a>        (void * ctx, <br>     
                                   <a href="libxml2-tree.html#xmlSAXLocatorPtr">xmlSAXLocatorPtr</a> loc);
 typedef void <a href="#startDocumentSAXFunc">startDocumentSAXFunc</a>          (void * ctx);
-typedef void <a href="#startElementNsSAX2Func">startElementNsSAX2Func</a>              (void * ctx, <br/>    
                                   const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * localname, 
<br/>                                   const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, 
<br/>                                      const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URI, 
<br/>                                         int nb_namespaces, <br/>                                        
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** namespaces, <br/>                               
          int nb_attributes, <br/>                                        int nb_defaulted, <br/>             
                            const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** attributes);
-typedef void <a href="#startElementSAXFunc">startElementSAXFunc</a>            (void * ctx, <br/>            
                           const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>           
                             const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** atts);
-typedef void <a href="#unparsedEntityDeclSAXFunc">unparsedEntityDeclSAXFunc</a>        (void * ctx, <br/>    
                                   const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>   
                                     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * publicId, 
<br/>                                    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * 
systemId, <br/>                                    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> 
* notationName);
-typedef void <a href="#warningSAXFunc">warningSAXFunc</a>                      (void * ctx, <br/>            
                           const char * msg, <br/>                                         ... ...);
+typedef void <a href="#startElementNsSAX2Func">startElementNsSAX2Func</a>              (void * ctx, <br>     
                                   const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * localname, 
<br>                                    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, 
<br>                                       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URI, 
<br>                                  int nb_namespaces, <br>                                         const 
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** namespaces, <br>                                  int 
nb_attributes, <br>                                         int nb_defaulted, <br>                            
      const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** attributes);
+typedef void <a href="#startElementSAXFunc">startElementSAXFunc</a>            (void * ctx, <br>             
                           const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>            
                             const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** atts);
+typedef void <a href="#unparsedEntityDeclSAXFunc">unparsedEntityDeclSAXFunc</a>        (void * ctx, <br>     
                                   const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>    
                                     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * publicId, 
<br>                                     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * 
systemId, <br>                                     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> 
* notationName);
+typedef void <a href="#warningSAXFunc">warningSAXFunc</a>                      (void * ctx, <br>             
                           const char * msg, <br>                                  ... ...);
 long   <a href="#xmlByteConsumed">xmlByteConsumed</a>                  (<a 
href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
 void   <a href="#xmlCleanupParser">xmlCleanupParser</a>                (void);
 void   <a href="#xmlClearNodeInfoSeq">xmlClearNodeInfoSeq</a>          (<a 
href="libxml2-parser.html#xmlParserNodeInfoSeqPtr">xmlParserNodeInfoSeqPtr</a> seq);
 void   <a href="#xmlClearParserCtxt">xmlClearParserCtxt</a>            (<a 
href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
 <a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a>      <a 
href="#xmlCreateDocParserCtxt">xmlCreateDocParserCtxt</a>    (const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur);
-<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);
-<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> * cur, <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);
-<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>    <a href="#xmlCtxtReadIO">xmlCtxtReadIO</a>            
  (<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</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-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);
+<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);
+<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> * cur, <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);
+<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>    <a href="#xmlCtxtReadIO">xmlCtxtReadIO</a>            
  (<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</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-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);
-int    <a href="#xmlCtxtUseOptions">xmlCtxtUseOptions</a>              (<a 
href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br/>                                   
int options);
-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);
+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);
+int    <a href="#xmlCtxtUseOptions">xmlCtxtUseOptions</a>              (<a 
href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>                                    
int options);
+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="#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);
+<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="#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);
 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> input, <br/>           
                                 <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc);
+<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> input, <br>            
                                 <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc);
 <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>  (<a 
href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</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);
-int    <a href="#xmlParseBalancedChunkMemoryRecover">xmlParseBalancedChunkMemoryRecover</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, <br/> 
                                             int recover);
-int    <a href="#xmlParseChunk">xmlParseChunk</a>                      (<a 
href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br/>                                   
const char * chunk, <br/>                                       int size, <br/>                               
          int terminate);
-int    <a href="#xmlParseCtxtExternalEntity">xmlParseCtxtExternalEntity</a>    (<a 
href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctx, <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> * lst);
-<a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a>    <a href="#xmlParseDTD">xmlParseDTD</a>          
(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#xmlParserCtxtPtr">xmlParserCtxtPtr</a>      <a 
href="#xmlNewSAXParserCtxt">xmlNewSAXParserCtxt</a>  (<a 
href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</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);
+int    <a href="#xmlParseBalancedChunkMemoryRecover">xmlParseBalancedChunkMemoryRecover</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, <br>          
                                     int recover);
+int    <a href="#xmlParseChunk">xmlParseChunk</a>                      (<a 
href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>                                    
const char * chunk, <br>                                        int size, <br>                                
  int terminate);
+int    <a href="#xmlParseCtxtExternalEntity">xmlParseCtxtExternalEntity</a>    (<a 
href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctx, <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> * lst);
+<a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a>    <a href="#xmlParseDTD">xmlParseDTD</a>          
(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="#xmlParseDoc">xmlParseDoc</a>          
(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur);
 int    <a href="#xmlParseDocument">xmlParseDocument</a>                (<a 
href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>    <a href="#xmlParseEntity">xmlParseEntity</a>          
  (const char * filename);
 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> * lst);
+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> * lst);
 <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-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/>                                   
const <a href="libxml2-parser.html#xmlParserNodeInfoPtr">xmlParserNodeInfoPtr</a> info);
-const <a href="libxml2-parser.html#xmlParserNodeInfo">xmlParserNodeInfo</a> *  <a 
href="#xmlParserFindNodeInfo">xmlParserFindNodeInfo</a>      (const <a 
href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctx, <br/>                                     
                 const <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node);
-unsigned long  <a href="#xmlParserFindNodeInfoIndex">xmlParserFindNodeInfoIndex</a>    (const <a 
href="libxml2-parser.html#xmlParserNodeInfoSeqPtr">xmlParserNodeInfoSeqPtr</a> seq, <br/>                     
                         const <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node);
+<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-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>                                    
const <a href="libxml2-parser.html#xmlParserNodeInfoPtr">xmlParserNodeInfoPtr</a> info);
+const <a href="libxml2-parser.html#xmlParserNodeInfo">xmlParserNodeInfo</a> *  <a 
href="#xmlParserFindNodeInfo">xmlParserFindNodeInfo</a>      (const <a 
href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctx, <br>                                      
                 const <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node);
+unsigned long  <a href="#xmlParserFindNodeInfoIndex">xmlParserFindNodeInfoIndex</a>    (const <a 
href="libxml2-parser.html#xmlParserNodeInfoSeqPtr">xmlParserNodeInfoSeqPtr</a> seq, <br>                      
                         const <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node);
 typedef void <a href="#xmlParserInputDeallocate">xmlParserInputDeallocate</a>  (<a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str);
-int    <a href="#xmlParserInputGrow">xmlParserInputGrow</a>            (<a 
href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> in, <br/>                                   
int len);
-int    <a href="#xmlParserInputRead">xmlParserInputRead</a>            (<a 
href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> in, <br/>                                   
int len);
+int    <a href="#xmlParserInputGrow">xmlParserInputGrow</a>            (<a 
href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> in, <br>                                    
int len);
+int    <a href="#xmlParserInputRead">xmlParserInputRead</a>            (<a 
href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> in, <br>                                    
int len);
 int    <a href="#xmlPedanticParserDefault">xmlPedanticParserDefault</a>        (int val);
-<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>    <a href="#xmlReadDoc">xmlReadDoc</a>            
(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur, <br/>                                      
   const char * URL, <br/>                                         const char * encoding, <br/>               
                     int options);
-<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>    <a href="#xmlReadFd">xmlReadFd</a>              (int 
fd, <br/>                                   const char * URL, <br/>                                         
const char * encoding, <br/>                                    int options);
-<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>    <a href="#xmlReadFile">xmlReadFile</a>          
(const char * filename, <br/>                                    const char * encoding, <br/>                 
                   int options);
-<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>    <a href="#xmlReadIO">xmlReadIO</a>              (<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-tree.html#xmlDocPtr">xmlDocPtr</a>    <a href="#xmlReadMemory">xmlReadMemory</a>            
  (const char * buffer, <br/>                                      int size, <br/>                            
             const char * URL, <br/>                                         const char * encoding, <br/>     
                               int options);
+<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>    <a href="#xmlReadDoc">xmlReadDoc</a>            
(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur, <br>                                  
const char * URL, <br>                                  const char * encoding, <br>                           
          int options);
+<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>    <a href="#xmlReadFd">xmlReadFd</a>              (int 
fd, <br>                                    const char * URL, <br>                                  const 
char * encoding, <br>                                     int options);
+<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>    <a href="#xmlReadFile">xmlReadFile</a>          
(const char * filename, <br>                                     const char * encoding, <br>                  
                   int options);
+<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>    <a href="#xmlReadIO">xmlReadIO</a>              (<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-tree.html#xmlDocPtr">xmlDocPtr</a>    <a href="#xmlReadMemory">xmlReadMemory</a>            
  (const char * buffer, <br>                                       int size, <br>                             
     const char * URL, <br>                                  const char * encoding, <br>                      
               int options);
 <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);
-<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);
-<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>    <a href="#xmlSAXParseFile">xmlSAXParseFile</a>        
  (<a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br/>                               
     const char * filename, <br/>                                    int recovery);
-<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>    <a 
href="#xmlSAXParseFileWithData">xmlSAXParseFileWithData</a>  (<a 
href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br/>                                    
const char * filename, <br/>                                    int recovery, <br/>                           
          void * data);
-<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>    <a href="#xmlSAXParseMemory">xmlSAXParseMemory</a>    
  (<a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br/>                               
     const char * buffer, <br/>                                      int size, <br/>                          
               int recovery);
-<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>    <a 
href="#xmlSAXParseMemoryWithData">xmlSAXParseMemoryWithData</a>      (<a 
href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br/>                                     
       const char * buffer, <br/>                                              int size, <br/>                
                                 int recovery, <br/>                                             void * data);
-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);
+<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>    <a href="#xmlRecoverMemory">xmlRecoverMemory</a>      
  (const char * buffer, <br>                                       int size);
+<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);
+<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>    <a href="#xmlSAXParseFile">xmlSAXParseFile</a>        
  (<a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br>                                
     const char * filename, <br>                                     int recovery);
+<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>    <a 
href="#xmlSAXParseFileWithData">xmlSAXParseFileWithData</a>  (<a 
href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br>                                     
const char * filename, <br>                                     int recovery, <br>                            
          void * data);
+<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>    <a href="#xmlSAXParseMemory">xmlSAXParseMemory</a>    
  (<a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br>                                
     const char * buffer, <br>                                       int size, <br>                           
       int recovery);
+<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>    <a 
href="#xmlSAXParseMemoryWithData">xmlSAXParseMemoryWithData</a>      (<a 
href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br>                                      
       const char * buffer, <br>                                               int size, <br>                 
                         int recovery, <br>                                              void * data);
+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);
+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);
 </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="XML_COMPLETE_ATTRS">Macro 
</a>XML_COMPLETE_ATTRS</h3><pre class="programlisting">#define <a 
href="#XML_COMPLETE_ATTRS">XML_COMPLETE_ATTRS</a>;
-</pre><p>Bit in the loadsubset context field to tell to do complete the elements attributes lists with the 
ones defaulted from the DTDs. Use it to initialize xmlLoadExtDtdDefaultValue.</p>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_DEFAULT_VERSION">Macro 
</a>XML_DEFAULT_VERSION</h3><pre class="programlisting">#define <a 
href="#XML_DEFAULT_VERSION">XML_DEFAULT_VERSION</a>;
-</pre><p>The default version of XML used: 1.0</p>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_DETECT_IDS">Macro </a>XML_DETECT_IDS</h3><pre 
class="programlisting">#define <a href="#XML_DETECT_IDS">XML_DETECT_IDS</a>;
-</pre><p>Bit in the loadsubset context field to tell to do ID/REFs lookups. Use it to initialize 
xmlLoadExtDtdDefaultValue.</p>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_SAX2_MAGIC">Macro </a>XML_SAX2_MAGIC</h3><pre 
class="programlisting">#define <a href="#XML_SAX2_MAGIC">XML_SAX2_MAGIC</a>;
-</pre><p>Special constant found in SAX2 blocks initialized fields</p>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_SKIP_IDS">Macro </a>XML_SKIP_IDS</h3><pre 
class="programlisting">#define <a href="#XML_SKIP_IDS">XML_SKIP_IDS</a>;
-</pre><p>Bit in the loadsubset context field to tell to not do ID/REFs registration. Used to initialize <a 
href="libxml2-globals.html#xmlLoadExtDtdDefaultValue">xmlLoadExtDtdDefaultValue</a> in some special cases.</p>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlFeature">Enum </a>xmlFeature</h3><pre 
class="programlisting">enum <a href="#xmlFeature">xmlFeature</a> {
+</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="XML_COMPLETE_ATTRS">Macro </a>XML_COMPLETE_ATTRS</h3>
+<pre class="programlisting">#define <a href="#XML_COMPLETE_ATTRS">XML_COMPLETE_ATTRS</a>;
+</pre>
+<p>Bit in the loadsubset context field to tell to do complete the elements attributes lists with the ones 
defaulted from the DTDs. Use it to initialize xmlLoadExtDtdDefaultValue.</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_DEFAULT_VERSION">Macro </a>XML_DEFAULT_VERSION</h3>
+<pre class="programlisting">#define <a href="#XML_DEFAULT_VERSION">XML_DEFAULT_VERSION</a>;
+</pre>
+<p>The default version of XML used: 1.0</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_DETECT_IDS">Macro </a>XML_DETECT_IDS</h3>
+<pre class="programlisting">#define <a href="#XML_DETECT_IDS">XML_DETECT_IDS</a>;
+</pre>
+<p>Bit in the loadsubset context field to tell to do ID/REFs lookups. Use it to initialize 
xmlLoadExtDtdDefaultValue.</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_SAX2_MAGIC">Macro </a>XML_SAX2_MAGIC</h3>
+<pre class="programlisting">#define <a href="#XML_SAX2_MAGIC">XML_SAX2_MAGIC</a>;
+</pre>
+<p>Special constant found in SAX2 blocks initialized fields</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_SKIP_IDS">Macro </a>XML_SKIP_IDS</h3>
+<pre class="programlisting">#define <a href="#XML_SKIP_IDS">XML_SKIP_IDS</a>;
+</pre>
+<p>Bit in the loadsubset context field to tell to not do ID/REFs registration. Used to initialize <a 
href="libxml2-globals.html#xmlLoadExtDtdDefaultValue">xmlLoadExtDtdDefaultValue</a> in some special cases.</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlFeature">Enum </a>xmlFeature</h3>
+<pre class="programlisting">enum <a href="#xmlFeature">xmlFeature</a> {
     <a name="XML_WITH_THREAD">XML_WITH_THREAD</a> = 1
     <a name="XML_WITH_TREE">XML_WITH_TREE</a> = 2
     <a name="XML_WITH_OUTPUT">XML_WITH_OUTPUT</a> = 3
@@ -226,10 +226,14 @@ int       <a href="#xmlSubstituteEntitiesDefault">xmlSubstituteEntitiesDefault</a>      
  (in
     <a name="XML_WITH_LZMA">XML_WITH_LZMA</a> = 33
     <a name="XML_WITH_NONE">XML_WITH_NONE</a> = 99999 /*  just to be sure of allocation size */
 };
-</pre><p/>
+</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> {
+<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 */
     <a name="XML_PARSER_START">XML_PARSER_START</a> = 0 /* nothing has been parsed */
     <a name="XML_PARSER_MISC">XML_PARSER_MISC</a> = 1 /* Misc* before int subset */
@@ -249,10 +253,14 @@ int       <a href="#xmlSubstituteEntitiesDefault">xmlSubstituteEntitiesDefault</a>      
  (in
     <a name="XML_PARSER_IGNORE">XML_PARSER_IGNORE</a> = 15 /* within an IGNORED section */
     <a name="XML_PARSER_PUBLIC_LITERAL">XML_PARSER_PUBLIC_LITERAL</a> = 16 /*  within a PUBLIC value */
 };
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParserMode">Enum </a>xmlParserMode</h3><pre 
class="programlisting">enum <a href="#xmlParserMode">xmlParserMode</a> {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParserMode">Enum </a>xmlParserMode</h3>
+<pre class="programlisting">enum <a href="#xmlParserMode">xmlParserMode</a> {
     <a name="XML_PARSE_UNKNOWN">XML_PARSE_UNKNOWN</a> = 0
     <a name="XML_PARSE_DOM">XML_PARSE_DOM</a> = 1
     <a name="XML_PARSE_SAX">XML_PARSE_SAX</a> = 2
@@ -260,36 +268,56 @@ int       <a href="#xmlSubstituteEntitiesDefault">xmlSubstituteEntitiesDefault</a>      
  (in
     <a name="XML_PARSE_PUSH_SAX">XML_PARSE_PUSH_SAX</a> = 4
     <a name="XML_PARSE_READER">XML_PARSE_READER</a> = 5
 };
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParserNodeInfo">Structure 
</a>xmlParserNodeInfo</h3><pre class="programlisting">struct _xmlParserNodeInfo {
+<hr>
+<div class="refsect2" lang="en">
+<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
     unsigned long      begin_pos
     unsigned long      begin_line
     unsigned long      end_pos
     unsigned long      end_line
 } xmlParserNodeInfo;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParserNodeInfoPtr">Typedef 
</a>xmlParserNodeInfoPtr</h3><pre class="programlisting"><a 
href="libxml2-parser.html#xmlParserNodeInfo">xmlParserNodeInfo</a> * xmlParserNodeInfoPtr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParserNodeInfoPtr">Typedef </a>xmlParserNodeInfoPtr</h3>
+<pre class="programlisting"><a href="libxml2-parser.html#xmlParserNodeInfo">xmlParserNodeInfo</a> * 
xmlParserNodeInfoPtr;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParserNodeInfoSeq">Structure 
</a>xmlParserNodeInfoSeq</h3><pre class="programlisting">struct _xmlParserNodeInfoSeq {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParserNodeInfoSeq">Structure </a>xmlParserNodeInfoSeq</h3>
+<pre class="programlisting">struct _xmlParserNodeInfoSeq {
     unsigned long      maximum
     unsigned long      length
     <a href="libxml2-parser.html#xmlParserNodeInfo">xmlParserNodeInfo</a> *    buffer
 } xmlParserNodeInfoSeq;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParserNodeInfoSeqPtr">Typedef 
</a>xmlParserNodeInfoSeqPtr</h3><pre class="programlisting"><a 
href="libxml2-parser.html#xmlParserNodeInfoSeq">xmlParserNodeInfoSeq</a> * xmlParserNodeInfoSeqPtr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParserNodeInfoSeqPtr">Typedef </a>xmlParserNodeInfoSeqPtr</h3>
+<pre class="programlisting"><a href="libxml2-parser.html#xmlParserNodeInfoSeq">xmlParserNodeInfoSeq</a> * 
xmlParserNodeInfoSeqPtr;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParserOption">Enum </a>xmlParserOption</h3><pre 
class="programlisting">enum <a href="#xmlParserOption">xmlParserOption</a> {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParserOption">Enum </a>xmlParserOption</h3>
+<pre class="programlisting">enum <a href="#xmlParserOption">xmlParserOption</a> {
     <a name="XML_PARSE_RECOVER">XML_PARSE_RECOVER</a> = 1 /* recover on errors */
     <a name="XML_PARSE_NOENT">XML_PARSE_NOENT</a> = 2 /* substitute entities */
     <a name="XML_PARSE_DTDLOAD">XML_PARSE_DTDLOAD</a> = 4 /* load the external subset */
@@ -314,10 +342,14 @@ int       <a href="#xmlSubstituteEntitiesDefault">xmlSubstituteEntitiesDefault</a>      
  (in
     <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 */
 };
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSAXHandlerV1">Structure </a>xmlSAXHandlerV1</h3><pre 
class="programlisting">struct _xmlSAXHandlerV1 {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSAXHandlerV1">Structure </a>xmlSAXHandlerV1</h3>
+<pre class="programlisting">struct _xmlSAXHandlerV1 {
     <a href="libxml2-parser.html#internalSubsetSAXFunc">internalSubsetSAXFunc</a>      internalSubset
     <a href="libxml2-parser.html#isStandaloneSAXFunc">isStandaloneSAXFunc</a>  isStandalone
     <a href="libxml2-parser.html#hasInternalSubsetSAXFunc">hasInternalSubsetSAXFunc</a>        
hasInternalSubset
@@ -347,432 +379,2777 @@ int    <a href="#xmlSubstituteEntitiesDefault">xmlSubstituteEntitiesDefault</a>      
  (in
     <a href="libxml2-parser.html#externalSubsetSAXFunc">externalSubsetSAXFunc</a>      externalSubset
     unsigned int       initialized
 } xmlSAXHandlerV1;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSAXHandlerV1Ptr">Typedef 
</a>xmlSAXHandlerV1Ptr</h3><pre class="programlisting"><a 
href="libxml2-parser.html#xmlSAXHandlerV1">xmlSAXHandlerV1</a> * xmlSAXHandlerV1Ptr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSAXHandlerV1Ptr">Typedef </a>xmlSAXHandlerV1Ptr</h3>
+<pre class="programlisting"><a href="libxml2-parser.html#xmlSAXHandlerV1">xmlSAXHandlerV1</a> * 
xmlSAXHandlerV1Ptr;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlStartTag">Structure </a>xmlStartTag</h3><pre 
class="programlisting">struct _xmlStartTag {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlStartTag">Structure </a>xmlStartTag</h3>
+<pre class="programlisting">struct _xmlStartTag {
 The content of this structure is not made public by the API.
 } xmlStartTag;
-</pre><p/>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="attributeDeclSAXFunc"/>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>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>the user data (XML parser context)</td></tr><tr><td><span 
class="term"><i><tt>elem</tt></i>:</span></td><td>the name of the element</td></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></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></tr><tr><td><span 
class="term"><i><tt>def</tt></i>:</span></td><td>the type of default value</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></tr><tr><td><span 
class="term"><i><tt>tree</tt></i>:</span></td><td>the tree of enumerated value 
set</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="attributeSAXFunc"/>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>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>the user data (XML parser context)</td></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></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></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="cdataBlockSAXFunc"/>Function type 
cdataBlockSAXFunc</h3><pre class="programlisting">void  cdataBlockSAXFunc               (void * ctx, <br/>    
                                   const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br/>  
                                     int len)<br/>
-</pre><p>Called when a pcdata block has been parsed.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>the user data (XML parser context)</td></tr><tr><td><span 
class="term"><i><tt>value</tt></i>:</span></td><td>The pcdata content</td></tr><tr><td><span 
class="term"><i><tt>len</tt></i>:</span></td><td>the block length</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="charactersSAXFunc"/>Function type 
charactersSAXFunc</h3><pre class="programlisting">void  charactersSAXFunc               (void * ctx, <br/>    
                                   const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ch, <br/>     
                             int len)<br/>
-</pre><p>Receiving some chars from the parser.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>the user data (XML parser context)</td></tr><tr><td><span 
class="term"><i><tt>ch</tt></i>:</span></td><td>a <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> 
string</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>the number of <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a></td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="commentSAXFunc"/>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>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>the user data (XML parser context)</td></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></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="elementDeclSAXFunc"/>Function type 
elementDeclSAXFunc</h3><pre class="programlisting">void        elementDeclSAXFunc              (void * ctx, 
<br/>                                       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * 
name, <br/>                                        int type, <br/>                                         <a 
href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> content)<br/>
-</pre><p>An element definition has been parsed.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>the user data (XML parser context)</td></tr><tr><td><span 
class="term"><i><tt>name</tt></i>:</span></td><td>the element name</td></tr><tr><td><span 
class="term"><i><tt>type</tt></i>:</span></td><td>the element type</td></tr><tr><td><span 
class="term"><i><tt>content</tt></i>:</span></td><td>the element value 
tree</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="endDocumentSAXFunc"/>Function type 
endDocumentSAXFunc</h3><pre class="programlisting">void        endDocumentSAXFunc              (void * 
ctx)<br/>
-</pre><p>Called when the document end has been detected.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>the user data (XML parser 
context)</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="endElementNsSAX2Func"/>Function type 
endElementNsSAX2Func</h3><pre class="programlisting">void    endElementNsSAX2Func            (void * ctx, 
<br/>                                       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * 
localname, <br/>                                   const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> 
* prefix, <br/>                                      const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URI)<br/>
-</pre><p>SAX2 callback when an element end has been detected by the parser. It provides the namespace 
information for the element.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>the user data (XML parser context)</td></tr><tr><td><span 
class="term"><i><tt>localname</tt></i>:</span></td><td>the local name of the element</td></tr><tr><td><span 
class="term"><i><tt>prefix</tt></i>:</span></td><td>the element namespace prefix if 
available</td></tr><tr><td><span class="term"><i><tt>URI</tt></i>:</span></td><td>the element namespace name 
if available</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="endElementSAXFunc"/>Function type 
endElementSAXFunc</h3><pre class="programlisting">void  endElementSAXFunc               (void * ctx, <br/>    
                                   const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br/>
-</pre><p>Called when the end of an element has been detected.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>the user data (XML parser context)</td></tr><tr><td><span 
class="term"><i><tt>name</tt></i>:</span></td><td>The element name</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="entityDeclSAXFunc"/>Function type 
entityDeclSAXFunc</h3><pre class="programlisting">void  entityDeclSAXFunc               (void * ctx, <br/>    
                                   const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>   
                                     int type, <br/>                                         const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * publicId, <br/>                                    const 
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * systemId, <br/>                                    <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br/>
-</pre><p>An entity definition has been parsed.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>the user data (XML parser context)</td></tr><tr><td><span 
class="term"><i><tt>name</tt></i>:</span></td><td>the entity name</td></tr><tr><td><span 
class="term"><i><tt>type</tt></i>:</span></td><td>the entity type</td></tr><tr><td><span 
class="term"><i><tt>publicId</tt></i>:</span></td><td>The public ID of the entity</td></tr><tr><td><span 
class="term"><i><tt>systemId</tt></i>:</span></td><td>The system ID of the entity</td></tr><tr><td><span 
class="term"><i><tt>content</tt></i>:</span></td><td>the entity value (without 
processing).</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="errorSAXFunc"/>Function type errorSAXFunc</h3><pre 
class="programlisting">void    errorSAXFunc                    (void * ctx, <br/>                             
          const char * msg, <br/>                                         ... ...)<br/>
-</pre><p>Display and format an error messages, callback.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span 
class="term"><i><tt>msg</tt></i>:</span></td><td>the message to display/transmit</td></tr><tr><td><span 
class="term"><i><tt>...</tt></i>:</span></td><td>extra parameters for the message 
display</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="externalSubsetSAXFunc"/>Function type 
externalSubsetSAXFunc</h3><pre class="programlisting">void  externalSubsetSAXFunc           (void * ctx, 
<br/>                                       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * 
name, <br/>                                        const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> 
* ExternalID, <br/>                                  const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * SystemID)<br/>
-</pre><p>Callback on external subset declaration.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>the user data (XML parser context)</td></tr><tr><td><span 
class="term"><i><tt>name</tt></i>:</span></td><td>the root element name</td></tr><tr><td><span 
class="term"><i><tt>ExternalID</tt></i>:</span></td><td>the external ID</td></tr><tr><td><span 
class="term"><i><tt>SystemID</tt></i>:</span></td><td>the SYSTEM ID (e.g. filename or 
URL)</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="fatalErrorSAXFunc"/>Function type 
fatalErrorSAXFunc</h3><pre class="programlisting">void  fatalErrorSAXFunc               (void * ctx, <br/>    
                                   const char * msg, <br/>                                         ... 
...)<br/>
-</pre><p>Display and format fatal error messages, callback. Note: so far fatalError() SAX callbacks are not 
used, error() get all the callbacks for errors.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span 
class="term"><i><tt>msg</tt></i>:</span></td><td>the message to display/transmit</td></tr><tr><td><span 
class="term"><i><tt>...</tt></i>:</span></td><td>extra parameters for the message 
display</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="getEntitySAXFunc"/>Function type 
getEntitySAXFunc</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a>    
   getEntitySAXFunc        (void * ctx, <br/>                                       const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br/>
-</pre><p>Get an entity by name.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>the user data (XML parser context)</td></tr><tr><td><span 
class="term"><i><tt>name</tt></i>:</span></td><td>The entity name</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a 
href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a> if found.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="getParameterEntitySAXFunc"/>Function type 
getParameterEntitySAXFunc</h3><pre class="programlisting"><a 
href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a>     getParameterEntitySAXFunc       (void * ctx, <br/> 
                                              const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * 
name)<br/>
-</pre><p>Get a parameter entity by name.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>the user data (XML parser context)</td></tr><tr><td><span 
class="term"><i><tt>name</tt></i>:</span></td><td>The entity name</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a 
href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a> if found.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="hasExternalSubsetSAXFunc"/>Function type 
hasExternalSubsetSAXFunc</h3><pre class="programlisting">int     hasExternalSubsetSAXFunc        (void * 
ctx)<br/>
-</pre><p>Does this document has an external subset?</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>the user data (XML parser context)</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="hasInternalSubsetSAXFunc"/>Function type 
hasInternalSubsetSAXFunc</h3><pre class="programlisting">int     hasInternalSubsetSAXFunc        (void * 
ctx)<br/>
-</pre><p>Does this document has an internal subset.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>the user data (XML parser context)</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="ignorableWhitespaceSAXFunc"/>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 
characters.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>the user data (XML parser context)</td></tr><tr><td><span 
class="term"><i><tt>ch</tt></i>:</span></td><td>a <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> 
string</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>the number of <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a></td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="internalSubsetSAXFunc"/>Function type 
internalSubsetSAXFunc</h3><pre class="programlisting">void  internalSubsetSAXFunc           (void * ctx, 
<br/>                                       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * 
name, <br/>                                        const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> 
* ExternalID, <br/>                                  const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * SystemID)<br/>
-</pre><p>Callback on internal subset declaration.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>the user data (XML parser context)</td></tr><tr><td><span 
class="term"><i><tt>name</tt></i>:</span></td><td>the root element name</td></tr><tr><td><span 
class="term"><i><tt>ExternalID</tt></i>:</span></td><td>the external ID</td></tr><tr><td><span 
class="term"><i><tt>SystemID</tt></i>:</span></td><td>the SYSTEM ID (e.g. filename or 
URL)</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="isStandaloneSAXFunc"/>Function type 
isStandaloneSAXFunc</h3><pre class="programlisting">int       isStandaloneSAXFunc             (void * 
ctx)<br/>
-</pre><p>Is this document tagged standalone?</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>the user data (XML parser context)</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="notationDeclSAXFunc"/>Function type 
notationDeclSAXFunc</h3><pre class="programlisting">void      notationDeclSAXFunc             (void * ctx, 
<br/>                                       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * 
name, <br/>                                        const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> 
* publicId, <br/>                                    const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * systemId)<br/>
-</pre><p>What to do when a notation declaration has been parsed.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>the user data (XML parser context)</td></tr><tr><td><span 
class="term"><i><tt>name</tt></i>:</span></td><td>The name of the notation</td></tr><tr><td><span 
class="term"><i><tt>publicId</tt></i>:</span></td><td>The public ID of the entity</td></tr><tr><td><span 
class="term"><i><tt>systemId</tt></i>:</span></td><td>The system ID of the 
entity</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="processingInstructionSAXFunc"/>Function type 
processingInstructionSAXFunc</h3><pre class="programlisting">void    processingInstructionSAXFunc    (void * 
ctx, <br/>                                       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * 
target, <br/>                                      const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> 
* data)<br/>
-</pre><p>A processing instruction has been parsed.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>the user data (XML parser context)</td></tr><tr><td><span 
class="term"><i><tt>target</tt></i>:</span></td><td>the target name</td></tr><tr><td><span 
class="term"><i><tt>data</tt></i>:</span></td><td>the PI data's</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="referenceSAXFunc"/>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>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>the user data (XML parser context)</td></tr><tr><td><span 
class="term"><i><tt>name</tt></i>:</span></td><td>The entity name</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="resolveEntitySAXFunc"/>Function type 
resolveEntitySAXFunc</h3><pre class="programlisting"><a 
href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>     resolveEntitySAXFunc    (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>Callback: The entity loader, to control the loading of external entities, the application can 
either: - override this resolveEntity() callback in the SAX block - or better use the 
xmlSetExternalEntityLoader() function to set up it's own entity resolution routine</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>the user data (XML parser context)</td></tr><tr><td><span 
class="term"><i><tt>publicId</tt></i>:</span></td><td>The public ID of the entity</td></tr><tr><td><span 
class="term"><i><tt>systemId</tt></i>:</span></td><td>The system ID of the entity</td></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></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="setDocumentLocatorSAXFunc"/>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 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><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>the user data (XML parser context)</td></tr><tr><td><span 
class="term"><i><tt>loc</tt></i>:</span></td><td>A SAX Locator</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="startDocumentSAXFunc"/>Function type 
startDocumentSAXFunc</h3><pre class="programlisting">void    startDocumentSAXFunc            (void * ctx)<br/>
-</pre><p>Called when the document start being processed.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>the user data (XML parser 
context)</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="startElementNsSAX2Func"/>Function type 
startElementNsSAX2Func</h3><pre class="programlisting">void        startElementNsSAX2Func          (void * 
ctx, <br/>                                       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * 
localname, <br/>                                   const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> 
* prefix, <br/>                                      const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URI, <br/>                                         int 
nb_namespaces, <br/>                                        const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** namespaces, <br/>                                        
 int nb_attributes, <br/>                                        int nb_defaulted, <br/>                      
                   const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** attributes)<br/>
-</pre><p>SAX2 callback when an element start has been detected by the parser. It provides the namespace 
information for the element, as well as the new namespace declarations on the element.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>the user data (XML parser context)</td></tr><tr><td><span 
class="term"><i><tt>localname</tt></i>:</span></td><td>the local name of the element</td></tr><tr><td><span 
class="term"><i><tt>prefix</tt></i>:</span></td><td>the element namespace prefix if 
available</td></tr><tr><td><span class="term"><i><tt>URI</tt></i>:</span></td><td>the element namespace name 
if available</td></tr><tr><td><span class="term"><i><tt>nb_namespaces</tt></i>:</span></td><td>number of 
namespace definitions on that node</td></tr><tr><td><span 
class="term"><i><tt>namespaces</tt></i>:</span></td><td>pointer to the array of prefix/URI pairs namespace 
definitions</td></tr><tr><td><span class="term"><i><tt>nb_attributes</tt></i>:</span></td><td>the number of 
attributes on that node</td></tr><tr><td><span class="term"><i><tt>nb_defaulted</tt></i>:</span></td><td>the 
number of defaulte
 d attributes. The defaulted ones are at the end of the array</td></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></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="startElementSAXFunc"/>Function type 
startElementSAXFunc</h3><pre class="programlisting">void      startElementSAXFunc             (void * ctx, 
<br/>                                       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * 
name, <br/>                                        const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> 
** atts)<br/>
-</pre><p>Called when an opening tag has been processed.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>the user data (XML parser context)</td></tr><tr><td><span 
class="term"><i><tt>name</tt></i>:</span></td><td>The element name, including namespace 
prefix</td></tr><tr><td><span class="term"><i><tt>atts</tt></i>:</span></td><td>An array of name/value 
attributes pairs, NULL terminated</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="unparsedEntityDeclSAXFunc"/>Function type 
unparsedEntityDeclSAXFunc</h3><pre class="programlisting">void  unparsedEntityDeclSAXFunc       (void * ctx, 
<br/>                                       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * 
name, <br/>                                        const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> 
* publicId, <br/>                                    const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * systemId, <br/>                                    const 
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * notationName)<br/>
-</pre><p>What to do when an unparsed entity declaration is parsed.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>the user data (XML parser context)</td></tr><tr><td><span 
class="term"><i><tt>name</tt></i>:</span></td><td>The name of the entity</td></tr><tr><td><span 
class="term"><i><tt>publicId</tt></i>:</span></td><td>The public ID of the entity</td></tr><tr><td><span 
class="term"><i><tt>systemId</tt></i>:</span></td><td>The system ID of the entity</td></tr><tr><td><span 
class="term"><i><tt>notationName</tt></i>:</span></td><td>the name of the 
notation</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="warningSAXFunc"/>Function type warningSAXFunc</h3><pre 
class="programlisting">void        warningSAXFunc                  (void * ctx, <br/>                         
              const char * msg, <br/>                                         ... ...)<br/>
-</pre><p>Display and format a warning messages, callback.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span 
class="term"><i><tt>msg</tt></i>:</span></td><td>the message to display/transmit</td></tr><tr><td><span 
class="term"><i><tt>...</tt></i>:</span></td><td>extra parameters for the message 
display</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlExternalEntityLoader"/>Function type 
xmlExternalEntityLoader</h3><pre class="programlisting"><a 
href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>       xmlExternalEntityLoader (const char * 
URL, <br/>                                                 const char * ID, <br/>                             
             <a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> context)<br/>
-</pre><p>External entity loaders types.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>URL</tt></i>:</span></td><td>The System ID of the resource 
requested</td></tr><tr><td><span class="term"><i><tt>ID</tt></i>:</span></td><td>The Public ID of the 
resource requested</td></tr><tr><td><span class="term"><i><tt>context</tt></i>:</span></td><td>the XML parser 
context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the entity input 
parser.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParserInputDeallocate"/>Function type 
xmlParserInputDeallocate</h3><pre class="programlisting">void    xmlParserInputDeallocate        (<a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str)<br/>
-</pre><p>Callback for freeing some parser input allocations.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>str</tt></i>:</span></td><td>the string to 
deallocate</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlByteConsumed"/>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>
-<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 index in bytes from the beginning of the entity or 
-1 in case the index could not be computed.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCleanupParser"/>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>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlClearNodeInfoSeq"/>xmlClearNodeInfoSeq ()</h3><pre 
class="programlisting">void xmlClearNodeInfoSeq             (<a 
href="libxml2-parser.html#xmlParserNodeInfoSeqPtr">xmlParserNodeInfoSeqPtr</a> seq)<br/>
-</pre><p>-- Clear (release memory and reinitialize) node info sequence</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>seq</tt></i>:</span></td><td>a node info sequence 
pointer</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlClearParserCtxt"/>xmlClearParserCtxt ()</h3><pre 
class="programlisting">void   xmlClearParserCtxt              (<a 
href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br/>
-</pre><p>Clear (release owned resources) and reinitialize a parser context</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCreateDocParserCtxt"/>xmlCreateDocParserCtxt 
()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a>      
xmlCreateDocParserCtxt  (const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur)<br/>
-</pre><p>Creates a parser context for an XML in-memory document.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>cur</tt></i>:</span></td><td>a pointer to an array of <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a></td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the new parser context or 
NULL</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCreateIOParserCtxt"/>xmlCreateIOParserCtxt 
()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a>        
xmlCreateIOParserCtxt   (<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)<br/>
-</pre><p>Create a parser context for using the XML parser with an existing I/O stream</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>sax</tt></i>:</span></td><td>a SAX handler</td></tr><tr><td><span 
class="term"><i><tt>user_data</tt></i>:</span></td><td>The user data returned on SAX 
callbacks</td></tr><tr><td><span class="term"><i><tt>ioread</tt></i>:</span></td><td>an I/O read 
function</td></tr><tr><td><span class="term"><i><tt>ioclose</tt></i>:</span></td><td>an I/O close 
function</td></tr><tr><td><span class="term"><i><tt>ioctx</tt></i>:</span></td><td>an I/O 
handler</td></tr><tr><td><span class="term"><i><tt>enc</tt></i>:</span></td><td>the charset encoding if 
known</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new parser context or 
NULL</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCreatePushParserCtxt"/>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. If @buffer and @size are non-NULL, 
the data is used to detect the encoding. The remaining <a href="libxml2-SAX.html#characters">characters</a> 
will be parsed so they don't need to be fed in again through xmlParseChunk. To allow content encoding 
detection, @size should be &gt;= 4 The value of @filename is used for fetching external entities and 
error/warning reports.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>sax</tt></i>:</span></td><td>a SAX handler</td></tr><tr><td><span 
class="term"><i><tt>user_data</tt></i>:</span></td><td>The user data returned on SAX 
callbacks</td></tr><tr><td><span class="term"><i><tt>chunk</tt></i>:</span></td><td>a pointer to an array of 
chars</td></tr><tr><td><span class="term"><i><tt>size</tt></i>:</span></td><td>number of chars in the 
array</td></tr><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>an optional file name or 
URI</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new parser context or 
NULL</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCtxtReadDoc"/>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> * cur, <br/>                                       
  const char * URL, <br/>                                         const char * encoding, <br/>                
                    int options)<br/>
-</pre><p>parse an XML in-memory document and build a tree. This reuses the existing @ctxt parser context</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span 
class="term"><i><tt>cur</tt></i>:</span></td><td>a pointer to a zero terminated string</td></tr><tr><td><span 
class="term"><i><tt>URL</tt></i>:</span></td><td>the base URL to use for the document</td></tr><tr><td><span 
class="term"><i><tt>encoding</tt></i>:</span></td><td>the document encoding, or NULL</td></tr><tr><td><span 
class="term"><i><tt>options</tt></i>:</span></td><td>a combination of <a 
href="libxml2-parser.html#xmlParserOption">xmlParserOption</a></td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the resulting document 
tree</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCtxtReadFd"/>xmlCtxtReadFd ()</h3><pre 
class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>      xmlCtxtReadFd           (<a 
href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br/>                                   
int fd, <br/>                                   const char * URL, <br/>                                       
  const char * encoding, <br/>                                    int options)<br/>
-</pre><p>parse an XML from a file descriptor and build a tree. This reuses the existing @ctxt parser context 
NOTE that the file descriptor will not be closed when the reader is closed or reset.</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>fd</tt></i>:</span></td><td>an open file descriptor</td></tr><tr><td><span 
class="term"><i><tt>URL</tt></i>:</span></td><td>the base URL to use for the document</td></tr><tr><td><span 
class="term"><i><tt>encoding</tt></i>:</span></td><td>the document encoding, or NULL</td></tr><tr><td><span 
class="term"><i><tt>options</tt></i>:</span></td><td>a combination of <a 
href="libxml2-parser.html#xmlParserOption">xmlParserOption</a></td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the resulting document 
tree</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCtxtReadFile"/>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 or the network. This reuses the existing @ctxt parser 
context</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span 
class="term"><i><tt>filename</tt></i>:</span></td><td>a file or URL</td></tr><tr><td><span 
class="term"><i><tt>encoding</tt></i>:</span></td><td>the document encoding, or NULL</td></tr><tr><td><span 
class="term"><i><tt>options</tt></i>:</span></td><td>a combination of <a 
href="libxml2-parser.html#xmlParserOption">xmlParserOption</a></td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the resulting document 
tree</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCtxtReadIO"/>xmlCtxtReadIO ()</h3><pre 
class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>      xmlCtxtReadIO           (<a 
href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</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 XML document from I/O functions and source and build a tree. This reuses the existing 
@ctxt parser context</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span 
class="term"><i><tt>ioread</tt></i>:</span></td><td>an I/O read function</td></tr><tr><td><span 
class="term"><i><tt>ioclose</tt></i>:</span></td><td>an I/O close function</td></tr><tr><td><span 
class="term"><i><tt>ioctx</tt></i>:</span></td><td>an I/O handler</td></tr><tr><td><span 
class="term"><i><tt>URL</tt></i>:</span></td><td>the base URL to use for the document</td></tr><tr><td><span 
class="term"><i><tt>encoding</tt></i>:</span></td><td>the document encoding, or NULL</td></tr><tr><td><span 
class="term"><i><tt>options</tt></i>:</span></td><td>a combination of <a 
href="libxml2-parser.html#xmlParserOption">xmlParserOption</a></td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the resulting document 
tree</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCtxtReadMemory"/>xmlCtxtReadMemory ()</h3><pre 
class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>      xmlCtxtReadMemory       (<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)<br/>
-</pre><p>parse an XML in-memory document and build a tree. This reuses the existing @ctxt parser context</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span 
class="term"><i><tt>buffer</tt></i>:</span></td><td>a pointer to a char array</td></tr><tr><td><span 
class="term"><i><tt>size</tt></i>:</span></td><td>the size of the array</td></tr><tr><td><span 
class="term"><i><tt>URL</tt></i>:</span></td><td>the base URL to use for the document</td></tr><tr><td><span 
class="term"><i><tt>encoding</tt></i>:</span></td><td>the document encoding, or NULL</td></tr><tr><td><span 
class="term"><i><tt>options</tt></i>:</span></td><td>a combination of <a 
href="libxml2-parser.html#xmlParserOption">xmlParserOption</a></td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the resulting document 
tree</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCtxtReset"/>xmlCtxtReset ()</h3><pre 
class="programlisting">void       xmlCtxtReset                    (<a 
href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br/>
-</pre><p>Reset a parser context</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCtxtResetPush"/>xmlCtxtResetPush ()</h3><pre 
class="programlisting">int        xmlCtxtResetPush                (<a 
href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br/>                                   
const char * chunk, <br/>                                       int size, <br/>                               
          const char * filename, <br/>                                    const char * encoding)<br/>
-</pre><p>Reset a push 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 XML parser context</td></tr><tr><td><span 
class="term"><i><tt>chunk</tt></i>:</span></td><td>a pointer to an array of chars</td></tr><tr><td><span 
class="term"><i><tt>size</tt></i>:</span></td><td>number of chars in the array</td></tr><tr><td><span 
class="term"><i><tt>filename</tt></i>:</span></td><td>an optional file name or URI</td></tr><tr><td><span 
class="term"><i><tt>encoding</tt></i>:</span></td><td>the document encoding, or NULL</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success and 1 in case of 
error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCtxtUseOptions"/>xmlCtxtUseOptions ()</h3><pre 
class="programlisting">int      xmlCtxtUseOptions               (<a 
href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br/>                                   
int options)<br/>
-</pre><p>Applies the options to the parser context</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span 
class="term"><i><tt>options</tt></i>:</span></td><td>a combination of <a 
href="libxml2-parser.html#xmlParserOption">xmlParserOption</a></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="xmlFreeParserCtxt"/>xmlFreeParserCtxt ()</h3><pre 
class="programlisting">void     xmlFreeParserCtxt               (<a 
href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br/>
-</pre><p>Free all the memory used by a parser context. However the parsed document in ctxt-&gt;myDoc is not 
freed.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlGetExternalEntityLoader"/>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>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a 
href="libxml2-parser.html#xmlExternalEntityLoader">xmlExternalEntityLoader</a> function 
pointer</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlGetFeature"/>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"/>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"/>xmlHasFeature ()</h3><pre 
class="programlisting">int      xmlHasFeature                   (<a 
href="libxml2-parser.html#xmlFeature">xmlFeature</a> feature)<br/>
-</pre><p>Examines if the library has been compiled with a given feature.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>feature</tt></i>:</span></td><td>the feature to be examined</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>a non-zero value if the feature exist, otherwise zero. 
Returns zero (0) if the feature does not exist or an unknown unknown feature is requested, non-zero 
otherwise.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlIOParseDTD"/>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>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>sax</tt></i>:</span></td><td>the SAX handler block or NULL</td></tr><tr><td><span 
class="term"><i><tt>input</tt></i>:</span></td><td>an Input Buffer</td></tr><tr><td><span 
class="term"><i><tt>enc</tt></i>:</span></td><td>the charset encoding if known</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="xmlInitNodeInfoSeq"/>xmlInitNodeInfoSeq ()</h3><pre 
class="programlisting">void   xmlInitNodeInfoSeq              (<a 
href="libxml2-parser.html#xmlParserNodeInfoSeqPtr">xmlParserNodeInfoSeqPtr</a> seq)<br/>
-</pre><p>-- Initialize (set to initial state) node info sequence</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>seq</tt></i>:</span></td><td>a node info sequence 
pointer</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlInitParser"/>xmlInitParser ()</h3><pre 
class="programlisting">void     xmlInitParser                   (void)<br/>
-</pre><p>Initialization function for the XML parser. This is not reentrant. Call once before processing in 
case of use in multithreaded programs.</p>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlInitParserCtxt"/>xmlInitParserCtxt ()</h3><pre 
class="programlisting">int      xmlInitParserCtxt               (<a 
href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br/>
-</pre><p>DEPRECATED: Internal function which will be made private in a future version. Initialize a parser 
context</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success and -1 in case of 
error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlKeepBlanksDefault"/>xmlKeepBlanksDefault ()</h3><pre 
class="programlisting">int        xmlKeepBlanksDefault            (int val)<br/>
-</pre><p>Set and return the previous value for default blanks text nodes support. The 1.x version of the 
parser used an heuristic to try to detect ignorable white spaces. As a result the SAX callback was generating 
xmlSAX2IgnorableWhitespace() callbacks instead of characters() one, and when using the DOM output text nodes 
containing those blanks were not generated. The 2.x and later version will switch to the XML standard way and 
ignorableWhitespace() are only generated when running the parser in validating mode and when the current 
element doesn't allow CDATA or mixed content. This function is provided as a way to force the standard 
behavior on 1.X libs and to switch back to the old mode for compatibility when running 1.X client code on 2.X 
. Upgrade of 1.X code should be done by using xmlIsBlankNode() commodity function to detect the "empty" nodes 
generated. This value also affect autogeneration of indentation when saving code if blanks sections are kept, 
indentation is not genera
 ted.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>val</tt></i>:</span></td><td>int 0 or 1</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the last value for 0 for no substitution, 1 for 
substitution.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlLineNumbersDefault"/>xmlLineNumbersDefault 
()</h3><pre class="programlisting">int      xmlLineNumbersDefault           (int val)<br/>
-</pre><p>Set and return the previous value for enabling line numbers in elements contents. This may break on 
old application and is turned off by default.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>val</tt></i>:</span></td><td>int 0 or 1</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the last value for 0 for no substitution, 1 for 
substitution.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlLoadExternalEntity"/>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>Load an external entity, note that the use of this function for unparsed entities may generate 
problems</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>URL</tt></i>:</span></td><td>the URL for the entity to load</td></tr><tr><td><span 
class="term"><i><tt>ID</tt></i>:</span></td><td>the Public ID for the entity to load</td></tr><tr><td><span 
class="term"><i><tt>ctxt</tt></i>:</span></td><td>the context in which the entity is called or 
NULL</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a 
href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> or NULL</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNewIOInputStream"/>xmlNewIOInputStream ()</h3><pre 
class="programlisting"><a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>  
xmlNewIOInputStream     (<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br/>        
                                   <a 
href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> input, <br/>                     
                       <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc)<br/>
-</pre><p>Create a new input stream structure encapsulating the @input into a stream suitable for the 
parser.</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>input</tt></i>:</span></td><td>an I/O Input</td></tr><tr><td><span 
class="term"><i><tt>enc</tt></i>:</span></td><td>the charset encoding if known</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the new input stream or 
NULL</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNewParserCtxt"/>xmlNewParserCtxt ()</h3><pre 
class="programlisting"><a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a>  xmlNewParserCtxt    
    (void)<br/>
-</pre><p>Allocate and initialize a new parser context.</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 <a 
href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> or NULL</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNewSAXParserCtxt"/>xmlNewSAXParserCtxt ()</h3><pre 
class="programlisting"><a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a>    
xmlNewSAXParserCtxt     (<a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br/>         
                                   void * userData)<br/>
-</pre><p>Allocate and initialize a new SAX parser context.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>sax</tt></i>:</span></td><td>SAX handler</td></tr><tr><td><span 
class="term"><i><tt>userData</tt></i>:</span></td><td>user data</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a 
href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> or NULL</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlParseBalancedChunkMemory"/>xmlParseBalancedChunkMemory ()</h3><pre class="programlisting">int  
xmlParseBalancedChunkMemory     (<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)<br/>
-</pre><p>Parse a well-balanced chunk of an XML document called by the parser The allowed sequence for the 
Well Balanced Chunk is the one defined by the content production in the XML grammar: [43] content ::= 
(element | CharData | Reference | CDSect | PI | Comment)*</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 the chunk pertains to (must not be 
NULL)</td></tr><tr><td><span class="term"><i><tt>sax</tt></i>:</span></td><td>the SAX handler block (possibly 
NULL)</td></tr><tr><td><span class="term"><i><tt>user_data</tt></i>:</span></td><td>The user data returned on 
SAX callbacks (possibly NULL)</td></tr><tr><td><span class="term"><i><tt>depth</tt></i>:</span></td><td>Used 
for loop detection, use 0</td></tr><tr><td><span class="term"><i><tt>string</tt></i>:</span></td><td>the 
input string in UTF8 or ISO-Latin (zero terminated)</td></tr><tr><td><span 
class="term"><i><tt>lst</tt></i>:</span></td><td>the return value for the set of parsed 
nodes</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if the chunk is well 
balanced, -1 in case of args problem and the parser error code otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlParseBalancedChunkMemoryRecover"/>xmlParseBalancedChunkMemoryRecover ()</h3><pre 
class="programlisting">int    xmlParseBalancedChunkMemoryRecover      (<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, <br/> 
                                             int recover)<br/>
-</pre><p>Parse a well-balanced chunk of an XML document called by the parser The allowed sequence for the 
Well Balanced Chunk is the one defined by the content production in the XML grammar: [43] content ::= 
(element | CharData | Reference | CDSect | PI | Comment)*</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 the chunk pertains to (must not be 
NULL)</td></tr><tr><td><span class="term"><i><tt>sax</tt></i>:</span></td><td>the SAX handler block (possibly 
NULL)</td></tr><tr><td><span class="term"><i><tt>user_data</tt></i>:</span></td><td>The user data returned on 
SAX callbacks (possibly NULL)</td></tr><tr><td><span class="term"><i><tt>depth</tt></i>:</span></td><td>Used 
for loop detection, use 0</td></tr><tr><td><span class="term"><i><tt>string</tt></i>:</span></td><td>the 
input string in UTF8 or ISO-Latin (zero terminated)</td></tr><tr><td><span 
class="term"><i><tt>lst</tt></i>:</span></td><td>the return value for the set of parsed 
nodes</td></tr><tr><td><span class="term"><i><tt>recover</tt></i>:</span></td><td>return nodes even if the 
data is broken (use 0)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if the 
chun
 k is well balanced, -1 in case of args problem and the parser error code otherwise In case recover is set to 
1, the nodelist will not be empty even if the parsed chunk is not well balanced, assuming the parsing 
succeeded to some extent.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParseChunk"/>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</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>chunk</tt></i>:</span></td><td>an char array</td></tr><tr><td><span 
class="term"><i><tt>size</tt></i>:</span></td><td>the size in byte of the chunk</td></tr><tr><td><span 
class="term"><i><tt>terminate</tt></i>:</span></td><td>last chunk indicator</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>zero if no error, the <a 
href="libxml2-xmlerror.html#xmlParserErrors">xmlParserErrors</a> 
otherwise.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParseCtxtExternalEntity"/>xmlParseCtxtExternalEntity 
()</h3><pre class="programlisting">int    xmlParseCtxtExternalEntity      (<a 
href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctx, <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> * lst)<br/>
-</pre><p>Parse an external general entity within an existing parsing context 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><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>the existing parsing context</td></tr><tr><td><span 
class="term"><i><tt>URL</tt></i>:</span></td><td>the URL for the entity to load</td></tr><tr><td><span 
class="term"><i><tt>ID</tt></i>:</span></td><td>the System ID for the entity to load</td></tr><tr><td><span 
class="term"><i><tt>lst</tt></i>:</span></td><td>the return value for the set of parsed 
nodes</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if the entity is well 
formed, -1 in case of args problem and the parser error code otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParseDTD"/>xmlParseDTD ()</h3><pre 
class="programlisting"><a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a>  xmlParseDTD             (const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br/>                                  const 
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * SystemID)<br/>
-</pre><p>Load and parse an external subset.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ExternalID</tt></i>:</span></td><td>a NAME* containing the External ID of the 
DTD</td></tr><tr><td><span class="term"><i><tt>SystemID</tt></i>:</span></td><td>a NAME* containing the URL 
to the DTD</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.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParseDoc"/>xmlParseDoc ()</h3><pre 
class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>  xmlParseDoc             (const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur)<br/>
-</pre><p>DEPRECATED: Use xmlReadDoc. parse an XML in-memory document and build a tree.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>cur</tt></i>:</span></td><td>a pointer to an array of <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a></td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the resulting document 
tree</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParseDocument"/>xmlParseDocument ()</h3><pre 
class="programlisting">int        xmlParseDocument                (<a 
href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br/>
-</pre><p>parse an XML document (and build a tree if using the standard SAX interface). [1] document ::= 
prolog element Misc* [22] prolog ::= XMLDecl? Misc* (doctypedecl Misc*)?</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>0, -1 in case of error. the parser context is augmented 
as a result of the parsing.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParseEntity"/>xmlParseEntity ()</h3><pre 
class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>    xmlParseEntity          (const 
char * filename)<br/>
-</pre><p>parse an XML external entity out of context and build a tree. [78] extParsedEnt ::= TextDecl? 
content This correspond to a "Well Balanced" chunk</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>filename</tt></i>:</span></td><td>the filename</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the resulting document 
tree</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParseExtParsedEnt"/>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>
-<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>0, -1 in case of error. the parser context is augmented 
as a result of the parsing.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParseExternalEntity"/>xmlParseExternalEntity 
()</h3><pre class="programlisting">int    xmlParseExternalEntity          (<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> * lst)<br/>
-</pre><p>Parse an external general 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><tr><td><span 
class="term"><i><tt>doc</tt></i>:</span></td><td>the document the chunk pertains to</td></tr><tr><td><span 
class="term"><i><tt>sax</tt></i>:</span></td><td>the SAX handler block (possibly NULL)</td></tr><tr><td><span 
class="term"><i><tt>user_data</tt></i>:</span></td><td>The user data returned on SAX callbacks (possibly 
NULL)</td></tr><tr><td><span class="term"><i><tt>depth</tt></i>:</span></td><td>Used for loop detection, use 
0</td></tr><tr><td><span class="term"><i><tt>URL</tt></i>:</span></td><td>the URL for the entity to 
load</td></tr><tr><td><span class="term"><i><tt>ID</tt></i>:</span></td><td>the System ID for the entity to 
load</td></tr><tr><td><span class="term"><i><tt>lst</tt></i>:</span></td><td>the return value for the set of 
parsed nodes</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if the entity is 
well formed, -1 in case of args problem and the parser er
 ror code otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParseFile"/>xmlParseFile ()</h3><pre 
class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>        xmlParseFile            
(const char * filename)<br/>
-</pre><p>DEPRECATED: Use xmlReadFile. parse an XML file and build a tree. Automatic support for 
ZLIB/Compress compressed document is provided by default if found at compile-time.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>filename</tt></i>:</span></td><td>the filename</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the resulting document tree if the file was wellformed, 
NULL otherwise.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParseInNodeContext"/>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><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>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>node</tt></i>:</span></td><td>the context node</td></tr><tr><td><span 
class="term"><i><tt>data</tt></i>:</span></td><td>the input string</td></tr><tr><td><span 
class="term"><i><tt>datalen</tt></i>:</span></td><td>the input string length in bytes</td></tr><tr><td><span 
class="term"><i><tt>options</tt></i>:</span></td><td>a combination of <a 
href="libxml2-parser.html#xmlParserOption">xmlParserOption</a></td></tr><tr><td><span 
class="term"><i><tt>lst</tt></i>:</span></td><td>the return value for the set of parsed 
nodes</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td><a 
href="libxml2-xmlerror.html#XML_ERR_OK">XML_ERR_OK</a> if the chunk is well balanced, and the parser error 
code otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParseMemory"/>xmlParseMemory ()</h3><pre 
class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>    xmlParseMemory          (const 
char * buffer, <br/>                                      int size)<br/>
-</pre><p>DEPRECATED: Use xmlReadMemory. parse an XML in-memory block and build a tree.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>buffer</tt></i>:</span></td><td>an pointer to a char array</td></tr><tr><td><span 
class="term"><i><tt>size</tt></i>:</span></td><td>the size of the array</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the resulting document 
tree</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParserAddNodeInfo"/>xmlParserAddNodeInfo ()</h3><pre 
class="programlisting">void       xmlParserAddNodeInfo            (<a 
href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br/>                                   
const <a href="libxml2-parser.html#xmlParserNodeInfoPtr">xmlParserNodeInfoPtr</a> info)<br/>
-</pre><p>Insert node info record into the sorted sequence</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>info</tt></i>:</span></td><td>a node info sequence 
pointer</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParserFindNodeInfo"/>xmlParserFindNodeInfo 
()</h3><pre class="programlisting">const <a 
href="libxml2-parser.html#xmlParserNodeInfo">xmlParserNodeInfo</a> *    xmlParserFindNodeInfo   (const <a 
href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctx, <br/>                                     
                 const <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br/>
-</pre><p>Find the parser node info struct for a given node</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span 
class="term"><i><tt>node</tt></i>:</span></td><td>an XML node within the tree</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>an <a 
href="libxml2-parser.html#xmlParserNodeInfo">xmlParserNodeInfo</a> block pointer or 
NULL</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParserFindNodeInfoIndex"/>xmlParserFindNodeInfoIndex 
()</h3><pre class="programlisting">unsigned long  xmlParserFindNodeInfoIndex      (const <a 
href="libxml2-parser.html#xmlParserNodeInfoSeqPtr">xmlParserNodeInfoSeqPtr</a> seq, <br/>                     
                         const <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br/>
-</pre><p><a href="libxml2-parser.html#xmlParserFindNodeInfoIndex">xmlParserFindNodeInfoIndex</a> : Find the 
index that the info record for the given node is or should be at in a sorted sequence</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>seq</tt></i>:</span></td><td>a node info sequence pointer</td></tr><tr><td><span 
class="term"><i><tt>node</tt></i>:</span></td><td>an XML node pointer</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>a long indicating the position of the 
record</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParserInputGrow"/>xmlParserInputGrow ()</h3><pre 
class="programlisting">int    xmlParserInputGrow              (<a 
href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> in, <br/>                                   
int len)<br/>
-</pre><p>This function increase the input for the parser. It tries to preserve pointers to the input buffer, 
and keep already read data</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>in</tt></i>:</span></td><td>an XML parser input</td></tr><tr><td><span 
class="term"><i><tt>len</tt></i>:</span></td><td>an indicative size for the lookahead</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the amount of char read, or -1 in case of error, 0 
indicate the end of this entity</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParserInputRead"/>xmlParserInputRead ()</h3><pre 
class="programlisting">int    xmlParserInputRead              (<a 
href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> in, <br/>                                   
int len)<br/>
-</pre><p>This function was internal and is deprecated.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>in</tt></i>:</span></td><td>an XML parser input</td></tr><tr><td><span 
class="term"><i><tt>len</tt></i>:</span></td><td>an indicative size for the lookahead</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 as this is an error to use 
it.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlPedanticParserDefault"/>xmlPedanticParserDefault 
()</h3><pre class="programlisting">int        xmlPedanticParserDefault        (int val)<br/>
-</pre><p>Set and return the previous value for enabling pedantic warnings.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>val</tt></i>:</span></td><td>int 0 or 1</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the last value for 0 for no substitution, 1 for 
substitution.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlReadDoc"/>xmlReadDoc ()</h3><pre 
class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>    xmlReadDoc              (const 
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur, <br/>                                         
const char * URL, <br/>                                         const char * encoding, <br/>                  
                  int options)<br/>
-</pre><p>parse an XML in-memory document and build a tree.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>cur</tt></i>:</span></td><td>a pointer to a zero terminated string</td></tr><tr><td><span 
class="term"><i><tt>URL</tt></i>:</span></td><td>the base URL to use for the document</td></tr><tr><td><span 
class="term"><i><tt>encoding</tt></i>:</span></td><td>the document encoding, or NULL</td></tr><tr><td><span 
class="term"><i><tt>options</tt></i>:</span></td><td>a combination of <a 
href="libxml2-parser.html#xmlParserOption">xmlParserOption</a></td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the resulting document 
tree</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlReadFd"/>xmlReadFd ()</h3><pre 
class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>      xmlReadFd               (int 
fd, <br/>                                   const char * URL, <br/>                                         
const char * encoding, <br/>                                    int options)<br/>
-</pre><p>parse an XML from a file descriptor and build a tree. NOTE that the file descriptor will not be 
closed when the reader is closed or reset.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>fd</tt></i>:</span></td><td>an open file descriptor</td></tr><tr><td><span 
class="term"><i><tt>URL</tt></i>:</span></td><td>the base URL to use for the document</td></tr><tr><td><span 
class="term"><i><tt>encoding</tt></i>:</span></td><td>the document encoding, or NULL</td></tr><tr><td><span 
class="term"><i><tt>options</tt></i>:</span></td><td>a combination of <a 
href="libxml2-parser.html#xmlParserOption">xmlParserOption</a></td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the resulting document 
tree</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlReadFile"/>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>parse an XML file from the filesystem or the network.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>filename</tt></i>:</span></td><td>a file or URL</td></tr><tr><td><span 
class="term"><i><tt>encoding</tt></i>:</span></td><td>the document encoding, or NULL</td></tr><tr><td><span 
class="term"><i><tt>options</tt></i>:</span></td><td>a combination of <a 
href="libxml2-parser.html#xmlParserOption">xmlParserOption</a></td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the resulting document 
tree</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlReadIO"/>xmlReadIO ()</h3><pre 
class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>      xmlReadIO               (<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 XML document from I/O functions and source and build a tree.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ioread</tt></i>:</span></td><td>an I/O read function</td></tr><tr><td><span 
class="term"><i><tt>ioclose</tt></i>:</span></td><td>an I/O close function</td></tr><tr><td><span 
class="term"><i><tt>ioctx</tt></i>:</span></td><td>an I/O handler</td></tr><tr><td><span 
class="term"><i><tt>URL</tt></i>:</span></td><td>the base URL to use for the document</td></tr><tr><td><span 
class="term"><i><tt>encoding</tt></i>:</span></td><td>the document encoding, or NULL</td></tr><tr><td><span 
class="term"><i><tt>options</tt></i>:</span></td><td>a combination of <a 
href="libxml2-parser.html#xmlParserOption">xmlParserOption</a></td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the resulting document 
tree</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlReadMemory"/>xmlReadMemory ()</h3><pre 
class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>      xmlReadMemory           
(const char * buffer, <br/>                                      int size, <br/>                              
           const char * URL, <br/>                                         const char * encoding, <br/>       
                             int options)<br/>
-</pre><p>parse an XML in-memory document and build a tree.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>buffer</tt></i>:</span></td><td>a pointer to a char array</td></tr><tr><td><span 
class="term"><i><tt>size</tt></i>:</span></td><td>the size of the array</td></tr><tr><td><span 
class="term"><i><tt>URL</tt></i>:</span></td><td>the base URL to use for the document</td></tr><tr><td><span 
class="term"><i><tt>encoding</tt></i>:</span></td><td>the document encoding, or NULL</td></tr><tr><td><span 
class="term"><i><tt>options</tt></i>:</span></td><td>a combination of <a 
href="libxml2-parser.html#xmlParserOption">xmlParserOption</a></td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the resulting document 
tree</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlRecoverDoc"/>xmlRecoverDoc ()</h3><pre 
class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>      xmlRecoverDoc           
(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur)<br/>
-</pre><p>DEPRECATED: Use <a href="libxml2-parser.html#xmlReadDoc">xmlReadDoc</a> with XML_PARSE_RECOVER. 
parse an XML in-memory document and build a tree. In the case the document is not Well Formed, a attempt to 
build a tree is tried anyway</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>cur</tt></i>:</span></td><td>a pointer to an array of <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a></td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the resulting document tree or NULL in case of 
failure</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlRecoverFile"/>xmlRecoverFile ()</h3><pre 
class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>    xmlRecoverFile          (const 
char * filename)<br/>
-</pre><p>DEPRECATED: Use <a href="libxml2-parser.html#xmlReadFile">xmlReadFile</a> with XML_PARSE_RECOVER. 
parse an XML file and build a tree. Automatic support for ZLIB/Compress compressed document is provided by 
default if found at compile-time. In the case the document is not Well Formed, it attempts to build a tree 
anyway</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>filename</tt></i>:</span></td><td>the filename</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the resulting document tree or NULL in case of 
failure</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlRecoverMemory"/>xmlRecoverMemory ()</h3><pre 
class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>        xmlRecoverMemory        
(const char * buffer, <br/>                                      int size)<br/>
-</pre><p>DEPRECATED: Use <a href="libxml2-parser.html#xmlReadMemory">xmlReadMemory</a> with 
XML_PARSE_RECOVER. parse an XML in-memory block and build a tree. In the case the document is not Well 
Formed, an attempt to build a tree is tried anyway</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>buffer</tt></i>:</span></td><td>an pointer to a char array</td></tr><tr><td><span 
class="term"><i><tt>size</tt></i>:</span></td><td>the size of the array</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the resulting document tree or NULL in case of 
error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSAXParseDTD"/>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>Load and parse an external subset.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>sax</tt></i>:</span></td><td>the SAX handler block</td></tr><tr><td><span 
class="term"><i><tt>ExternalID</tt></i>:</span></td><td>a NAME* containing the External ID of the 
DTD</td></tr><tr><td><span class="term"><i><tt>SystemID</tt></i>:</span></td><td>a NAME* containing the URL 
to the DTD</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.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSAXParseDoc"/>xmlSAXParseDoc ()</h3><pre 
class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>    xmlSAXParseDoc          (<a 
href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br/>                                    
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur, <br/>                                       
  int recovery)<br/>
-</pre><p>DEPRECATED: Use <a href="libxml2-parser.html#xmlNewSAXParserCtxt">xmlNewSAXParserCtxt</a> and 
xmlCtxtReadDoc. parse an XML in-memory document and build a tree. It use the given SAX function block to 
handle the parsing callback. If sax is NULL, fallback to the default DOM tree building routines.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>sax</tt></i>:</span></td><td>the SAX handler block</td></tr><tr><td><span 
class="term"><i><tt>cur</tt></i>:</span></td><td>a pointer to an array of <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a></td></tr><tr><td><span 
class="term"><i><tt>recovery</tt></i>:</span></td><td>work in recovery mode, i.e. tries to read no Well 
Formed documents</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the resulting 
document tree</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSAXParseEntity"/>xmlSAXParseEntity ()</h3><pre 
class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>      xmlSAXParseEntity       (<a 
href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br/>                                    
const char * filename)<br/>
-</pre><p>parse an XML external entity out of context and build a tree. It use the given SAX function block 
to handle the parsing callback. If sax is NULL, fallback to the default DOM tree building routines. [78] 
extParsedEnt ::= TextDecl? content This correspond to a "Well Balanced" chunk</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>sax</tt></i>:</span></td><td>the SAX handler block</td></tr><tr><td><span 
class="term"><i><tt>filename</tt></i>:</span></td><td>the filename</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the resulting document 
tree</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSAXParseFile"/>xmlSAXParseFile ()</h3><pre 
class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>  xmlSAXParseFile         (<a 
href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br/>                                    
const char * filename, <br/>                                    int recovery)<br/>
-</pre><p>DEPRECATED: Use <a href="libxml2-parser.html#xmlNewSAXParserCtxt">xmlNewSAXParserCtxt</a> and 
xmlCtxtReadFile. parse an XML file and build a tree. Automatic support for ZLIB/Compress compressed document 
is provided by default if found at compile-time. It use the given SAX function block to handle the parsing 
callback. If sax is NULL, fallback to the default DOM tree building routines.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>sax</tt></i>:</span></td><td>the SAX handler block</td></tr><tr><td><span 
class="term"><i><tt>filename</tt></i>:</span></td><td>the filename</td></tr><tr><td><span 
class="term"><i><tt>recovery</tt></i>:</span></td><td>work in recovery mode, i.e. tries to read no Well 
Formed documents</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the resulting 
document tree</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSAXParseFileWithData"/>xmlSAXParseFileWithData 
()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>  
xmlSAXParseFileWithData (<a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br/>         
                           const char * filename, <br/>                                    int recovery, 
<br/>                                     void * data)<br/>
-</pre><p>DEPRECATED: Use <a href="libxml2-parser.html#xmlNewSAXParserCtxt">xmlNewSAXParserCtxt</a> and 
xmlCtxtReadFile. parse an XML file and build a tree. Automatic support for ZLIB/Compress compressed document 
is provided by default if found at compile-time. It use the given SAX function block to handle the parsing 
callback. If sax is NULL, fallback to the default DOM tree building routines. User data (void *) is stored 
within the parser context in the context's _private member, so it is available nearly everywhere in libxml</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>sax</tt></i>:</span></td><td>the SAX handler block</td></tr><tr><td><span 
class="term"><i><tt>filename</tt></i>:</span></td><td>the filename</td></tr><tr><td><span 
class="term"><i><tt>recovery</tt></i>:</span></td><td>work in recovery mode, i.e. tries to read no Well 
Formed documents</td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>the 
userdata</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the resulting document 
tree</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSAXParseMemory"/>xmlSAXParseMemory ()</h3><pre 
class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>      xmlSAXParseMemory       (<a 
href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br/>                                    
const char * buffer, <br/>                                      int size, <br/>                               
          int recovery)<br/>
-</pre><p>DEPRECATED: Use <a href="libxml2-parser.html#xmlNewSAXParserCtxt">xmlNewSAXParserCtxt</a> and 
xmlCtxtReadMemory. parse an XML in-memory block and use the given SAX function block to handle the parsing 
callback. If sax is NULL, fallback to the default DOM tree building routines.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>sax</tt></i>:</span></td><td>the SAX handler block</td></tr><tr><td><span 
class="term"><i><tt>buffer</tt></i>:</span></td><td>an pointer to a char array</td></tr><tr><td><span 
class="term"><i><tt>size</tt></i>:</span></td><td>the size of the array</td></tr><tr><td><span 
class="term"><i><tt>recovery</tt></i>:</span></td><td>work in recovery mode, i.e. tries to read not Well 
Formed documents</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the resulting 
document tree</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSAXParseMemoryWithData"/>xmlSAXParseMemoryWithData 
()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>      
xmlSAXParseMemoryWithData       (<a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br/> 
                                           const char * buffer, <br/>                                         
     int size, <br/>                                                 int recovery, <br/>                      
                       void * data)<br/>
-</pre><p>DEPRECATED: Use <a href="libxml2-parser.html#xmlNewSAXParserCtxt">xmlNewSAXParserCtxt</a> and 
xmlCtxtReadMemory. parse an XML in-memory block and use the given SAX function block to handle the parsing 
callback. If sax is NULL, fallback to the default DOM tree building routines. User data (void *) is stored 
within the parser context in the context's _private member, so it is available nearly everywhere in libxml</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>sax</tt></i>:</span></td><td>the SAX handler block</td></tr><tr><td><span 
class="term"><i><tt>buffer</tt></i>:</span></td><td>an pointer to a char array</td></tr><tr><td><span 
class="term"><i><tt>size</tt></i>:</span></td><td>the size of the array</td></tr><tr><td><span 
class="term"><i><tt>recovery</tt></i>:</span></td><td>work in recovery mode, i.e. tries to read no Well 
Formed documents</td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>the 
userdata</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the resulting document 
tree</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSAXUserParseFile"/>xmlSAXUserParseFile ()</h3><pre 
class="programlisting">int  xmlSAXUserParseFile             (<a 
href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br/>                                    
void * user_data, <br/>                                         const char * filename)<br/>
-</pre><p>DEPRECATED: Use <a href="libxml2-parser.html#xmlNewSAXParserCtxt">xmlNewSAXParserCtxt</a> and 
xmlCtxtReadFile. parse an XML file and call the given SAX handler routines. Automatic support for 
ZLIB/Compress compressed document is provided</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>sax</tt></i>:</span></td><td>a SAX handler</td></tr><tr><td><span 
class="term"><i><tt>user_data</tt></i>:</span></td><td>The user data returned on SAX 
callbacks</td></tr><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>a file 
name</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success or a 
error number otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSAXUserParseMemory"/>xmlSAXUserParseMemory 
()</h3><pre class="programlisting">int      xmlSAXUserParseMemory           (<a 
href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br/>                                    
void * user_data, <br/>                                         const char * buffer, <br/>                    
                  int size)<br/>
-</pre><p>DEPRECATED: Use <a href="libxml2-parser.html#xmlNewSAXParserCtxt">xmlNewSAXParserCtxt</a> and 
xmlCtxtReadMemory. parse an XML in-memory buffer and call the given SAX handler routines.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>sax</tt></i>:</span></td><td>a SAX handler</td></tr><tr><td><span 
class="term"><i><tt>user_data</tt></i>:</span></td><td>The user data returned on SAX 
callbacks</td></tr><tr><td><span class="term"><i><tt>buffer</tt></i>:</span></td><td>an in-memory XML 
document input</td></tr><tr><td><span class="term"><i><tt>size</tt></i>:</span></td><td>the length of the XML 
document in bytes</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of 
success or a error number otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSetExternalEntityLoader"/>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>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>f</tt></i>:</span></td><td>the new entity resolver 
function</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSetFeature"/>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"/>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><p>DEPRECATED: Don't use. Setup the parser context to parse a new buffer; Clears any prior contents 
from the parser context. The buffer parameter must not be NULL, but the filename parameter can be</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>buffer</tt></i>:</span></td><td>a <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * 
buffer</td></tr><tr><td><span class="term"><i><tt>filename</tt></i>:</span></td><td>a file 
name</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlStopParser"/>xmlStopParser ()</h3><pre 
class="programlisting">void     xmlStopParser                   (<a 
href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br/>
-</pre><p>Blocks further parser processing</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="xmlSubstituteEntitiesDefault"/>xmlSubstituteEntitiesDefault ()</h3><pre class="programlisting">int      
  xmlSubstituteEntitiesDefault    (int val)<br/>
-</pre><p>Set and return the previous value for default entity support. Initially the parser always keep 
entity references instead of substituting entity values in the output. This function has to be used to change 
the default parser behavior SAX::substituteEntities() has to be used for changing that on a file by file 
basis.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>val</tt></i>:</span></td><td>int 0 or 1</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the last value for 0 for no substitution, 1 for 
substitution.</td></tr></tbody></table></div></div>
-        <hr/>
-      </div>
-    </div>
-  </body>
+</pre>
+<p></p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>the user data (XML parser context)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>elem</tt></i>:</span></td>
+<td>the name of the element</td>
+</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>
+</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>
+</tr>
+<tr>
+<td><span class="term"><i><tt>def</tt></i>:</span></td>
+<td>the type of default value</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>
+</tr>
+<tr>
+<td><span class="term"><i><tt>tree</tt></i>:</span></td>
+<td>the tree of enumerated value set</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>the user data (XML parser context)</td>
+</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>
+</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>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="cdataBlockSAXFunc"></a>Function type cdataBlockSAXFunc</h3>
+<pre class="programlisting">void       cdataBlockSAXFunc               (void * ctx, <br>                     
                   const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br>                   
                     int len)<br>
+</pre>
+<p>Called when a pcdata block has been parsed.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>the user data (XML parser context)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>value</tt></i>:</span></td>
+<td>The pcdata content</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>len</tt></i>:</span></td>
+<td>the block length</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="charactersSAXFunc"></a>Function type charactersSAXFunc</h3>
+<pre class="programlisting">void       charactersSAXFunc               (void * ctx, <br>                     
                   const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ch, <br>                      
             int len)<br>
+</pre>
+<p>Receiving some chars from the parser.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>the user data (XML parser context)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ch</tt></i>:</span></td>
+<td>a <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> string</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>len</tt></i>:</span></td>
+<td>the number of <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="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>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>the user data (XML parser context)</td>
+</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>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="elementDeclSAXFunc"></a>Function type elementDeclSAXFunc</h3>
+<pre class="programlisting">void       elementDeclSAXFunc              (void * ctx, <br>                     
                   const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>                    
                     int type, <br>                                  <a 
href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> content)<br>
+</pre>
+<p>An element definition has been parsed.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>the user data (XML parser context)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the element name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>type</tt></i>:</span></td>
+<td>the element type</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>content</tt></i>:</span></td>
+<td>the element value tree</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="endDocumentSAXFunc"></a>Function type endDocumentSAXFunc</h3>
+<pre class="programlisting">void       endDocumentSAXFunc              (void * ctx)<br>
+</pre>
+<p>Called when the document end has been detected.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>the user data (XML parser context)</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="endElementNsSAX2Func"></a>Function type endElementNsSAX2Func</h3>
+<pre class="programlisting">void       endElementNsSAX2Func            (void * ctx, <br>                     
                   const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * localname, <br>               
                     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br>                
                       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URI)<br>
+</pre>
+<p>SAX2 callback when an element end has been detected by the parser. It provides the namespace information 
for the element.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>the user data (XML parser context)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>localname</tt></i>:</span></td>
+<td>the local name of the element</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>prefix</tt></i>:</span></td>
+<td>the element namespace prefix if available</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>URI</tt></i>:</span></td>
+<td>the element namespace name if available</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="endElementSAXFunc"></a>Function type endElementSAXFunc</h3>
+<pre class="programlisting">void       endElementSAXFunc               (void * ctx, <br>                     
                   const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
+</pre>
+<p>Called when the end of an element has been detected.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>the user data (XML parser context)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>The element name</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="entityDeclSAXFunc"></a>Function type entityDeclSAXFunc</h3>
+<pre class="programlisting">void       entityDeclSAXFunc               (void * ctx, <br>                     
                   const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>                    
                     int type, <br>                                  const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * publicId, <br>                                     const 
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * systemId, <br>                                     <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br>
+</pre>
+<p>An entity definition has been parsed.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>the user data (XML parser context)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the entity name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>type</tt></i>:</span></td>
+<td>the entity type</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>publicId</tt></i>:</span></td>
+<td>The public ID of the entity</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>systemId</tt></i>:</span></td>
+<td>The system ID of the entity</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>content</tt></i>:</span></td>
+<td>the entity value (without processing).</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="errorSAXFunc"></a>Function type errorSAXFunc</h3>
+<pre class="programlisting">void       errorSAXFunc                    (void * ctx, <br>                     
                   const char * msg, <br>                                  ... ...)<br>
+</pre>
+<p>Display and format an error messages, callback.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>an XML parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>msg</tt></i>:</span></td>
+<td>the message to display/transmit</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>...</tt></i>:</span></td>
+<td>extra parameters for the message display</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="externalSubsetSAXFunc"></a>Function type externalSubsetSAXFunc</h3>
+<pre class="programlisting">void       externalSubsetSAXFunc           (void * ctx, <br>                     
                   const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>                    
                     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br>            
                       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * SystemID)<br>
+</pre>
+<p>Callback on external subset declaration.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>the user data (XML parser context)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the root element name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ExternalID</tt></i>:</span></td>
+<td>the external ID</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>SystemID</tt></i>:</span></td>
+<td>the SYSTEM ID (e.g. filename or URL)</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="fatalErrorSAXFunc"></a>Function type fatalErrorSAXFunc</h3>
+<pre class="programlisting">void       fatalErrorSAXFunc               (void * ctx, <br>                     
                   const char * msg, <br>                                  ... ...)<br>
+</pre>
+<p>Display and format fatal error messages, callback. Note: so far fatalError() SAX callbacks are not used, 
error() get all the callbacks for errors.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>an XML parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>msg</tt></i>:</span></td>
+<td>the message to display/transmit</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>...</tt></i>:</span></td>
+<td>extra parameters for the message display</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="getEntitySAXFunc"></a>Function type getEntitySAXFunc</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a>  getEntitySAXFunc      
  (void * ctx, <br>                                        const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
+</pre>
+<p>Get an entity by name.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>the user data (XML parser context)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>The entity name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the <a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a> if found.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="getParameterEntitySAXFunc"></a>Function type getParameterEntitySAXFunc</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a>  
getParameterEntitySAXFunc       (void * ctx, <br>                                                const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
+</pre>
+<p>Get a parameter entity by name.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>the user data (XML parser context)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>The entity name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the <a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a> if found.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="hasExternalSubsetSAXFunc"></a>Function type hasExternalSubsetSAXFunc</h3>
+<pre class="programlisting">int        hasExternalSubsetSAXFunc        (void * ctx)<br>
+</pre>
+<p>Does this document has an external subset?</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>the user data (XML parser context)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="hasInternalSubsetSAXFunc"></a>Function type hasInternalSubsetSAXFunc</h3>
+<pre class="programlisting">int        hasInternalSubsetSAXFunc        (void * ctx)<br>
+</pre>
+<p>Does this document has an internal subset.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>the user data (XML parser context)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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 
characters.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>the user data (XML parser context)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ch</tt></i>:</span></td>
+<td>a <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> string</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>len</tt></i>:</span></td>
+<td>the number of <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="internalSubsetSAXFunc"></a>Function type internalSubsetSAXFunc</h3>
+<pre class="programlisting">void       internalSubsetSAXFunc           (void * ctx, <br>                     
                   const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>                    
                     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br>            
                       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * SystemID)<br>
+</pre>
+<p>Callback on internal subset declaration.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>the user data (XML parser context)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the root element name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ExternalID</tt></i>:</span></td>
+<td>the external ID</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>SystemID</tt></i>:</span></td>
+<td>the SYSTEM ID (e.g. filename or URL)</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="isStandaloneSAXFunc"></a>Function type isStandaloneSAXFunc</h3>
+<pre class="programlisting">int        isStandaloneSAXFunc             (void * ctx)<br>
+</pre>
+<p>Is this document tagged standalone?</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>the user data (XML parser context)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="notationDeclSAXFunc"></a>Function type notationDeclSAXFunc</h3>
+<pre class="programlisting">void       notationDeclSAXFunc             (void * ctx, <br>                     
                   const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>                    
                     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * publicId, <br>              
                       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * systemId)<br>
+</pre>
+<p>What to do when a notation declaration has been parsed.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>the user data (XML parser context)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>The name of the notation</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>publicId</tt></i>:</span></td>
+<td>The public ID of the entity</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>systemId</tt></i>:</span></td>
+<td>The system ID of the entity</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="processingInstructionSAXFunc"></a>Function type processingInstructionSAXFunc</h3>
+<pre class="programlisting">void       processingInstructionSAXFunc    (void * ctx, <br>                     
                   const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * target, <br>                  
                     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * data)<br>
+</pre>
+<p>A processing instruction has been parsed.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>the user data (XML parser context)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>target</tt></i>:</span></td>
+<td>the target name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>data</tt></i>:</span></td>
+<td>the PI data's</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>the user data (XML parser context)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>The entity name</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="resolveEntitySAXFunc"></a>Function type resolveEntitySAXFunc</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>        
resolveEntitySAXFunc    (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>Callback: The entity loader, to control the loading of external entities, the application can either: - 
override this resolveEntity() callback in the SAX block - or better use the xmlSetExternalEntityLoader() 
function to set up it's own entity resolution routine</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>the user data (XML parser context)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>publicId</tt></i>:</span></td>
+<td>The public ID of the entity</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>systemId</tt></i>:</span></td>
+<td>The system ID of the entity</td>
+</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>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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 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>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>the user data (XML parser context)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>loc</tt></i>:</span></td>
+<td>A SAX Locator</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="startDocumentSAXFunc"></a>Function type startDocumentSAXFunc</h3>
+<pre class="programlisting">void       startDocumentSAXFunc            (void * ctx)<br>
+</pre>
+<p>Called when the document start being processed.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>the user data (XML parser context)</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="startElementNsSAX2Func"></a>Function type startElementNsSAX2Func</h3>
+<pre class="programlisting">void       startElementNsSAX2Func          (void * ctx, <br>                     
                   const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * localname, <br>               
                     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br>                
                       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URI, <br>                 
                 int nb_namespaces, <br>                                         const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** namespaces, <br>                                  int 
nb_attributes, <br>                                         int nb_defaulted, <br>                            
      const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** attributes)<br>
+</pre>
+<p>SAX2 callback when an element start has been detected by the parser. It provides the namespace 
information for the element, as well as the new namespace declarations on the element.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>the user data (XML parser context)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>localname</tt></i>:</span></td>
+<td>the local name of the element</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>prefix</tt></i>:</span></td>
+<td>the element namespace prefix if available</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>URI</tt></i>:</span></td>
+<td>the element namespace name if available</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>nb_namespaces</tt></i>:</span></td>
+<td>number of namespace definitions on that node</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>namespaces</tt></i>:</span></td>
+<td>pointer to the array of prefix/URI pairs namespace definitions</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>nb_attributes</tt></i>:</span></td>
+<td>the number of attributes on that node</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>nb_defaulted</tt></i>:</span></td>
+<td>the number of defaulted attributes. The defaulted ones are at the end of the array</td>
+</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>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="startElementSAXFunc"></a>Function type startElementSAXFunc</h3>
+<pre class="programlisting">void       startElementSAXFunc             (void * ctx, <br>                     
                   const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>                    
                     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** atts)<br>
+</pre>
+<p>Called when an opening tag has been processed.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>the user data (XML parser context)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>The element name, including namespace prefix</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>atts</tt></i>:</span></td>
+<td>An array of name/value attributes pairs, NULL terminated</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="unparsedEntityDeclSAXFunc"></a>Function type unparsedEntityDeclSAXFunc</h3>
+<pre class="programlisting">void       unparsedEntityDeclSAXFunc       (void * ctx, <br>                     
                   const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>                    
                     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * publicId, <br>              
                       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * systemId, <br>            
                         const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * notationName)<br>
+</pre>
+<p>What to do when an unparsed entity declaration is parsed.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>the user data (XML parser context)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>The name of the entity</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>publicId</tt></i>:</span></td>
+<td>The public ID of the entity</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>systemId</tt></i>:</span></td>
+<td>The system ID of the entity</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>notationName</tt></i>:</span></td>
+<td>the name of the notation</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="warningSAXFunc"></a>Function type warningSAXFunc</h3>
+<pre class="programlisting">void       warningSAXFunc                  (void * ctx, <br>                     
                   const char * msg, <br>                                  ... ...)<br>
+</pre>
+<p>Display and format a warning messages, callback.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>an XML parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>msg</tt></i>:</span></td>
+<td>the message to display/transmit</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>...</tt></i>:</span></td>
+<td>extra parameters for the message display</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlExternalEntityLoader"></a>Function type xmlExternalEntityLoader</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>        
xmlExternalEntityLoader (const char * URL, <br>                                          const char * ID, 
<br>                                           <a 
href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> context)<br>
+</pre>
+<p>External entity loaders types.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>URL</tt></i>:</span></td>
+<td>The System ID of the resource requested</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ID</tt></i>:</span></td>
+<td>The Public ID of the resource requested</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>context</tt></i>:</span></td>
+<td>the XML parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the entity input parser.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParserInputDeallocate"></a>Function type xmlParserInputDeallocate</h3>
+<pre class="programlisting">void       xmlParserInputDeallocate        (<a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str)<br>
+</pre>
+<p>Callback for freeing some parser input allocations.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>str</tt></i>:</span></td>
+<td>the string to deallocate</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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>
+<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 index in bytes from the beginning of the entity or -1 in case the index could not be computed.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlClearNodeInfoSeq"></a>xmlClearNodeInfoSeq ()</h3>
+<pre class="programlisting">void       xmlClearNodeInfoSeq             (<a 
href="libxml2-parser.html#xmlParserNodeInfoSeqPtr">xmlParserNodeInfoSeqPtr</a> seq)<br>
+</pre>
+<p>-- Clear (release memory and reinitialize) node info sequence</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>seq</tt></i>:</span></td>
+<td>a node info sequence pointer</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlClearParserCtxt"></a>xmlClearParserCtxt ()</h3>
+<pre class="programlisting">void       xmlClearParserCtxt              (<a 
href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
+</pre>
+<p>Clear (release owned resources) and reinitialize a parser context</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>an XML parser context</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCreateDocParserCtxt"></a>xmlCreateDocParserCtxt ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a>  
xmlCreateDocParserCtxt  (const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur)<br>
+</pre>
+<p>Creates a parser context for an XML in-memory document.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>a pointer to an array of <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the new parser context or NULL</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCreateIOParserCtxt"></a>xmlCreateIOParserCtxt ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a>  
xmlCreateIOParserCtxt   (<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)<br>
+</pre>
+<p>Create a parser context for using the XML parser with an existing I/O stream</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>sax</tt></i>:</span></td>
+<td>a SAX handler</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>user_data</tt></i>:</span></td>
+<td>The user data returned on SAX callbacks</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ioread</tt></i>:</span></td>
+<td>an I/O read function</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ioclose</tt></i>:</span></td>
+<td>an I/O close function</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ioctx</tt></i>:</span></td>
+<td>an I/O handler</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>enc</tt></i>:</span></td>
+<td>the charset encoding if known</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the new parser context or NULL</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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. If @buffer and @size are non-NULL, the 
data is used to detect the encoding. The remaining <a href="libxml2-SAX.html#characters">characters</a> will 
be parsed so they don't need to be fed in again through xmlParseChunk. To allow content encoding detection, 
@size should be &gt;= 4 The value of @filename is used for fetching external entities and error/warning 
reports.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>sax</tt></i>:</span></td>
+<td>a SAX handler</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>user_data</tt></i>:</span></td>
+<td>The user data returned on SAX callbacks</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>chunk</tt></i>:</span></td>
+<td>a pointer to an array of chars</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>size</tt></i>:</span></td>
+<td>number of chars in the array</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>filename</tt></i>:</span></td>
+<td>an optional file name or URI</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the new parser context or NULL</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> * cur, <br>                                  
const char * URL, <br>                                  const char * encoding, <br>                           
          int options)<br>
+</pre>
+<p>parse an XML in-memory document and build a tree. This reuses the existing @ctxt parser context</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>an XML parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>a pointer to a zero terminated string</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>URL</tt></i>:</span></td>
+<td>the base URL to use for the document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
+<td>the document encoding, or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>options</tt></i>:</span></td>
+<td>a combination of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the resulting document tree</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCtxtReadFd"></a>xmlCtxtReadFd ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>        xmlCtxtReadFd         
  (<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>                               
     int fd, <br>                                    const char * URL, <br>                                  
const char * encoding, <br>                                     int options)<br>
+</pre>
+<p>parse an XML from a file descriptor and build a tree. This reuses the existing @ctxt parser context NOTE 
that the file descriptor will not be closed when the reader is closed or reset.</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>fd</tt></i>:</span></td>
+<td>an open file descriptor</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>URL</tt></i>:</span></td>
+<td>the base URL to use for the document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
+<td>the document encoding, or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>options</tt></i>:</span></td>
+<td>a combination of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the resulting document tree</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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 or the network. This reuses the existing @ctxt parser context</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>an XML parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>filename</tt></i>:</span></td>
+<td>a file or URL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
+<td>the document encoding, or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>options</tt></i>:</span></td>
+<td>a combination of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the resulting document tree</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCtxtReadIO"></a>xmlCtxtReadIO ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>        xmlCtxtReadIO         
  (<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</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 XML document from I/O functions and source and build a tree. This reuses the existing @ctxt 
parser context</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>an XML parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ioread</tt></i>:</span></td>
+<td>an I/O read function</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ioclose</tt></i>:</span></td>
+<td>an I/O close function</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ioctx</tt></i>:</span></td>
+<td>an I/O handler</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>URL</tt></i>:</span></td>
+<td>the base URL to use for the document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
+<td>the document encoding, or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>options</tt></i>:</span></td>
+<td>a combination of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the resulting document tree</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCtxtReadMemory"></a>xmlCtxtReadMemory ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>        xmlCtxtReadMemory     
  (<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)<br>
+</pre>
+<p>parse an XML in-memory document and build a tree. This reuses the existing @ctxt parser context</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>an XML parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>buffer</tt></i>:</span></td>
+<td>a pointer to a char array</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>size</tt></i>:</span></td>
+<td>the size of the array</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>URL</tt></i>:</span></td>
+<td>the base URL to use for the document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
+<td>the document encoding, or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>options</tt></i>:</span></td>
+<td>a combination of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the resulting document tree</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCtxtReset"></a>xmlCtxtReset ()</h3>
+<pre class="programlisting">void       xmlCtxtReset                    (<a 
href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
+</pre>
+<p>Reset a parser context</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>an XML parser context</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCtxtResetPush"></a>xmlCtxtResetPush ()</h3>
+<pre class="programlisting">int        xmlCtxtResetPush                (<a 
href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>                                    
const char * chunk, <br>                                        int size, <br>                                
  const char * filename, <br>                                     const char * encoding)<br>
+</pre>
+<p>Reset a push 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 XML parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>chunk</tt></i>:</span></td>
+<td>a pointer to an array of chars</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>size</tt></i>:</span></td>
+<td>number of chars in the array</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>filename</tt></i>:</span></td>
+<td>an optional file name or URI</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
+<td>the document encoding, or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 in case of success and 1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCtxtUseOptions"></a>xmlCtxtUseOptions ()</h3>
+<pre class="programlisting">int        xmlCtxtUseOptions               (<a 
href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>                                    
int options)<br>
+</pre>
+<p>Applies the options to the parser context</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>an XML parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>options</tt></i>:</span></td>
+<td>a combination of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a>
+</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="xmlFreeParserCtxt"></a>xmlFreeParserCtxt ()</h3>
+<pre class="programlisting">void       xmlFreeParserCtxt               (<a 
href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
+</pre>
+<p>Free all the memory used by a parser context. However the parsed document in ctxt-&gt;myDoc is not 
freed.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>an XML parser context</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the <a href="libxml2-parser.html#xmlExternalEntityLoader">xmlExternalEntityLoader</a> function 
pointer</td>
+</tr></tbody>
+</table></div>
+</div>
+<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>
+<p>Examines if the library has been compiled with a given feature.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>feature</tt></i>:</span></td>
+<td>the feature to be examined</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a non-zero value if the feature exist, otherwise zero. Returns zero (0) if the feature does not exist or 
an unknown unknown feature is requested, non-zero otherwise.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>sax</tt></i>:</span></td>
+<td>the SAX handler block or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>input</tt></i>:</span></td>
+<td>an Input Buffer</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>enc</tt></i>:</span></td>
+<td>the charset encoding if known</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="xmlInitNodeInfoSeq"></a>xmlInitNodeInfoSeq ()</h3>
+<pre class="programlisting">void       xmlInitNodeInfoSeq              (<a 
href="libxml2-parser.html#xmlParserNodeInfoSeqPtr">xmlParserNodeInfoSeqPtr</a> seq)<br>
+</pre>
+<p>-- Initialize (set to initial state) node info sequence</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>seq</tt></i>:</span></td>
+<td>a node info sequence pointer</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlInitParser"></a>xmlInitParser ()</h3>
+<pre class="programlisting">void       xmlInitParser                   (void)<br>
+</pre>
+<p>Initialization function for the XML parser. This is not reentrant. Call once before processing in case of 
use in multithreaded programs.</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlInitParserCtxt"></a>xmlInitParserCtxt ()</h3>
+<pre class="programlisting">int        xmlInitParserCtxt               (<a 
href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
+</pre>
+<p>DEPRECATED: Internal function which will be made private in a future version. Initialize a parser 
context</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>an XML parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 in case of success and -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlKeepBlanksDefault"></a>xmlKeepBlanksDefault ()</h3>
+<pre class="programlisting">int        xmlKeepBlanksDefault            (int val)<br>
+</pre>
+<p>Set and return the previous value for default blanks text nodes support. The 1.x version of the parser 
used an heuristic to try to detect ignorable white spaces. As a result the SAX callback was generating 
xmlSAX2IgnorableWhitespace() callbacks instead of characters() one, and when using the DOM output text nodes 
containing those blanks were not generated. The 2.x and later version will switch to the XML standard way and 
ignorableWhitespace() are only generated when running the parser in validating mode and when the current 
element doesn't allow CDATA or mixed content. This function is provided as a way to force the standard 
behavior on 1.X libs and to switch back to the old mode for compatibility when running 1.X client code on 2.X 
. Upgrade of 1.X code should be done by using xmlIsBlankNode() commodity function to detect the "empty" nodes 
generated. This value also affect autogeneration of indentation when saving code if blanks sections are kept, 
indentation is not generated.</
 p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>val</tt></i>:</span></td>
+<td>int 0 or 1</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the last value for 0 for no substitution, 1 for substitution.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlLineNumbersDefault"></a>xmlLineNumbersDefault ()</h3>
+<pre class="programlisting">int        xmlLineNumbersDefault           (int val)<br>
+</pre>
+<p>Set and return the previous value for enabling line numbers in elements contents. This may break on old 
application and is turned off by default.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>val</tt></i>:</span></td>
+<td>int 0 or 1</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the last value for 0 for no substitution, 1 for substitution.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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>Load an external entity, note that the use of this function for unparsed entities may generate 
problems</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>URL</tt></i>:</span></td>
+<td>the URL for the entity to load</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ID</tt></i>:</span></td>
+<td>the Public ID for the entity to load</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the context in which the entity is called or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the <a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> or NULL</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNewIOInputStream"></a>xmlNewIOInputStream ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>        
xmlNewIOInputStream     (<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>         
                                   <a 
href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> input, <br>                      
                       <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc)<br>
+</pre>
+<p>Create a new input stream structure encapsulating the @input into a stream suitable for the parser.</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>input</tt></i>:</span></td>
+<td>an I/O Input</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>enc</tt></i>:</span></td>
+<td>the charset encoding if known</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the new input stream or NULL</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>
+<p>Allocate and initialize a new parser context.</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 <a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> or NULL</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNewSAXParserCtxt"></a>xmlNewSAXParserCtxt ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a>  
xmlNewSAXParserCtxt     (<a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br>          
                                   void * userData)<br>
+</pre>
+<p>Allocate and initialize a new SAX parser context.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>sax</tt></i>:</span></td>
+<td>SAX handler</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>userData</tt></i>:</span></td>
+<td>user data</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the <a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> or NULL</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParseBalancedChunkMemory"></a>xmlParseBalancedChunkMemory ()</h3>
+<pre class="programlisting">int        xmlParseBalancedChunkMemory     (<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)<br>
+</pre>
+<p>Parse a well-balanced chunk of an XML document called by the parser The allowed sequence for the Well 
Balanced Chunk is the one defined by the content production in the XML grammar: [43] content ::= (element | 
CharData | Reference | CDSect | PI | Comment)*</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 the chunk pertains to (must not be NULL)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>sax</tt></i>:</span></td>
+<td>the SAX handler block (possibly NULL)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>user_data</tt></i>:</span></td>
+<td>The user data returned on SAX callbacks (possibly NULL)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>depth</tt></i>:</span></td>
+<td>Used for loop detection, use 0</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>string</tt></i>:</span></td>
+<td>the input string in UTF8 or ISO-Latin (zero terminated)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>lst</tt></i>:</span></td>
+<td>the return value for the set of parsed nodes</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 if the chunk is well balanced, -1 in case of args problem and the parser error code otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParseBalancedChunkMemoryRecover"></a>xmlParseBalancedChunkMemoryRecover ()</h3>
+<pre class="programlisting">int        xmlParseBalancedChunkMemoryRecover      (<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, <br>          
                                     int recover)<br>
+</pre>
+<p>Parse a well-balanced chunk of an XML document called by the parser The allowed sequence for the Well 
Balanced Chunk is the one defined by the content production in the XML grammar: [43] content ::= (element | 
CharData | Reference | CDSect | PI | Comment)*</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 the chunk pertains to (must not be NULL)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>sax</tt></i>:</span></td>
+<td>the SAX handler block (possibly NULL)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>user_data</tt></i>:</span></td>
+<td>The user data returned on SAX callbacks (possibly NULL)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>depth</tt></i>:</span></td>
+<td>Used for loop detection, use 0</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>string</tt></i>:</span></td>
+<td>the input string in UTF8 or ISO-Latin (zero terminated)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>lst</tt></i>:</span></td>
+<td>the return value for the set of parsed nodes</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>recover</tt></i>:</span></td>
+<td>return nodes even if the data is broken (use 0)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 if the chunk is well balanced, -1 in case of args problem and the parser error code otherwise In case 
recover is set to 1, the nodelist will not be empty even if the parsed chunk is not well balanced, assuming 
the parsing succeeded to some extent.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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</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>chunk</tt></i>:</span></td>
+<td>an char array</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>size</tt></i>:</span></td>
+<td>the size in byte of the chunk</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>terminate</tt></i>:</span></td>
+<td>last chunk indicator</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>zero if no error, the <a href="libxml2-xmlerror.html#xmlParserErrors">xmlParserErrors</a> otherwise.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParseCtxtExternalEntity"></a>xmlParseCtxtExternalEntity ()</h3>
+<pre class="programlisting">int        xmlParseCtxtExternalEntity      (<a 
href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctx, <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> * lst)<br>
+</pre>
+<p>Parse an external general entity within an existing parsing context 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>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>the existing parsing context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>URL</tt></i>:</span></td>
+<td>the URL for the entity to load</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ID</tt></i>:</span></td>
+<td>the System ID for the entity to load</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>lst</tt></i>:</span></td>
+<td>the return value for the set of parsed nodes</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 if the entity is well formed, -1 in case of args problem and the parser error code otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParseDTD"></a>xmlParseDTD ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a>        xmlParseDTD           
  (const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ExternalID, <br>                              
     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * SystemID)<br>
+</pre>
+<p>Load and parse an external subset.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ExternalID</tt></i>:</span></td>
+<td>a NAME* containing the External ID of the DTD</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>SystemID</tt></i>:</span></td>
+<td>a NAME* containing the URL to the DTD</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.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParseDoc"></a>xmlParseDoc ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>        xmlParseDoc           
  (const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur)<br>
+</pre>
+<p>DEPRECATED: Use xmlReadDoc. parse an XML in-memory document and build a tree.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>a pointer to an array of <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the resulting document tree</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParseDocument"></a>xmlParseDocument ()</h3>
+<pre class="programlisting">int        xmlParseDocument                (<a 
href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
+</pre>
+<p>parse an XML document (and build a tree if using the standard SAX interface). [1] document ::= prolog 
element Misc* [22] prolog ::= XMLDecl? Misc* (doctypedecl Misc*)?</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>0, -1 in case of error. the parser context is augmented as a result of the parsing.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParseEntity"></a>xmlParseEntity ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>        xmlParseEntity        
  (const char * filename)<br>
+</pre>
+<p>parse an XML external entity out of context and build a tree. [78] extParsedEnt ::= TextDecl? content 
This correspond to a "Well Balanced" chunk</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>filename</tt></i>:</span></td>
+<td>the filename</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the resulting document tree</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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>
+<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>0, -1 in case of error. the parser context is augmented as a result of the parsing.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParseExternalEntity"></a>xmlParseExternalEntity ()</h3>
+<pre class="programlisting">int        xmlParseExternalEntity          (<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> * lst)<br>
+</pre>
+<p>Parse an external general 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>
+<tr>
+<td><span class="term"><i><tt>doc</tt></i>:</span></td>
+<td>the document the chunk pertains to</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>sax</tt></i>:</span></td>
+<td>the SAX handler block (possibly NULL)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>user_data</tt></i>:</span></td>
+<td>The user data returned on SAX callbacks (possibly NULL)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>depth</tt></i>:</span></td>
+<td>Used for loop detection, use 0</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>URL</tt></i>:</span></td>
+<td>the URL for the entity to load</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ID</tt></i>:</span></td>
+<td>the System ID for the entity to load</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>lst</tt></i>:</span></td>
+<td>the return value for the set of parsed nodes</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 if the entity is well formed, -1 in case of args problem and the parser error code otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParseFile"></a>xmlParseFile ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>        xmlParseFile          
  (const char * filename)<br>
+</pre>
+<p>DEPRECATED: Use xmlReadFile. parse an XML file and build a tree. Automatic support for ZLIB/Compress 
compressed document is provided by default if found at compile-time.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>filename</tt></i>:</span></td>
+<td>the filename</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the resulting document tree if the file was wellformed, NULL otherwise.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<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>
+<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>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>node</tt></i>:</span></td>
+<td>the context node</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>data</tt></i>:</span></td>
+<td>the input string</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>datalen</tt></i>:</span></td>
+<td>the input string length in bytes</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>options</tt></i>:</span></td>
+<td>a combination of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>lst</tt></i>:</span></td>
+<td>the return value for the set of parsed nodes</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>
+<a href="libxml2-xmlerror.html#XML_ERR_OK">XML_ERR_OK</a> if the chunk is well balanced, and the parser 
error code otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParseMemory"></a>xmlParseMemory ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>        xmlParseMemory        
  (const char * buffer, <br>                                       int size)<br>
+</pre>
+<p>DEPRECATED: Use xmlReadMemory. parse an XML in-memory block and build a tree.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>buffer</tt></i>:</span></td>
+<td>an pointer to a char array</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>size</tt></i>:</span></td>
+<td>the size of the array</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the resulting document tree</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParserAddNodeInfo"></a>xmlParserAddNodeInfo ()</h3>
+<pre class="programlisting">void       xmlParserAddNodeInfo            (<a 
href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>                                    
const <a href="libxml2-parser.html#xmlParserNodeInfoPtr">xmlParserNodeInfoPtr</a> info)<br>
+</pre>
+<p>Insert node info record into the sorted sequence</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>info</tt></i>:</span></td>
+<td>a node info sequence pointer</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParserFindNodeInfo"></a>xmlParserFindNodeInfo ()</h3>
+<pre class="programlisting">const <a href="libxml2-parser.html#xmlParserNodeInfo">xmlParserNodeInfo</a> *    
  xmlParserFindNodeInfo   (const <a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctx, <br>  
                                                     const <a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br>
+</pre>
+<p>Find the parser node info struct for a given node</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>an XML parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>node</tt></i>:</span></td>
+<td>an XML node within the tree</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>an <a href="libxml2-parser.html#xmlParserNodeInfo">xmlParserNodeInfo</a> block pointer or NULL</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParserFindNodeInfoIndex"></a>xmlParserFindNodeInfoIndex ()</h3>
+<pre class="programlisting">unsigned long      xmlParserFindNodeInfoIndex      (const <a 
href="libxml2-parser.html#xmlParserNodeInfoSeqPtr">xmlParserNodeInfoSeqPtr</a> seq, <br>                      
                         const <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br>
+</pre>
+<p><a href="libxml2-parser.html#xmlParserFindNodeInfoIndex">xmlParserFindNodeInfoIndex</a> : Find the index 
that the info record for the given node is or should be at in a sorted sequence</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>seq</tt></i>:</span></td>
+<td>a node info sequence pointer</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>node</tt></i>:</span></td>
+<td>an XML node pointer</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a long indicating the position of the record</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParserInputGrow"></a>xmlParserInputGrow ()</h3>
+<pre class="programlisting">int        xmlParserInputGrow              (<a 
href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> in, <br>                                    
int len)<br>
+</pre>
+<p>This function increase the input for the parser. It tries to preserve pointers to the input buffer, and 
keep already read data</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>in</tt></i>:</span></td>
+<td>an XML parser input</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>len</tt></i>:</span></td>
+<td>an indicative size for the lookahead</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the amount of char read, or -1 in case of error, 0 indicate the end of this entity</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParserInputRead"></a>xmlParserInputRead ()</h3>
+<pre class="programlisting">int        xmlParserInputRead              (<a 
href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> in, <br>                                    
int len)<br>
+</pre>
+<p>This function was internal and is deprecated.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>in</tt></i>:</span></td>
+<td>an XML parser input</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>len</tt></i>:</span></td>
+<td>an indicative size for the lookahead</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>-1 as this is an error to use it.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlPedanticParserDefault"></a>xmlPedanticParserDefault ()</h3>
+<pre class="programlisting">int        xmlPedanticParserDefault        (int val)<br>
+</pre>
+<p>Set and return the previous value for enabling pedantic warnings.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>val</tt></i>:</span></td>
+<td>int 0 or 1</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the last value for 0 for no substitution, 1 for substitution.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlReadDoc"></a>xmlReadDoc ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>        xmlReadDoc            
  (const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur, <br>                                  
const char * URL, <br>                                  const char * encoding, <br>                           
          int options)<br>
+</pre>
+<p>parse an XML in-memory document and build a tree.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>a pointer to a zero terminated string</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>URL</tt></i>:</span></td>
+<td>the base URL to use for the document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
+<td>the document encoding, or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>options</tt></i>:</span></td>
+<td>a combination of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the resulting document tree</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlReadFd"></a>xmlReadFd ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>        xmlReadFd             
  (int fd, <br>                                    const char * URL, <br>                                  
const char * encoding, <br>                                     int options)<br>
+</pre>
+<p>parse an XML from a file descriptor and build a tree. NOTE that the file descriptor will not be closed 
when the reader is closed or reset.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>fd</tt></i>:</span></td>
+<td>an open file descriptor</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>URL</tt></i>:</span></td>
+<td>the base URL to use for the document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
+<td>the document encoding, or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>options</tt></i>:</span></td>
+<td>a combination of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the resulting document tree</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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>parse an XML file from the filesystem or the network.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>filename</tt></i>:</span></td>
+<td>a file or URL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
+<td>the document encoding, or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>options</tt></i>:</span></td>
+<td>a combination of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the resulting document tree</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlReadIO"></a>xmlReadIO ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>        xmlReadIO             
  (<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 XML document from I/O functions and source and build a tree.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ioread</tt></i>:</span></td>
+<td>an I/O read function</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ioclose</tt></i>:</span></td>
+<td>an I/O close function</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ioctx</tt></i>:</span></td>
+<td>an I/O handler</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>URL</tt></i>:</span></td>
+<td>the base URL to use for the document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
+<td>the document encoding, or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>options</tt></i>:</span></td>
+<td>a combination of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the resulting document tree</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlReadMemory"></a>xmlReadMemory ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>        xmlReadMemory         
  (const char * buffer, <br>                                       int size, <br>                             
     const char * URL, <br>                                  const char * encoding, <br>                      
               int options)<br>
+</pre>
+<p>parse an XML in-memory document and build a tree.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>buffer</tt></i>:</span></td>
+<td>a pointer to a char array</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>size</tt></i>:</span></td>
+<td>the size of the array</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>URL</tt></i>:</span></td>
+<td>the base URL to use for the document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
+<td>the document encoding, or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>options</tt></i>:</span></td>
+<td>a combination of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the resulting document tree</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlRecoverDoc"></a>xmlRecoverDoc ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>        xmlRecoverDoc         
  (const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur)<br>
+</pre>
+<p>DEPRECATED: Use <a href="libxml2-parser.html#xmlReadDoc">xmlReadDoc</a> with XML_PARSE_RECOVER. parse an 
XML in-memory document and build a tree. In the case the document is not Well Formed, a attempt to build a 
tree is tried anyway</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>a pointer to an array of <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the resulting document tree or NULL in case of failure</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlRecoverFile"></a>xmlRecoverFile ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>        xmlRecoverFile        
  (const char * filename)<br>
+</pre>
+<p>DEPRECATED: Use <a href="libxml2-parser.html#xmlReadFile">xmlReadFile</a> with XML_PARSE_RECOVER. parse 
an XML file and build a tree. Automatic support for ZLIB/Compress compressed document is provided by default 
if found at compile-time. In the case the document is not Well Formed, it attempts to build a tree anyway</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>filename</tt></i>:</span></td>
+<td>the filename</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the resulting document tree or NULL in case of failure</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlRecoverMemory"></a>xmlRecoverMemory ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>        xmlRecoverMemory      
  (const char * buffer, <br>                                       int size)<br>
+</pre>
+<p>DEPRECATED: Use <a href="libxml2-parser.html#xmlReadMemory">xmlReadMemory</a> with XML_PARSE_RECOVER. 
parse an XML in-memory block and build a tree. In the case the document is not Well Formed, an attempt to 
build a tree is tried anyway</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>buffer</tt></i>:</span></td>
+<td>an pointer to a char array</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>size</tt></i>:</span></td>
+<td>the size of the array</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the resulting document tree or NULL in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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>Load and parse an external subset.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>sax</tt></i>:</span></td>
+<td>the SAX handler block</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ExternalID</tt></i>:</span></td>
+<td>a NAME* containing the External ID of the DTD</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>SystemID</tt></i>:</span></td>
+<td>a NAME* containing the URL to the DTD</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.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSAXParseDoc"></a>xmlSAXParseDoc ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>        xmlSAXParseDoc        
  (<a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br>                                
     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur, <br>                                  
int recovery)<br>
+</pre>
+<p>DEPRECATED: Use <a href="libxml2-parser.html#xmlNewSAXParserCtxt">xmlNewSAXParserCtxt</a> and 
xmlCtxtReadDoc. parse an XML in-memory document and build a tree. It use the given SAX function block to 
handle the parsing callback. If sax is NULL, fallback to the default DOM tree building routines.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>sax</tt></i>:</span></td>
+<td>the SAX handler block</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>a pointer to an array of <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>recovery</tt></i>:</span></td>
+<td>work in recovery mode, i.e. tries to read no Well Formed documents</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the resulting document tree</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSAXParseEntity"></a>xmlSAXParseEntity ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>        xmlSAXParseEntity     
  (<a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br>                                
     const char * filename)<br>
+</pre>
+<p>parse an XML external entity out of context and build a tree. It use the given SAX function block to 
handle the parsing callback. If sax is NULL, fallback to the default DOM tree building routines. [78] 
extParsedEnt ::= TextDecl? content This correspond to a "Well Balanced" chunk</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>sax</tt></i>:</span></td>
+<td>the SAX handler block</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>filename</tt></i>:</span></td>
+<td>the filename</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the resulting document tree</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSAXParseFile"></a>xmlSAXParseFile ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>        xmlSAXParseFile       
  (<a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br>                                
     const char * filename, <br>                                     int recovery)<br>
+</pre>
+<p>DEPRECATED: Use <a href="libxml2-parser.html#xmlNewSAXParserCtxt">xmlNewSAXParserCtxt</a> and 
xmlCtxtReadFile. parse an XML file and build a tree. Automatic support for ZLIB/Compress compressed document 
is provided by default if found at compile-time. It use the given SAX function block to handle the parsing 
callback. If sax is NULL, fallback to the default DOM tree building routines.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>sax</tt></i>:</span></td>
+<td>the SAX handler block</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>filename</tt></i>:</span></td>
+<td>the filename</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>recovery</tt></i>:</span></td>
+<td>work in recovery mode, i.e. tries to read no Well Formed documents</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the resulting document tree</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSAXParseFileWithData"></a>xmlSAXParseFileWithData ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>        
xmlSAXParseFileWithData (<a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br>          
                           const char * filename, <br>                                     int recovery, <br> 
                                     void * data)<br>
+</pre>
+<p>DEPRECATED: Use <a href="libxml2-parser.html#xmlNewSAXParserCtxt">xmlNewSAXParserCtxt</a> and 
xmlCtxtReadFile. parse an XML file and build a tree. Automatic support for ZLIB/Compress compressed document 
is provided by default if found at compile-time. It use the given SAX function block to handle the parsing 
callback. If sax is NULL, fallback to the default DOM tree building routines. User data (void *) is stored 
within the parser context in the context's _private member, so it is available nearly everywhere in libxml</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>sax</tt></i>:</span></td>
+<td>the SAX handler block</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>filename</tt></i>:</span></td>
+<td>the filename</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>recovery</tt></i>:</span></td>
+<td>work in recovery mode, i.e. tries to read no Well Formed documents</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>data</tt></i>:</span></td>
+<td>the userdata</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the resulting document tree</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSAXParseMemory"></a>xmlSAXParseMemory ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>        xmlSAXParseMemory     
  (<a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br>                                
     const char * buffer, <br>                                       int size, <br>                           
       int recovery)<br>
+</pre>
+<p>DEPRECATED: Use <a href="libxml2-parser.html#xmlNewSAXParserCtxt">xmlNewSAXParserCtxt</a> and 
xmlCtxtReadMemory. parse an XML in-memory block and use the given SAX function block to handle the parsing 
callback. If sax is NULL, fallback to the default DOM tree building routines.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>sax</tt></i>:</span></td>
+<td>the SAX handler block</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>buffer</tt></i>:</span></td>
+<td>an pointer to a char array</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>size</tt></i>:</span></td>
+<td>the size of the array</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>recovery</tt></i>:</span></td>
+<td>work in recovery mode, i.e. tries to read not Well Formed documents</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the resulting document tree</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSAXParseMemoryWithData"></a>xmlSAXParseMemoryWithData ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>        
xmlSAXParseMemoryWithData       (<a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br>  
                                           const char * buffer, <br>                                          
     int size, <br>                                          int recovery, <br>                               
               void * data)<br>
+</pre>
+<p>DEPRECATED: Use <a href="libxml2-parser.html#xmlNewSAXParserCtxt">xmlNewSAXParserCtxt</a> and 
xmlCtxtReadMemory. parse an XML in-memory block and use the given SAX function block to handle the parsing 
callback. If sax is NULL, fallback to the default DOM tree building routines. User data (void *) is stored 
within the parser context in the context's _private member, so it is available nearly everywhere in libxml</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>sax</tt></i>:</span></td>
+<td>the SAX handler block</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>buffer</tt></i>:</span></td>
+<td>an pointer to a char array</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>size</tt></i>:</span></td>
+<td>the size of the array</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>recovery</tt></i>:</span></td>
+<td>work in recovery mode, i.e. tries to read no Well Formed documents</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>data</tt></i>:</span></td>
+<td>the userdata</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the resulting document tree</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSAXUserParseFile"></a>xmlSAXUserParseFile ()</h3>
+<pre class="programlisting">int        xmlSAXUserParseFile             (<a 
href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br>                                     
void * user_data, <br>                                  const char * filename)<br>
+</pre>
+<p>DEPRECATED: Use <a href="libxml2-parser.html#xmlNewSAXParserCtxt">xmlNewSAXParserCtxt</a> and 
xmlCtxtReadFile. parse an XML file and call the given SAX handler routines. Automatic support for 
ZLIB/Compress compressed document is provided</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>sax</tt></i>:</span></td>
+<td>a SAX handler</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>user_data</tt></i>:</span></td>
+<td>The user data returned on SAX callbacks</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>filename</tt></i>:</span></td>
+<td>a file name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 in case of success or a error number otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSAXUserParseMemory"></a>xmlSAXUserParseMemory ()</h3>
+<pre class="programlisting">int        xmlSAXUserParseMemory           (<a 
href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> sax, <br>                                     
void * user_data, <br>                                  const char * buffer, <br>                             
          int size)<br>
+</pre>
+<p>DEPRECATED: Use <a href="libxml2-parser.html#xmlNewSAXParserCtxt">xmlNewSAXParserCtxt</a> and 
xmlCtxtReadMemory. parse an XML in-memory buffer and call the given SAX handler routines.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>sax</tt></i>:</span></td>
+<td>a SAX handler</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>user_data</tt></i>:</span></td>
+<td>The user data returned on SAX callbacks</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>buffer</tt></i>:</span></td>
+<td>an in-memory XML document input</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>size</tt></i>:</span></td>
+<td>the length of the XML document in bytes</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 in case of success or a error number otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>f</tt></i>:</span></td>
+<td>the new entity resolver function</td>
+</tr></tbody>
+</table></div>
+</div>
+<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>
+<p>DEPRECATED: Don't use. Setup the parser context to parse a new buffer; Clears any prior contents from the 
parser context. The buffer parameter must not be NULL, but the filename parameter can be</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>buffer</tt></i>:</span></td>
+<td>a <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * buffer</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>filename</tt></i>:</span></td>
+<td>a file name</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlStopParser"></a>xmlStopParser ()</h3>
+<pre class="programlisting">void       xmlStopParser                   (<a 
href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
+</pre>
+<p>Blocks further parser processing</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="xmlSubstituteEntitiesDefault"></a>xmlSubstituteEntitiesDefault ()</h3>
+<pre class="programlisting">int        xmlSubstituteEntitiesDefault    (int val)<br>
+</pre>
+<p>Set and return the previous value for default entity support. Initially the parser always keep entity 
references instead of substituting entity values in the output. This function has to be used to change the 
default parser behavior SAX::substituteEntities() has to be used for changing that on a file by file 
basis.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>val</tt></i>:</span></td>
+<td>int 0 or 1</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the last value for 0 for no substitution, 1 for substitution.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+</div>
+</div>
+</body>
 </html>
diff --git a/doc/devhelp/libxml2-parserInternals.html b/doc/devhelp/libxml2-parserInternals.html
index 0895d26d..e8bf357b 100644
--- a/doc/devhelp/libxml2-parserInternals.html
+++ b/doc/devhelp/libxml2-parserInternals.html
@@ -1,49 +1,28 @@
-<?xml version="1.0" encoding="UTF-8"?>
 <html>
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
-    <title>parserInternals: internals routines and limits exported by the parser.</title>
-    <meta name="generator" content="Libxml2 devhelp stylesheet"/>
-    <link rel="start" href="index.html" title="libxml2 Reference Manual"/>
-    <link rel="up" href="general.html" title="API"/>
-    <link rel="stylesheet" href="style.css" type="text/css"/>
-    <link rel="chapter" href="general.html" title="API"/>
-  </head>
-  <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-    <table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
-      <tr valign="middle">
-        <td>
-          <a accesskey="p" href="libxml2-parser.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-pattern.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">parserInternals</span>
-    </h2>
-    <p>parserInternals - internals routines and limits exported by the parser.</p>
-    <p>this module exports a number of internal parsing routines they are not really all intended for 
applications but can prove useful doing low level processing. </p>
-    <p>Author(s): Daniel Veillard </p>
-    <div class="refsynopsisdiv">
-      <h2>Synopsis</h2>
-      <pre class="synopsis">#define <a href="#INPUT_CHUNK">INPUT_CHUNK</a>;
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>parserInternals: internals routines and limits exported by the parser.</title>
+<meta name="generator" content="Libxml2 devhelp stylesheet">
+<link rel="start" href="index.html" title="libxml2 Reference Manual">
+<link rel="up" href="general.html" title="API">
+<link rel="stylesheet" href="style.css" type="text/css">
+<link rel="chapter" href="general.html" title="API">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr 
valign="middle">
+<td><a accesskey="p" href="libxml2-parser.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-pattern.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">parserInternals</span></h2>
+<p>parserInternals - internals routines and limits exported by the parser.</p>
+<p>this module exports a number of internal parsing routines they are not really all intended for 
applications but can prove useful doing low level processing. </p>
+<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);
 #define <a href="#IS_ASCII_LETTER">IS_ASCII_LETTER</a>(c);
 #define <a href="#IS_BASECHAR">IS_BASECHAR</a>(c);
@@ -75,62 +54,62 @@
 #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-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a>      <a 
href="#htmlCreateFileParserCtxt">htmlCreateFileParserCtxt</a>        (const char * filename, <br/>            
                                        const char * encoding);
+<a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a>      <a 
href="#htmlCreateFileParserCtxt">htmlCreateFileParserCtxt</a>        (const char * filename, <br>             
                                        const char * encoding);
 void   <a href="#htmlInitAutoClose">htmlInitAutoClose</a>              (void);
 <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);
+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);
+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);
+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);
 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);
-<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a>      <a 
href="#xmlCreateEntityParserCtxt">xmlCreateEntityParserCtxt</a>      (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);
+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);
+<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a>      <a 
href="#xmlCreateEntityParserCtxt">xmlCreateEntityParserCtxt</a>      (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);
 <a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a>      <a 
href="#xmlCreateFileParserCtxt">xmlCreateFileParserCtxt</a>  (const char * filename);
-<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);
-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="#xmlErrMemory">xmlErrMemory</a>                        (<a 
href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br/>                                   
const char * extra);
+<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);
+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="#xmlErrMemory">xmlErrMemory</a>                        (<a 
href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>                                    
const char * extra);
 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);
+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> entity);
-<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-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> entity);
+<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);
-<a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>    <a 
href="#xmlNewStringInputStream">xmlNewStringInputStream</a>  (<a 
href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br/>                                    
       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * buffer);
+<a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>    <a 
href="#xmlNewStringInputStream">xmlNewStringInputStream</a>  (<a 
href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>                                     
       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * buffer);
 void   <a href="#xmlNextChar">xmlNextChar</a>                  (<a 
href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * <a href="#xmlParseAttValue">xmlParseAttValue</a>      
  (<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
-const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *   <a 
href="#xmlParseAttribute">xmlParseAttribute</a>      (<a 
href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br/>                                   
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** value);
+const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *   <a 
href="#xmlParseAttribute">xmlParseAttribute</a>      (<a 
href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>                                    
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** value);
 void   <a href="#xmlParseAttributeListDecl">xmlParseAttributeListDecl</a>      (<a 
href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
-int    <a href="#xmlParseAttributeType">xmlParseAttributeType</a>              (<a 
href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br/>                                   
<a href="libxml2-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a> * tree);
+int    <a href="#xmlParseAttributeType">xmlParseAttributeType</a>              (<a 
href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>                                    
<a href="libxml2-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a> * tree);
 void   <a href="#xmlParseCDSect">xmlParseCDSect</a>                    (<a 
href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
-void   <a href="#xmlParseCharData">xmlParseCharData</a>                (<a 
href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br/>                                   
int cdata);
+void   <a href="#xmlParseCharData">xmlParseCharData</a>                (<a 
href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>                                    
int cdata);
 int    <a href="#xmlParseCharRef">xmlParseCharRef</a>                  (<a 
href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
 void   <a href="#xmlParseComment">xmlParseComment</a>                  (<a 
href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
 void   <a href="#xmlParseContent">xmlParseContent</a>                  (<a 
href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
-int    <a href="#xmlParseDefaultDecl">xmlParseDefaultDecl</a>          (<a 
href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br/>                                   
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** value);
+int    <a href="#xmlParseDefaultDecl">xmlParseDefaultDecl</a>          (<a 
href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>                                    
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** value);
 void   <a href="#xmlParseDocTypeDecl">xmlParseDocTypeDecl</a>          (<a 
href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
 void   <a href="#xmlParseElement">xmlParseElement</a>                  (<a 
href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
-<a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a>      <a 
href="#xmlParseElementChildrenContentDecl">xmlParseElementChildrenContentDecl</a>    (<a 
href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br/>                                    
               int inputchk);
-int    <a href="#xmlParseElementContentDecl">xmlParseElementContentDecl</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-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> * result);
+<a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a>      <a 
href="#xmlParseElementChildrenContentDecl">xmlParseElementChildrenContentDecl</a>    (<a 
href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>                                     
               int inputchk);
+int    <a href="#xmlParseElementContentDecl">xmlParseElementContentDecl</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-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> * result);
 int    <a href="#xmlParseElementDecl">xmlParseElementDecl</a>          (<a 
href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
-<a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a>      <a 
href="#xmlParseElementMixedContentDecl">xmlParseElementMixedContentDecl</a>  (<a 
href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br/>                                    
               int inputchk);
+<a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a>      <a 
href="#xmlParseElementMixedContentDecl">xmlParseElementMixedContentDecl</a>  (<a 
href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>                                     
               int inputchk);
 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * <a href="#xmlParseEncName">xmlParseEncName</a>        
  (<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *   <a 
href="#xmlParseEncodingDecl">xmlParseEncodingDecl</a>        (<a 
href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
 void   <a href="#xmlParseEndTag">xmlParseEndTag</a>                    (<a 
href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
 void   <a href="#xmlParseEntityDecl">xmlParseEntityDecl</a>            (<a 
href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
 <a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a>      <a 
href="#xmlParseEntityRef">xmlParseEntityRef</a>      (<a 
href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
-<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * <a 
href="#xmlParseEntityValue">xmlParseEntityValue</a>  (<a 
href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br/>                                   
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** orig);
-int    <a href="#xmlParseEnumeratedType">xmlParseEnumeratedType</a>            (<a 
href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br/>                                   
<a href="libxml2-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a> * tree);
+<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * <a 
href="#xmlParseEntityValue">xmlParseEntityValue</a>  (<a 
href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>                                    
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** orig);
+int    <a href="#xmlParseEnumeratedType">xmlParseEnumeratedType</a>            (<a 
href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>                                    
<a href="libxml2-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a> * tree);
 <a href="libxml2-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a>    <a 
href="#xmlParseEnumerationType">xmlParseEnumerationType</a>  (<a 
href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
-<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * <a href="#xmlParseExternalID">xmlParseExternalID</a>  
  (<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br/>                              
     <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** publicID, <br/>                                  
       int strict);
-void   <a href="#xmlParseExternalSubset">xmlParseExternalSubset</a>            (<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);
+<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * <a href="#xmlParseExternalID">xmlParseExternalID</a>  
  (<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>                               
     <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** publicID, <br>                                  
int strict);
+void   <a href="#xmlParseExternalSubset">xmlParseExternalSubset</a>            (<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);
 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);
@@ -155,534 +134,2453 @@ void   <a href="#xmlParserHandlePEReference">xmlParserHandlePEReference</a>    (<a hr
 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);
+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> ** prefix);
-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);
-<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * <a 
href="#xmlStringDecodeEntities">xmlStringDecodeEntities</a>  (<a 
href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br/>                                   
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <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);
-<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * <a 
href="#xmlStringLenDecodeEntities">xmlStringLenDecodeEntities</a>    (<a 
href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br/>                                    
       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <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);
-int    <a href="#xmlSwitchEncoding">xmlSwitchEncoding</a>              (<a 
href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br/>                                   
<a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc);
-int    <a href="#xmlSwitchInputEncoding">xmlSwitchInputEncoding</a>            (<a 
href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br/>                                   
<a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> input, <br/>                              
          <a href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> handler);
-int    <a href="#xmlSwitchToEncoding">xmlSwitchToEncoding</a>          (<a 
href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br/>                                   
<a href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> handler);
-</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="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><p>Macro to check [0-9]</p><div class="variablelist"><table border="0"><col 
align="left"/><tbody><tr><td><span class="term"><i><tt>c</tt></i>:</span></td><td>an <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> value</td></tr></tbody></table></div>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="IS_ASCII_LETTER">Macro </a>IS_ASCII_LETTER</h3><pre 
class="programlisting">#define <a href="#IS_ASCII_LETTER">IS_ASCII_LETTER</a>(c);
-</pre><p>Macro to check [a-zA-Z]</p><div class="variablelist"><table border="0"><col 
align="left"/><tbody><tr><td><span class="term"><i><tt>c</tt></i>:</span></td><td>an <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> value</td></tr></tbody></table></div>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="IS_BASECHAR">Macro </a>IS_BASECHAR</h3><pre 
class="programlisting">#define <a href="#IS_BASECHAR">IS_BASECHAR</a>(c);
-</pre><p>Macro to check the following production in the XML spec: [85] BaseChar ::= ... long list see REC 
...</p><div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>c</tt></i>:</span></td><td>an UNICODE value (int)</td></tr></tbody></table></div>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="IS_BLANK">Macro </a>IS_BLANK</h3><pre 
class="programlisting">#define <a href="#IS_BLANK">IS_BLANK</a>(c);
-</pre><p>Macro to check the following production in the XML spec: [3] S ::= (#x20 | #x9 | #xD | 
#xA)+</p><div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>c</tt></i>:</span></td><td>an UNICODE value (int)</td></tr></tbody></table></div>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="IS_BLANK_CH">Macro </a>IS_BLANK_CH</h3><pre 
class="programlisting">#define <a href="#IS_BLANK_CH">IS_BLANK_CH</a>(c);
-</pre><p>Behaviour same as <a href="libxml2-parserInternals.html#IS_BLANK">IS_BLANK</a></p><div 
class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>c</tt></i>:</span></td><td>an <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> value 
(normally unsigned char)</td></tr></tbody></table></div>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="IS_BYTE_CHAR">Macro </a>IS_BYTE_CHAR</h3><pre 
class="programlisting">#define <a href="#IS_BYTE_CHAR">IS_BYTE_CHAR</a>(c);
-</pre><p>Macro to check the following production in the XML spec: [2] Char ::= #x9 | #xA | #xD | [#x20...] 
any byte character in the accepted range</p><div class="variablelist"><table border="0"><col 
align="left"/><tbody><tr><td><span class="term"><i><tt>c</tt></i>:</span></td><td>an byte value 
(int)</td></tr></tbody></table></div>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="IS_CHAR">Macro </a>IS_CHAR</h3><pre 
class="programlisting">#define <a href="#IS_CHAR">IS_CHAR</a>(c);
-</pre><p>Macro to check the following production in the XML spec: [2] Char ::= #x9 | #xA | #xD | 
[#x20-#xD7FF] | [#xE000-#xFFFD] | [#x10000-#x10FFFF] any Unicode character, excluding the surrogate blocks, 
FFFE, and FFFF.</p><div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>c</tt></i>:</span></td><td>an UNICODE value (int)</td></tr></tbody></table></div>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="IS_CHAR_CH">Macro </a>IS_CHAR_CH</h3><pre 
class="programlisting">#define <a href="#IS_CHAR_CH">IS_CHAR_CH</a>(c);
-</pre><p>Behaves like <a href="libxml2-parserInternals.html#IS_CHAR">IS_CHAR</a> on single-byte 
value</p><div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>c</tt></i>:</span></td><td>an <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> 
(usually an unsigned char)</td></tr></tbody></table></div>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="IS_COMBINING">Macro </a>IS_COMBINING</h3><pre 
class="programlisting">#define <a href="#IS_COMBINING">IS_COMBINING</a>(c);
-</pre><p>Macro to check the following production in the XML spec: [87] CombiningChar ::= ... long list see 
REC ...</p><div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>c</tt></i>:</span></td><td>an UNICODE value (int)</td></tr></tbody></table></div>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="IS_COMBINING_CH">Macro </a>IS_COMBINING_CH</h3><pre 
class="programlisting">#define <a href="#IS_COMBINING_CH">IS_COMBINING_CH</a>(c);
-</pre><p>Always false (all combining chars &gt; 0xff)</p><div class="variablelist"><table border="0"><col 
align="left"/><tbody><tr><td><span class="term"><i><tt>c</tt></i>:</span></td><td>an <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> (usually an unsigned char)</td></tr></tbody></table></div>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="IS_DIGIT">Macro </a>IS_DIGIT</h3><pre 
class="programlisting">#define <a href="#IS_DIGIT">IS_DIGIT</a>(c);
-</pre><p>Macro to check the following production in the XML spec: [88] Digit ::= ... long list see REC 
...</p><div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>c</tt></i>:</span></td><td>an UNICODE value (int)</td></tr></tbody></table></div>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="IS_DIGIT_CH">Macro </a>IS_DIGIT_CH</h3><pre 
class="programlisting">#define <a href="#IS_DIGIT_CH">IS_DIGIT_CH</a>(c);
-</pre><p>Behaves like <a href="libxml2-parserInternals.html#IS_DIGIT">IS_DIGIT</a> but with a single byte 
argument</p><div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>c</tt></i>:</span></td><td>an <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> value 
(usually an unsigned char)</td></tr></tbody></table></div>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="IS_EXTENDER">Macro </a>IS_EXTENDER</h3><pre 
class="programlisting">#define <a href="#IS_EXTENDER">IS_EXTENDER</a>(c);
-</pre><p>Macro to check the following production in the XML spec: [89] Extender ::= #x00B7 | #x02D0 | #x02D1 
| #x0387 | #x0640 | #x0E46 | #x0EC6 | #x3005 | [#x3031-#x3035] | [#x309D-#x309E] | [#x30FC-#x30FE]</p><div 
class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>c</tt></i>:</span></td><td>an UNICODE value (int)</td></tr></tbody></table></div>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="IS_EXTENDER_CH">Macro </a>IS_EXTENDER_CH</h3><pre 
class="programlisting">#define <a href="#IS_EXTENDER_CH">IS_EXTENDER_CH</a>(c);
-</pre><p>Behaves like <a href="libxml2-parserInternals.html#IS_EXTENDER">IS_EXTENDER</a> but with a 
single-byte argument</p><div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>c</tt></i>:</span></td><td>an <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> value 
(usually an unsigned char)</td></tr></tbody></table></div>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="IS_IDEOGRAPHIC">Macro </a>IS_IDEOGRAPHIC</h3><pre 
class="programlisting">#define <a href="#IS_IDEOGRAPHIC">IS_IDEOGRAPHIC</a>(c);
-</pre><p>Macro to check the following production in the XML spec: [86] Ideographic ::= [#x4E00-#x9FA5] | 
#x3007 | [#x3021-#x3029]</p><div class="variablelist"><table border="0"><col 
align="left"/><tbody><tr><td><span class="term"><i><tt>c</tt></i>:</span></td><td>an UNICODE value 
(int)</td></tr></tbody></table></div>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="IS_LETTER">Macro </a>IS_LETTER</h3><pre 
class="programlisting">#define <a href="#IS_LETTER">IS_LETTER</a>(c);
-</pre><p>Macro to check the following production in the XML spec: [84] Letter ::= BaseChar | 
Ideographic</p><div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>c</tt></i>:</span></td><td>an UNICODE value (int)</td></tr></tbody></table></div>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="IS_LETTER_CH">Macro </a>IS_LETTER_CH</h3><pre 
class="programlisting">#define <a href="#IS_LETTER_CH">IS_LETTER_CH</a>(c);
-</pre><p>Macro behaves like IS_LETTER, but only check base chars</p><div class="variablelist"><table 
border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>c</tt></i>:</span></td><td>an <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> value (normally unsigned 
char)</td></tr></tbody></table></div>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="IS_PUBIDCHAR">Macro </a>IS_PUBIDCHAR</h3><pre 
class="programlisting">#define <a href="#IS_PUBIDCHAR">IS_PUBIDCHAR</a>(c);
-</pre><p>Macro to check the following production in the XML spec: [13] PubidChar ::= #x20 | #xD | #xA | 
[a-zA-Z0-9] | [-'()+,./:=?;!*#@$_%]</p><div class="variablelist"><table border="0"><col 
align="left"/><tbody><tr><td><span class="term"><i><tt>c</tt></i>:</span></td><td>an UNICODE value 
(int)</td></tr></tbody></table></div>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="IS_PUBIDCHAR_CH">Macro </a>IS_PUBIDCHAR_CH</h3><pre 
class="programlisting">#define <a href="#IS_PUBIDCHAR_CH">IS_PUBIDCHAR_CH</a>(c);
-</pre><p>Same as <a href="libxml2-parserInternals.html#IS_PUBIDCHAR">IS_PUBIDCHAR</a> but for single-byte 
value</p><div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>c</tt></i>:</span></td><td>an <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> value 
(normally unsigned char)</td></tr></tbody></table></div>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="MOVETO_ENDTAG">Macro </a>MOVETO_ENDTAG</h3><pre 
class="programlisting">#define <a href="#MOVETO_ENDTAG">MOVETO_ENDTAG</a>(p);
-</pre><p>Skips to the next '&gt;' char.</p><div class="variablelist"><table border="0"><col 
align="left"/><tbody><tr><td><span class="term"><i><tt>p</tt></i>:</span></td><td>and UTF8 string 
pointer</td></tr></tbody></table></div>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="MOVETO_STARTTAG">Macro </a>MOVETO_STARTTAG</h3><pre 
class="programlisting">#define <a href="#MOVETO_STARTTAG">MOVETO_STARTTAG</a>(p);
-</pre><p>Skips to the next '&lt;' char.</p><div class="variablelist"><table border="0"><col 
align="left"/><tbody><tr><td><span class="term"><i><tt>p</tt></i>:</span></td><td>and UTF8 string 
pointer</td></tr></tbody></table></div>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="SKIP_EOL">Macro </a>SKIP_EOL</h3><pre 
class="programlisting">#define <a href="#SKIP_EOL">SKIP_EOL</a>(p);
-</pre><p>Skips the end of line chars.</p><div class="variablelist"><table border="0"><col 
align="left"/><tbody><tr><td><span class="term"><i><tt>p</tt></i>:</span></td><td>and UTF8 string 
pointer</td></tr></tbody></table></div>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_MAX_DICTIONARY_LIMIT">Macro 
</a>XML_MAX_DICTIONARY_LIMIT</h3><pre class="programlisting">#define <a 
href="#XML_MAX_DICTIONARY_LIMIT">XML_MAX_DICTIONARY_LIMIT</a>;
-</pre><p>Maximum size allowed by the parser for a dictionary by default This is not a limitation of the 
parser but a safety boundary feature, use <a href="libxml2-parser.html#XML_PARSE_HUGE">XML_PARSE_HUGE</a> 
option to override it. Introduced in 2.9.0</p>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_MAX_LOOKUP_LIMIT">Macro 
</a>XML_MAX_LOOKUP_LIMIT</h3><pre class="programlisting">#define <a 
href="#XML_MAX_LOOKUP_LIMIT">XML_MAX_LOOKUP_LIMIT</a>;
-</pre><p>Maximum size allowed by the parser for ahead lookup This is an upper boundary enforced by the 
parser to avoid bad behaviour on "unfriendly' content Introduced in 2.9.0</p>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_MAX_NAMELEN">Macro </a>XML_MAX_NAMELEN</h3><pre 
class="programlisting">#define <a href="#XML_MAX_NAMELEN">XML_MAX_NAMELEN</a>;
-</pre><p>Identifiers can be longer, but this will be more costly at runtime.</p>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_MAX_NAME_LENGTH">Macro 
</a>XML_MAX_NAME_LENGTH</h3><pre class="programlisting">#define <a 
href="#XML_MAX_NAME_LENGTH">XML_MAX_NAME_LENGTH</a>;
-</pre><p>Maximum size allowed for a markup identifier. This is not a limitation of the parser but a safety 
boundary feature, use <a href="libxml2-parser.html#XML_PARSE_HUGE">XML_PARSE_HUGE</a> option to override it. 
Note that with the use of parsing dictionaries overriding the limit may result in more runtime memory usage 
in face of "unfriendly' content Introduced in 2.9.0</p>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_MAX_TEXT_LENGTH">Macro 
</a>XML_MAX_TEXT_LENGTH</h3><pre class="programlisting">#define <a 
href="#XML_MAX_TEXT_LENGTH">XML_MAX_TEXT_LENGTH</a>;
-</pre><p>Maximum size allowed for a single text node when building a tree. This is not a limitation of the 
parser but a safety boundary feature, use <a href="libxml2-parser.html#XML_PARSE_HUGE">XML_PARSE_HUGE</a> 
option to override it. Introduced in 2.9.0</p>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_SUBSTITUTE_BOTH">Macro 
</a>XML_SUBSTITUTE_BOTH</h3><pre class="programlisting">#define <a 
href="#XML_SUBSTITUTE_BOTH">XML_SUBSTITUTE_BOTH</a>;
-</pre><p>Both general and parameter entities need to be substituted.</p>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_SUBSTITUTE_NONE">Macro 
</a>XML_SUBSTITUTE_NONE</h3><pre class="programlisting">#define <a 
href="#XML_SUBSTITUTE_NONE">XML_SUBSTITUTE_NONE</a>;
-</pre><p>If no entities need to be substituted.</p>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_SUBSTITUTE_PEREF">Macro 
</a>XML_SUBSTITUTE_PEREF</h3><pre class="programlisting">#define <a 
href="#XML_SUBSTITUTE_PEREF">XML_SUBSTITUTE_PEREF</a>;
-</pre><p>Whether parameter entities need to be substituted.</p>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_SUBSTITUTE_REF">Macro 
</a>XML_SUBSTITUTE_REF</h3><pre class="programlisting">#define <a 
href="#XML_SUBSTITUTE_REF">XML_SUBSTITUTE_REF</a>;
-</pre><p>Whether general entities need to be substituted.</p>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlEntityReferenceFunc"/>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/>
-</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></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParserMaxDepth">Variable 
</a>xmlParserMaxDepth</h3><pre class="programlisting">unsigned int xmlParserMaxDepth;
-</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>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlStringComment">Variable 
</a>xmlStringComment</h3><pre class="programlisting">const xmlCharxmlStringComment[] xmlStringComment;
-</pre><p/>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlStringText">Variable </a>xmlStringText</h3><pre 
class="programlisting">const xmlCharxmlStringText[] xmlStringText;
-</pre><p/>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlStringTextNoenc">Variable 
</a>xmlStringTextNoenc</h3><pre class="programlisting">const xmlCharxmlStringTextNoenc[] xmlStringTextNoenc;
-</pre><p/>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="htmlCreateFileParserCtxt"/>htmlCreateFileParserCtxt 
()</h3><pre class="programlisting"><a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a>  
htmlCreateFileParserCtxt        (const char * filename, <br/>                                                 
   const char * encoding)<br/>
-</pre><p>Create a parser context for a file content. Automatic support for ZLIB/Compress compressed document 
is provided by default if found at compile-time.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>filename</tt></i>:</span></td><td>the filename</td></tr><tr><td><span 
class="term"><i><tt>encoding</tt></i>:</span></td><td>a free form C string describing the HTML document 
encoding, or NULL</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new parser 
context or NULL</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="htmlInitAutoClose"/>htmlInitAutoClose ()</h3><pre 
class="programlisting">void     htmlInitAutoClose               (void)<br/>
-</pre><p>DEPRECATED: This function will be made private. Call <a 
href="libxml2-parser.html#xmlInitParser">xmlInitParser</a> to initialize the library. This is a no-op now.</p>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="inputPop"/>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"/>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"/>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>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"/>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>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"/>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>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"/>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>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"/>xmlCheckLanguageID ()</h3><pre 
class="programlisting">int    xmlCheckLanguageID              (const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * lang)<br/>
-</pre><p>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>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>lang</tt></i>:</span></td><td>pointer to the string value</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if correct 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCopyChar"/>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>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>len</tt></i>:</span></td><td>Ignored, compatibility</td></tr><tr><td><span 
class="term"><i><tt>out</tt></i>:</span></td><td>pointer to an array of <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a></td></tr><tr><td><span 
class="term"><i><tt>val</tt></i>:</span></td><td>the char value</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> written</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCopyCharMultiByte"/>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>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>out</tt></i>:</span></td><td>pointer to an array of <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a></td></tr><tr><td><span 
class="term"><i><tt>val</tt></i>:</span></td><td>the char value</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> written</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCreateEntityParserCtxt"/>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>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><tr><td><span 
class="term"><i><tt>URL</tt></i>:</span></td><td>the entity URL</td></tr><tr><td><span 
class="term"><i><tt>ID</tt></i>:</span></td><td>the entity PUBLIC ID</td></tr><tr><td><span 
class="term"><i><tt>base</tt></i>:</span></td><td>a possible base for the target URI</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the new parser context or 
NULL</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCreateFileParserCtxt"/>xmlCreateFileParserCtxt 
()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a>    
xmlCreateFileParserCtxt (const char * filename)<br/>
-</pre><p>Create a parser context for a file content. Automatic support for ZLIB/Compress compressed document 
is provided by default if found at compile-time.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>filename</tt></i>:</span></td><td>the filename</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the new parser context or 
NULL</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCreateMemoryParserCtxt"/>xmlCreateMemoryParserCtxt 
()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a>        
xmlCreateMemoryParserCtxt       (const char * buffer, <br/>                                                   
   int size)<br/>
-</pre><p>Create a parser context for an XML in-memory document.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>buffer</tt></i>:</span></td><td>a pointer to a char array</td></tr><tr><td><span 
class="term"><i><tt>size</tt></i>:</span></td><td>the size of the array</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the new parser context or 
NULL</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCreateURLParserCtxt"/>xmlCreateURLParserCtxt 
()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a>      
xmlCreateURLParserCtxt  (const char * filename, <br/>                                            int 
options)<br/>
-</pre><p>Create a parser context for a file or URL content. Automatic support for ZLIB/Compress compressed 
document is provided by default if found at compile-time and for file accesses</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 or URL</td></tr><tr><td><span 
class="term"><i><tt>options</tt></i>:</span></td><td>a combination of <a 
href="libxml2-parser.html#xmlParserOption">xmlParserOption</a></td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the new parser context or 
NULL</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCurrentChar"/>xmlCurrentChar ()</h3><pre 
class="programlisting">int    xmlCurrentChar                  (<a 
href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br/>                                   
int * len)<br/>
-</pre><p>The current char value, if using UTF-8 this may actually span multiple bytes in the input buffer. 
Implement the end of line normalization: 2.11 End-of-Line Handling Wherever an external parsed entity or the 
literal entity value of an internal parsed entity contains either the literal two-character sequence "#xD#xA" 
or a standalone literal #xD, an XML processor must pass to the application the single character #xA. This 
behavior can conveniently be produced by normalizing all line breaks to #xA on input, before parsing.)</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 XML parser context</td></tr><tr><td><span 
class="term"><i><tt>len</tt></i>:</span></td><td>pointer to the length of the char 
read</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the current char value and 
its length</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlDecodeEntities"/>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="xmlErrMemory"/>xmlErrMemory ()</h3><pre 
class="programlisting">void       xmlErrMemory                    (<a 
href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br/>                                   
const char * extra)<br/>
-</pre><p>Handle a redefinition of <a href="libxml2-SAX.html#attribute">attribute</a> error</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>extra</tt></i>:</span></td><td>extra information</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlFreeInputStream"/>xmlFreeInputStream ()</h3><pre 
class="programlisting">void   xmlFreeInputStream              (<a 
href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> input)<br/>
-</pre><p>Free up an input stream.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>input</tt></i>:</span></td><td>an <a 
href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a></td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlHandleEntity"/>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"/>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>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>c</tt></i>:</span></td><td>an unicode character (int)</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if not, non-zero 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNamespaceParseNCName"/>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"/>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"/>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"/>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> entity)<br/>
-</pre><p>Create a new input stream based on an <a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a></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 Entity pointer</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the new input stream or 
NULL</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNewInputFromFile"/>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>
-<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>filename</tt></i>:</span></td><td>the filename to use as entity</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the new input stream or NULL in case of 
error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNewInputStream"/>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>
-<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 new input stream or 
NULL</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNewStringInputStream"/>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>
-<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>buffer</tt></i>:</span></td><td>an memory buffer</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the new input 
stream</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNextChar"/>xmlNextChar ()</h3><pre 
class="programlisting">void xmlNextChar                     (<a 
href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br/>
-</pre><p>Skip to the next char input char.</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 XML parser context</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParseAttValue"/>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>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 #x
 20 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>
-<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 AttValue parsed or NULL. The value has to be freed 
by the caller.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParseAttribute"/>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: 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>
-<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>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></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></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParseAttributeListDecl"/>xmlParseAttributeListDecl 
()</h3><pre class="programlisting">void     xmlParseAttributeListDecl       (<a 
href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br/>
-</pre><p>: parse the Attribute list def for an element [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><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="xmlParseAttributeType"/>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>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 mat
 ch 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 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><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>tree</tt></i>:</span></td><td>the enumeration tree built while 
parsing</td></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></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParseCDSect"/>xmlParseCDSect ()</h3><pre 
class="programlisting">void   xmlParseCDSect                  (<a 
href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br/>
-</pre><p>Parse escaped pure raw content. [18] CDSect ::= CDStart CData CDEnd [19] CDStart ::= '&lt;![CDATA[' 
[20] Data ::= (Char* - (Char* ']]&gt;' Char*)) [21] CDEnd ::= ']]&gt;'</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="xmlParseCharData"/>xmlParseCharData ()</h3><pre 
class="programlisting">void       xmlParseCharData                (<a 
href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br/>                                   
int cdata)<br/>
-</pre><p>parse a CharData section. if we are within a CDATA section ']]&gt;' marks an end of section. The 
right angle bracket (&gt;) may be represented using the string "&amp;gt;", and must, for compatibility, be 
escaped using "&amp;gt;" or a character <a href="libxml2-SAX.html#reference">reference</a> when it appears in 
the string "]]&gt;" in content, when that string is not marking the end of a CDATA section. [14] CharData ::= 
[^&lt;&amp;]* - ([^&lt;&amp;]* ']]&gt;' [^&lt;&amp;]*)</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>cdata</tt></i>:</span></td><td>int indicating whether we are within a CDATA 
section</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParseCharRef"/>xmlParseCharRef ()</h3><pre 
class="programlisting">int  xmlParseCharRef                 (<a 
href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br/>
-</pre><p>parse Reference declarations [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><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 value parsed (as an int), 0 in case of 
error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParseComment"/>xmlParseComment ()</h3><pre 
class="programlisting">void xmlParseComment                 (<a 
href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br/>
-</pre><p>Skip an XML (SGML) <a href="libxml2-SAX.html#comment">comment</a> &lt;!-- .... --&gt; 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><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="xmlParseContent"/>xmlParseContent ()</h3><pre 
class="programlisting">void xmlParseContent                 (<a 
href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br/>
-</pre><p>Parse a content sequence. Stops at EOF or '&lt;/'. [43] content ::= (element | CharData | Reference 
| CDSect | PI | Comment)*</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="xmlParseDefaultDecl"/>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>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>
-<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>Receive a possible fixed default value for the <a 
href="libxml2-SAX.html#attribute">attribute</a></td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>XML_ATTRIBUTE_NONE, XML_ATTRIBUTE_REQUIRED, <a 
href="libxml2-tree.html#XML_ATTRIBUTE_IMPLIED">XML_ATTRIBUTE_IMPLIED</a> or 
XML_ATTRIBUTE_FIXED.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParseDocTypeDecl"/>xmlParseDocTypeDecl ()</h3><pre 
class="programlisting">void xmlParseDocTypeDecl             (<a 
href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br/>
-</pre><p>parse a DOCTYPE declaration [28] doctypedecl ::= '&lt;!DOCTYPE' S Name (S ExternalID)? S? ('[' 
(markupdecl | PEReference | S)* ']' S?)? '&gt;' [ VC: Root Element Type ] The Name in the document type 
declaration must match the element type of the root element.</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="xmlParseElement"/>xmlParseElement ()</h3><pre 
class="programlisting">void xmlParseElement                 (<a 
href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br/>
-</pre><p>parse an XML element [39] element ::= EmptyElemTag | STag content ETag [ WFC: Element Type Match ] 
The Name in an element's end-tag must match the element type in the start-tag.</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="xmlParseElementChildrenContentDecl"/>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>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 cha
 racter of the replacement text should be a connector (| or ,).</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>inputchk</tt></i>:</span></td><td>the input used for the current entity, needed for 
boundary checks</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the tree of <a 
href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> describing the element 
hierarchy.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParseElementContentDecl"/>xmlParseElementContentDecl 
()</h3><pre class="programlisting">int    xmlParseElementContentDecl      (<a 
href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br/>                                   
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>                                      
  <a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> * result)<br/>
-</pre><p>parse the declaration for an Element content either Mixed or Children, the cases EMPTY and ANY are 
handled directly in <a href="libxml2-parserInternals.html#xmlParseElementDecl">xmlParseElementDecl</a> [46] 
contentspec ::= 'EMPTY' | 'ANY' | Mixed | children</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>name</tt></i>:</span></td><td>the name of the element being 
defined.</td></tr><tr><td><span class="term"><i><tt>result</tt></i>:</span></td><td>the Element Content 
pointer will be stored here if any</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the type of element content 
XML_ELEMENT_TYPE_xxx</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParseElementDecl"/>xmlParseElementDecl ()</h3><pre 
class="programlisting">int  xmlParseElementDecl             (<a 
href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br/>
-</pre><p>parse an Element declaration. [45] elementdecl ::= '&lt;!ELEMENT' S Name S contentspec S? '&gt;' [ 
VC: Unique Element Type Declaration ] No element type may be declared more than once</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 type of the element, or -1 in case of 
error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlParseElementMixedContentDecl"/>xmlParseElementMixedContentDecl ()</h3><pre class="programlisting"><a 
href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a>    xmlParseElementMixedContentDecl (<a 
href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br/>                                    
               int inputchk)<br/>
-</pre><p>parse the declaration for a Mixed Element content The leading '(' and spaces have been skipped in 
<a href="libxml2-parserInternals.html#xmlParseElementContentDecl">xmlParseElementContentDecl</a> [51] Mixed 
::= '(' S? '#PCDATA' (S? '|' S? Name)* S? ')*' | '(' S? '#PCDATA' S? ')' [ VC: Proper Group/PE Nesting ] 
applies to [51] too (see [49]) [ VC: No Duplicate Types ] The same name must not appear more than once in a 
single mixed-content declaration.</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>inputchk</tt></i>:</span></td><td>the input used for the current entity, needed for 
boundary checks</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the list of the 
<a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> describing the element 
choices</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParseEncName"/>xmlParseEncName ()</h3><pre 
class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *       xmlParseEncName         
(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br/>
-</pre><p>parse the XML encoding name [81] EncName ::= [A-Za-z] ([A-Za-z0-9._] | '-')*</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 encoding name value or 
NULL</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParseEncodingDecl"/>xmlParseEncodingDecl ()</h3><pre 
class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *       
xmlParseEncodingDecl    (<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br/>
-</pre><p>parse the XML encoding declaration [80] EncodingDecl ::= S 'encoding' Eq ('"' EncName '"' | "'" 
EncName "'") this setups the conversion filters.</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 encoding value or 
NULL</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParseEndTag"/>xmlParseEndTag ()</h3><pre 
class="programlisting">void   xmlParseEndTag                  (<a 
href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br/>
-</pre><p>parse an end of tag [42] ETag ::= '&lt;/' Name S? '&gt;' With namespace [NS 9] ETag ::= '&lt;/' 
QName S? '&gt;'</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="xmlParseEntityDecl"/>xmlParseEntityDecl ()</h3><pre 
class="programlisting">void   xmlParseEntityDecl              (<a 
href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br/>
-</pre><p>parse &lt;!ENTITY declarations [70] EntityDecl ::= GEDecl | PEDecl [71] GEDecl ::= '&lt;!ENTITY' S 
Name S EntityDef S? '&gt;' [72] PEDecl ::= '&lt;!ENTITY' S '%' S Name S PEDef S? '&gt;' [73] EntityDef ::= 
EntityValue | (ExternalID NDataDecl?) [74] PEDef ::= EntityValue | ExternalID [76] NDataDecl ::= S 'NDATA' S 
Name [ VC: Notation Declared ] The Name must match the declared name of a notation.</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="xmlParseEntityRef"/>xmlParseEntityRef ()</h3><pre 
class="programlisting"><a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a>        xmlParseEntityRef     
  (<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br/>
-</pre><p>parse ENTITY references declarations [68] EntityRef ::= '&amp;' Name ';' [ 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 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. The 
declaration of a parameter entity must precede any <a href="libxml2-SAX.html#reference">reference</a> to it. 
Similarly, the declaration of a general entity must precede any <a 
href="libxml2-SAX.html#reference">reference</a> to it which appears in a default value in an attribute-list 
declaration. Note that if entities are declared in the external subset or in external parameter entities, a 
non-validating processor is not obligated to read and process their declarations; for such documents, th
 e rule that an entity must be declared is a well-formedness constraint only if standalone='yes'. [ WFC: 
Parsed Entity ] An entity <a href="libxml2-SAX.html#reference">reference</a> must not contain the name of an 
unparsed entity</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 <a 
href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a> if found, or NULL 
otherwise.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParseEntityValue"/>xmlParseEntityValue ()</h3><pre 
class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *       xmlParseEntityValue     
(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br/>                                
   <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** orig)<br/>
-</pre><p>parse a value for ENTITY declarations [9] EntityValue ::= '"' ([^%&amp;"] | PEReference | 
Reference)* '"' | "'" ([^%&amp;'] | PEReference | Reference)* "'"</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>orig</tt></i>:</span></td><td>if non-NULL store a copy of the original entity 
value</td></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></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParseEnumeratedType"/>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>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>
-<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>tree</tt></i>:</span></td><td>the enumeration tree built while 
parsing</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td><a 
href="libxml2-tree.html#XML_ATTRIBUTE_ENUMERATION">XML_ATTRIBUTE_ENUMERATION</a> or <a 
href="libxml2-tree.html#XML_ATTRIBUTE_NOTATION">XML_ATTRIBUTE_NOTATION</a></td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParseEnumerationType"/>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>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>
-<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 enumeration <a 
href="libxml2-SAX.html#attribute">attribute</a> tree built while parsing</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParseExternalID"/>xmlParseExternalID ()</h3><pre 
class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * xmlParseExternalID      (<a 
href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br/>                                   
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** publicID, <br/>                                       
  int strict)<br/>
-</pre><p>Parse an External ID or a Public ID NOTE: Productions [75] and [83] interact badly since [75] can 
generate 'PUBLIC' S PubidLiteral S SystemLiteral [75] ExternalID ::= 'SYSTEM' S SystemLiteral | 'PUBLIC' S 
PubidLiteral S SystemLiteral [83] PublicID ::= 'PUBLIC' S PubidLiteral</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>publicID</tt></i>:</span></td><td>a xmlChar** receiving 
PubidLiteral</td></tr><tr><td><span class="term"><i><tt>strict</tt></i>:</span></td><td>indicate whether we 
should restrict parsing to only production [75], see NOTE below</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the function returns SystemLiteral and in the second 
case publicID receives PubidLiteral, is strict is off it is possible to return NULL and have publicID 
set.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParseExternalSubset"/>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>
-<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>ExternalID</tt></i>:</span></td><td>the external identifier</td></tr><tr><td><span 
class="term"><i><tt>SystemID</tt></i>:</span></td><td>the system identifier (or 
URL)</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParseMarkupDecl"/>xmlParseMarkupDecl ()</h3><pre 
class="programlisting">void   xmlParseMarkupDecl              (<a 
href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br/>
-</pre><p>parse Markup declarations [29] markupdecl ::= elementdecl | AttlistDecl | EntityDecl | NotationDecl 
| PI | Comment [ VC: Proper Declaration/PE Nesting ] Parameter-entity replacement text must be properly 
nested with markup declarations. That is to say, if either the first character or the last character of a 
markup declaration (markupdecl above) is contained in the replacement text for a parameter-entity reference, 
both must be contained in the same replacement text. [ WFC: PEs in Internal Subset ] In the internal DTD 
subset, parameter-entity references can occur only where markup declarations can occur, not within markup 
declarations. (This does not apply to references that occur in external parameter entities or to the external 
subset.)</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="xmlParseMisc"/>xmlParseMisc ()</h3><pre 
class="programlisting">void       xmlParseMisc                    (<a 
href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br/>
-</pre><p>parse an XML Misc* optional field. [27] Misc ::= Comment | PI | S</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="xmlParseName"/>xmlParseName ()</h3><pre 
class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *       xmlParseName        
    (<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br/>
-</pre><p>parse an XML name. [4] NameChar ::= Letter | Digit | '.' | '-' | '_' | ':' | CombiningChar | 
Extender [5] Name ::= (Letter | '_' | ':') (NameChar)* [6] Names ::= Name (#x20 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="xmlParseNamespace"/>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"/>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><p>parse an XML Nmtoken. [7] Nmtoken ::= (NameChar)+ [8] Nmtokens ::= Nmtoken (#x20 Nmtoken)*</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 Nmtoken parsed or 
NULL</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParseNotationDecl"/>xmlParseNotationDecl ()</h3><pre 
class="programlisting">void       xmlParseNotationDecl            (<a 
href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br/>
-</pre><p>parse a notation declaration [82] NotationDecl ::= '&lt;!NOTATION' S Name S (ExternalID | PublicID) 
S? '&gt;' Hence there is actually 3 choices: 'PUBLIC' S PubidLiteral 'PUBLIC' S PubidLiteral S SystemLiteral 
and 'SYSTEM' S SystemLiteral See the NOTE on xmlParseExternalID().</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="xmlParseNotationType"/>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>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>
-<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 notation <a 
href="libxml2-SAX.html#attribute">attribute</a> tree built while parsing</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParsePEReference"/>xmlParsePEReference ()</h3><pre 
class="programlisting">void xmlParsePEReference             (<a 
href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br/>
-</pre><p>parse PEReference declarations 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>
-<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="xmlParsePI"/>xmlParsePI ()</h3><pre 
class="programlisting">void   xmlParsePI                      (<a 
href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br/>
-</pre><p>parse an XML Processing Instruction. [16] PI ::= '&lt;?' PITarget (S (Char* - (Char* '?&gt;' 
Char*)))? '?&gt;' The processing is transferred to SAX once parsed.</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="xmlParsePITarget"/>xmlParsePITarget ()</h3><pre 
class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *       xmlParsePITarget    
    (<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br/>
-</pre><p>parse the name of a PI [17] PITarget ::= Name - (('X' | 'x') ('M' | 'm') ('L' | 'l'))</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 PITarget name or 
NULL</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParsePubidLiteral"/>xmlParsePubidLiteral ()</h3><pre 
class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *     xmlParsePubidLiteral    (<a 
href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br/>
-</pre><p>parse an XML public literal [12] PubidLiteral ::= '"' PubidChar* '"' | "'" (PubidChar - "'")* 
"'"</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 PubidLiteral parsed or 
NULL.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParseQuotedString"/>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"/>xmlParseReference ()</h3><pre 
class="programlisting">void     xmlParseReference               (<a 
href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br/>
-</pre><p>parse and handle entity references in content, depending on the SAX interface, this may end-up in a 
call to character() if this is a CharRef, a predefined entity, if there is no reference() callback. or if the 
parser was asked to switch to that mode. [67] Reference ::= EntityRef | CharRef</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="xmlParseSDDecl"/>xmlParseSDDecl ()</h3><pre 
class="programlisting">int    xmlParseSDDecl                  (<a 
href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br/>
-</pre><p>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>
-<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>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></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParseStartTag"/>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: Don't use. parse a start of tag either for rule element or EmptyElement. In both case 
we don't parse the tag closing chars. [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>
-<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 element name 
parsed</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParseSystemLiteral"/>xmlParseSystemLiteral 
()</h3><pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *   
xmlParseSystemLiteral   (<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br/>
-</pre><p>parse an XML Literal [11] SystemLiteral ::= ('"' [^"]* '"') | ("'" [^']* "'")</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 SystemLiteral parsed or 
NULL</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParseTextDecl"/>xmlParseTextDecl ()</h3><pre 
class="programlisting">void       xmlParseTextDecl                (<a 
href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br/>
-</pre><p>parse an XML declaration header for external entities [77] TextDecl ::= '&lt;?xml' VersionInfo? 
EncodingDecl S? '?&gt;'</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="xmlParseVersionInfo"/>xmlParseVersionInfo ()</h3><pre 
class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *       xmlParseVersionInfo     
(<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br/>
-</pre><p>parse the XML version. [24] VersionInfo ::= S 'version' Eq (' VersionNum ' | " VersionNum ") [25] 
Eq ::= S? '=' S?</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 version string, e.g. 
"1.0"</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParseVersionNum"/>xmlParseVersionNum ()</h3><pre 
class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * xmlParseVersionNum      (<a 
href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br/>
-</pre><p>parse the XML version value. [26] VersionNum ::= '1.' [0-9]+ In practice allow [0-9].[0-9]+ at that 
level</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 giving the XML version number, or 
NULL</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParseXMLDecl"/>xmlParseXMLDecl ()</h3><pre 
class="programlisting">void xmlParseXMLDecl                 (<a 
href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br/>
-</pre><p>parse an XML declaration header [23] XMLDecl ::= '&lt;?xml' VersionInfo EncodingDecl? SDDecl? S? 
'?&gt;'</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="xmlParserHandlePEReference"/>xmlParserHandlePEReference 
()</h3><pre class="programlisting">void   xmlParserHandlePEReference      (<a 
href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br/>
-</pre><p>[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#entpr
 oc 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"/>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>
-<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="xmlParserInputShrink"/>xmlParserInputShrink ()</h3><pre 
class="programlisting">void       xmlParserInputShrink            (<a 
href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> in)<br/>
-</pre><p>This function removes used input for the parser.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>in</tt></i>:</span></td><td>an XML parser input</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlPopInput"/>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>
-<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 <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> in the parser context</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlPushInput"/>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>xmlPushInput: switch to a new input stream which is stacked on top of the previous one(s).</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>input</tt></i>:</span></td><td>an XML parser input fragment (entity, XML fragment 
...).</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 in case of error or the 
index in the input stack</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlScanName"/>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"/>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"/>xmlSkipBlankChars ()</h3><pre 
class="programlisting">int      xmlSkipBlankChars               (<a 
href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br/>
-</pre><p>skip all blanks character found at that point in the input streams. It pops up finished entities in 
the process if allowable at 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>the XML parser context</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of space chars 
skipped</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSplitQName"/>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> ** prefix)<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>
-<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>name</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="xmlStringCurrentChar"/>xmlStringCurrentChar ()</h3><pre 
class="programlisting">int        xmlStringCurrentChar            (<a 
href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br/>                                   
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur, <br/>                                       
  int * len)<br/>
-</pre><p>The current char value, if using UTF-8 this may actually span multiple bytes in the input 
buffer.</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 XML parser context</td></tr><tr><td><span 
class="term"><i><tt>cur</tt></i>:</span></td><td>pointer to the beginning of the char</td></tr><tr><td><span 
class="term"><i><tt>len</tt></i>:</span></td><td>pointer to the length of the char 
read</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the current char value and 
its length</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlStringDecodeEntities"/>xmlStringDecodeEntities 
()</h3><pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *       
xmlStringDecodeEntities (<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br/>        
                           const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <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>Takes a entity string content and process to do the adequate substitutions. [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>str</tt></i>:</span></td><td>the input string</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="xmlStringLenDecodeEntities"/>xmlStringLenDecodeEntities 
()</h3><pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * 
xmlStringLenDecodeEntities      (<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, 
<br/>                                           const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * 
str, <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>Takes a entity string content and process to do the adequate substitutions. [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>str</tt></i>:</span></td><td>the input string</td></tr><tr><td><span 
class="term"><i><tt>len</tt></i>:</span></td><td>the string length</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 alloca
 ted 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="xmlSwitchEncoding"/>xmlSwitchEncoding ()</h3><pre 
class="programlisting">int      xmlSwitchEncoding               (<a 
href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br/>                                   
<a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc)<br/>
-</pre><p>change the input functions when discovering the character encoding of a given entity.</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>enc</tt></i>:</span></td><td>the encoding value (number)</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success, -1 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSwitchInputEncoding"/>xmlSwitchInputEncoding 
()</h3><pre class="programlisting">int    xmlSwitchInputEncoding          (<a 
href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br/>                                   
<a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> input, <br/>                              
          <a href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> 
handler)<br/>
-</pre><p>DEPRECATED: Use <a href="libxml2-parserInternals.html#xmlSwitchToEncoding">xmlSwitchToEncoding</a> 
change the input functions when discovering the character encoding of a given entity.</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>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>0 in case of success, -1 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSwitchToEncoding"/>xmlSwitchToEncoding ()</h3><pre 
class="programlisting">int  xmlSwitchToEncoding             (<a 
href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br/>                                   
<a href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> handler)<br/>
-</pre><p>change the input functions when discovering the character encoding of a given entity.</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>handler</tt></i>:</span></td><td>the encoding handler</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success, -1 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-      </div>
-    </div>
-  </body>
+<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> ** prefix);
+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);
+<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * <a 
href="#xmlStringDecodeEntities">xmlStringDecodeEntities</a>  (<a 
href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>                                    
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <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);
+<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * <a 
href="#xmlStringLenDecodeEntities">xmlStringLenDecodeEntities</a>    (<a 
href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>                                     
       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <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);
+int    <a href="#xmlSwitchEncoding">xmlSwitchEncoding</a>              (<a 
href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>                                    
<a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc);
+int    <a href="#xmlSwitchInputEncoding">xmlSwitchInputEncoding</a>            (<a 
href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>                                    
<a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> input, <br>                               
          <a href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> handler);
+int    <a href="#xmlSwitchToEncoding">xmlSwitchToEncoding</a>          (<a 
href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>                                    
<a href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> handler);
+</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="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>
+<p>Macro to check [0-9]</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>c</tt></i>:</span></td>
+<td>an <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> value</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="IS_ASCII_LETTER">Macro </a>IS_ASCII_LETTER</h3>
+<pre class="programlisting">#define <a href="#IS_ASCII_LETTER">IS_ASCII_LETTER</a>(c);
+</pre>
+<p>Macro to check [a-zA-Z]</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>c</tt></i>:</span></td>
+<td>an <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> value</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="IS_BASECHAR">Macro </a>IS_BASECHAR</h3>
+<pre class="programlisting">#define <a href="#IS_BASECHAR">IS_BASECHAR</a>(c);
+</pre>
+<p>Macro to check the following production in the XML spec: [85] BaseChar ::= ... long list see REC ...</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>c</tt></i>:</span></td>
+<td>an UNICODE value (int)</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="IS_BLANK">Macro </a>IS_BLANK</h3>
+<pre class="programlisting">#define <a href="#IS_BLANK">IS_BLANK</a>(c);
+</pre>
+<p>Macro to check the following production in the XML spec: [3] S ::= (#x20 | #x9 | #xD | #xA)+</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>c</tt></i>:</span></td>
+<td>an UNICODE value (int)</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="IS_BLANK_CH">Macro </a>IS_BLANK_CH</h3>
+<pre class="programlisting">#define <a href="#IS_BLANK_CH">IS_BLANK_CH</a>(c);
+</pre>
+<p>Behaviour same as <a href="libxml2-parserInternals.html#IS_BLANK">IS_BLANK</a></p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>c</tt></i>:</span></td>
+<td>an <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> value (normally unsigned char)</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="IS_BYTE_CHAR">Macro </a>IS_BYTE_CHAR</h3>
+<pre class="programlisting">#define <a href="#IS_BYTE_CHAR">IS_BYTE_CHAR</a>(c);
+</pre>
+<p>Macro to check the following production in the XML spec: [2] Char ::= #x9 | #xA | #xD | [#x20...] any 
byte character in the accepted range</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>c</tt></i>:</span></td>
+<td>an byte value (int)</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="IS_CHAR">Macro </a>IS_CHAR</h3>
+<pre class="programlisting">#define <a href="#IS_CHAR">IS_CHAR</a>(c);
+</pre>
+<p>Macro to check the following production in the XML spec: [2] Char ::= #x9 | #xA | #xD | [#x20-#xD7FF] | 
[#xE000-#xFFFD] | [#x10000-#x10FFFF] any Unicode character, excluding the surrogate blocks, FFFE, and 
FFFF.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>c</tt></i>:</span></td>
+<td>an UNICODE value (int)</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="IS_CHAR_CH">Macro </a>IS_CHAR_CH</h3>
+<pre class="programlisting">#define <a href="#IS_CHAR_CH">IS_CHAR_CH</a>(c);
+</pre>
+<p>Behaves like <a href="libxml2-parserInternals.html#IS_CHAR">IS_CHAR</a> on single-byte value</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>c</tt></i>:</span></td>
+<td>an <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> (usually an unsigned char)</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="IS_COMBINING">Macro </a>IS_COMBINING</h3>
+<pre class="programlisting">#define <a href="#IS_COMBINING">IS_COMBINING</a>(c);
+</pre>
+<p>Macro to check the following production in the XML spec: [87] CombiningChar ::= ... long list see REC 
...</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>c</tt></i>:</span></td>
+<td>an UNICODE value (int)</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="IS_COMBINING_CH">Macro </a>IS_COMBINING_CH</h3>
+<pre class="programlisting">#define <a href="#IS_COMBINING_CH">IS_COMBINING_CH</a>(c);
+</pre>
+<p>Always false (all combining chars &gt; 0xff)</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>c</tt></i>:</span></td>
+<td>an <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> (usually an unsigned char)</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="IS_DIGIT">Macro </a>IS_DIGIT</h3>
+<pre class="programlisting">#define <a href="#IS_DIGIT">IS_DIGIT</a>(c);
+</pre>
+<p>Macro to check the following production in the XML spec: [88] Digit ::= ... long list see REC ...</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>c</tt></i>:</span></td>
+<td>an UNICODE value (int)</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="IS_DIGIT_CH">Macro </a>IS_DIGIT_CH</h3>
+<pre class="programlisting">#define <a href="#IS_DIGIT_CH">IS_DIGIT_CH</a>(c);
+</pre>
+<p>Behaves like <a href="libxml2-parserInternals.html#IS_DIGIT">IS_DIGIT</a> but with a single byte 
argument</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>c</tt></i>:</span></td>
+<td>an <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> value (usually an unsigned char)</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="IS_EXTENDER">Macro </a>IS_EXTENDER</h3>
+<pre class="programlisting">#define <a href="#IS_EXTENDER">IS_EXTENDER</a>(c);
+</pre>
+<p>Macro to check the following production in the XML spec: [89] Extender ::= #x00B7 | #x02D0 | #x02D1 | 
#x0387 | #x0640 | #x0E46 | #x0EC6 | #x3005 | [#x3031-#x3035] | [#x309D-#x309E] | [#x30FC-#x30FE]</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>c</tt></i>:</span></td>
+<td>an UNICODE value (int)</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="IS_EXTENDER_CH">Macro </a>IS_EXTENDER_CH</h3>
+<pre class="programlisting">#define <a href="#IS_EXTENDER_CH">IS_EXTENDER_CH</a>(c);
+</pre>
+<p>Behaves like <a href="libxml2-parserInternals.html#IS_EXTENDER">IS_EXTENDER</a> but with a single-byte 
argument</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>c</tt></i>:</span></td>
+<td>an <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> value (usually an unsigned char)</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="IS_IDEOGRAPHIC">Macro </a>IS_IDEOGRAPHIC</h3>
+<pre class="programlisting">#define <a href="#IS_IDEOGRAPHIC">IS_IDEOGRAPHIC</a>(c);
+</pre>
+<p>Macro to check the following production in the XML spec: [86] Ideographic ::= [#x4E00-#x9FA5] | #x3007 | 
[#x3021-#x3029]</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>c</tt></i>:</span></td>
+<td>an UNICODE value (int)</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="IS_LETTER">Macro </a>IS_LETTER</h3>
+<pre class="programlisting">#define <a href="#IS_LETTER">IS_LETTER</a>(c);
+</pre>
+<p>Macro to check the following production in the XML spec: [84] Letter ::= BaseChar | Ideographic</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>c</tt></i>:</span></td>
+<td>an UNICODE value (int)</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="IS_LETTER_CH">Macro </a>IS_LETTER_CH</h3>
+<pre class="programlisting">#define <a href="#IS_LETTER_CH">IS_LETTER_CH</a>(c);
+</pre>
+<p>Macro behaves like IS_LETTER, but only check base chars</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>c</tt></i>:</span></td>
+<td>an <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> value (normally unsigned char)</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="IS_PUBIDCHAR">Macro </a>IS_PUBIDCHAR</h3>
+<pre class="programlisting">#define <a href="#IS_PUBIDCHAR">IS_PUBIDCHAR</a>(c);
+</pre>
+<p>Macro to check the following production in the XML spec: [13] PubidChar ::= #x20 | #xD | #xA | 
[a-zA-Z0-9] | [-'()+,./:=?;!*#@$_%]</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>c</tt></i>:</span></td>
+<td>an UNICODE value (int)</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="IS_PUBIDCHAR_CH">Macro </a>IS_PUBIDCHAR_CH</h3>
+<pre class="programlisting">#define <a href="#IS_PUBIDCHAR_CH">IS_PUBIDCHAR_CH</a>(c);
+</pre>
+<p>Same as <a href="libxml2-parserInternals.html#IS_PUBIDCHAR">IS_PUBIDCHAR</a> but for single-byte value</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>c</tt></i>:</span></td>
+<td>an <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> value (normally unsigned char)</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="MOVETO_ENDTAG">Macro </a>MOVETO_ENDTAG</h3>
+<pre class="programlisting">#define <a href="#MOVETO_ENDTAG">MOVETO_ENDTAG</a>(p);
+</pre>
+<p>Skips to the next '&gt;' char.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>p</tt></i>:</span></td>
+<td>and UTF8 string pointer</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="MOVETO_STARTTAG">Macro </a>MOVETO_STARTTAG</h3>
+<pre class="programlisting">#define <a href="#MOVETO_STARTTAG">MOVETO_STARTTAG</a>(p);
+</pre>
+<p>Skips to the next '&lt;' char.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>p</tt></i>:</span></td>
+<td>and UTF8 string pointer</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="SKIP_EOL">Macro </a>SKIP_EOL</h3>
+<pre class="programlisting">#define <a href="#SKIP_EOL">SKIP_EOL</a>(p);
+</pre>
+<p>Skips the end of line chars.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>p</tt></i>:</span></td>
+<td>and UTF8 string pointer</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_MAX_DICTIONARY_LIMIT">Macro </a>XML_MAX_DICTIONARY_LIMIT</h3>
+<pre class="programlisting">#define <a href="#XML_MAX_DICTIONARY_LIMIT">XML_MAX_DICTIONARY_LIMIT</a>;
+</pre>
+<p>Maximum size allowed by the parser for a dictionary by default This is not a limitation of the parser but 
a safety boundary feature, use <a href="libxml2-parser.html#XML_PARSE_HUGE">XML_PARSE_HUGE</a> option to 
override it. Introduced in 2.9.0</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_MAX_LOOKUP_LIMIT">Macro </a>XML_MAX_LOOKUP_LIMIT</h3>
+<pre class="programlisting">#define <a href="#XML_MAX_LOOKUP_LIMIT">XML_MAX_LOOKUP_LIMIT</a>;
+</pre>
+<p>Maximum size allowed by the parser for ahead lookup This is an upper boundary enforced by the parser to 
avoid bad behaviour on "unfriendly' content Introduced in 2.9.0</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_MAX_NAMELEN">Macro </a>XML_MAX_NAMELEN</h3>
+<pre class="programlisting">#define <a href="#XML_MAX_NAMELEN">XML_MAX_NAMELEN</a>;
+</pre>
+<p>Identifiers can be longer, but this will be more costly at runtime.</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_MAX_NAME_LENGTH">Macro </a>XML_MAX_NAME_LENGTH</h3>
+<pre class="programlisting">#define <a href="#XML_MAX_NAME_LENGTH">XML_MAX_NAME_LENGTH</a>;
+</pre>
+<p>Maximum size allowed for a markup identifier. This is not a limitation of the parser but a safety 
boundary feature, use <a href="libxml2-parser.html#XML_PARSE_HUGE">XML_PARSE_HUGE</a> option to override it. 
Note that with the use of parsing dictionaries overriding the limit may result in more runtime memory usage 
in face of "unfriendly' content Introduced in 2.9.0</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_MAX_TEXT_LENGTH">Macro </a>XML_MAX_TEXT_LENGTH</h3>
+<pre class="programlisting">#define <a href="#XML_MAX_TEXT_LENGTH">XML_MAX_TEXT_LENGTH</a>;
+</pre>
+<p>Maximum size allowed for a single text node when building a tree. This is not a limitation of the parser 
but a safety boundary feature, use <a href="libxml2-parser.html#XML_PARSE_HUGE">XML_PARSE_HUGE</a> option to 
override it. Introduced in 2.9.0</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_SUBSTITUTE_BOTH">Macro </a>XML_SUBSTITUTE_BOTH</h3>
+<pre class="programlisting">#define <a href="#XML_SUBSTITUTE_BOTH">XML_SUBSTITUTE_BOTH</a>;
+</pre>
+<p>Both general and parameter entities need to be substituted.</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_SUBSTITUTE_NONE">Macro </a>XML_SUBSTITUTE_NONE</h3>
+<pre class="programlisting">#define <a href="#XML_SUBSTITUTE_NONE">XML_SUBSTITUTE_NONE</a>;
+</pre>
+<p>If no entities need to be substituted.</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_SUBSTITUTE_PEREF">Macro </a>XML_SUBSTITUTE_PEREF</h3>
+<pre class="programlisting">#define <a href="#XML_SUBSTITUTE_PEREF">XML_SUBSTITUTE_PEREF</a>;
+</pre>
+<p>Whether parameter entities need to be substituted.</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_SUBSTITUTE_REF">Macro </a>XML_SUBSTITUTE_REF</h3>
+<pre class="programlisting">#define <a href="#XML_SUBSTITUTE_REF">XML_SUBSTITUTE_REF</a>;
+</pre>
+<p>Whether general entities need to be substituted.</p>
+</div>
+<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>
+</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>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParserMaxDepth">Variable </a>xmlParserMaxDepth</h3>
+<pre class="programlisting">unsigned int xmlParserMaxDepth;
+</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>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlStringComment">Variable </a>xmlStringComment</h3>
+<pre class="programlisting">const xmlCharxmlStringComment[] xmlStringComment;
+</pre>
+<p></p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlStringText">Variable </a>xmlStringText</h3>
+<pre class="programlisting">const xmlCharxmlStringText[] xmlStringText;
+</pre>
+<p></p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlStringTextNoenc">Variable </a>xmlStringTextNoenc</h3>
+<pre class="programlisting">const xmlCharxmlStringTextNoenc[] xmlStringTextNoenc;
+</pre>
+<p></p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="htmlCreateFileParserCtxt"></a>htmlCreateFileParserCtxt ()</h3>
+<pre class="programlisting"><a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a>  
htmlCreateFileParserCtxt        (const char * filename, <br>                                                  
   const char * encoding)<br>
+</pre>
+<p>Create a parser context for a file content. Automatic support for ZLIB/Compress compressed document is 
provided by default if found at compile-time.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>filename</tt></i>:</span></td>
+<td>the filename</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
+<td>a free form C string describing the HTML document encoding, or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the new parser context or NULL</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="htmlInitAutoClose"></a>htmlInitAutoClose ()</h3>
+<pre class="programlisting">void       htmlInitAutoClose               (void)<br>
+</pre>
+<p>DEPRECATED: This function will be made private. Call <a 
href="libxml2-parser.html#xmlInitParser">xmlInitParser</a> to initialize the library. This is a no-op now.</p>
+</div>
+<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>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>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>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>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>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 regio
 n = 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>
+<tr>
+<td><span class="term"><i><tt>lang</tt></i>:</span></td>
+<td>pointer to the string value</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if correct 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>len</tt></i>:</span></td>
+<td>Ignored, compatibility</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>out</tt></i>:</span></td>
+<td>pointer to an array of <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>val</tt></i>:</span></td>
+<td>the char value</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the number of <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> written</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>out</tt></i>:</span></td>
+<td>pointer to an array of <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>val</tt></i>:</span></td>
+<td>the char value</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the number of <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> written</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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>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>
+<tr>
+<td><span class="term"><i><tt>URL</tt></i>:</span></td>
+<td>the entity URL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ID</tt></i>:</span></td>
+<td>the entity PUBLIC ID</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>base</tt></i>:</span></td>
+<td>a possible base for the target URI</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the new parser context or NULL</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCreateFileParserCtxt"></a>xmlCreateFileParserCtxt ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a>  
xmlCreateFileParserCtxt (const char * filename)<br>
+</pre>
+<p>Create a parser context for a file content. Automatic support for ZLIB/Compress compressed document is 
provided by default if found at compile-time.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>filename</tt></i>:</span></td>
+<td>the filename</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the new parser context or NULL</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCreateMemoryParserCtxt"></a>xmlCreateMemoryParserCtxt ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a>  
xmlCreateMemoryParserCtxt       (const char * buffer, <br>                                                    
   int size)<br>
+</pre>
+<p>Create a parser context for an XML in-memory document.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>buffer</tt></i>:</span></td>
+<td>a pointer to a char array</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>size</tt></i>:</span></td>
+<td>the size of the array</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the new parser context or NULL</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCreateURLParserCtxt"></a>xmlCreateURLParserCtxt ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a>  
xmlCreateURLParserCtxt  (const char * filename, <br>                                             int 
options)<br>
+</pre>
+<p>Create a parser context for a file or URL content. Automatic support for ZLIB/Compress compressed 
document is provided by default if found at compile-time and for file accesses</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 or URL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>options</tt></i>:</span></td>
+<td>a combination of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the new parser context or NULL</td>
+</tr>
+</tbody>
+</table></div>
+</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>
+<p>The current char value, if using UTF-8 this may actually span multiple bytes in the input buffer. 
Implement the end of line normalization: 2.11 End-of-Line Handling Wherever an external parsed entity or the 
literal entity value of an internal parsed entity contains either the literal two-character sequence "#xD#xA" 
or a standalone literal #xD, an XML processor must pass to the application the single character #xA. This 
behavior can conveniently be produced by normalizing all line breaks to #xA on input, before parsing.)</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 XML parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>len</tt></i>:</span></td>
+<td>pointer to the length of the char read</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the current char value and its length</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<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="xmlErrMemory"></a>xmlErrMemory ()</h3>
+<pre class="programlisting">void       xmlErrMemory                    (<a 
href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>                                    
const char * extra)<br>
+</pre>
+<p>Handle a redefinition of <a href="libxml2-SAX.html#attribute">attribute</a> error</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>extra</tt></i>:</span></td>
+<td>extra information</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>
+<p>Free up an input stream.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>input</tt></i>:</span></td>
+<td>an <a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>
+</td>
+</tr></tbody>
+</table></div>
+</div>
+<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>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>c</tt></i>:</span></td>
+<td>an unicode character (int)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 if not, non-zero otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<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> entity)<br>
+</pre>
+<p>Create a new input stream based on an <a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a></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 Entity pointer</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the new input stream or NULL</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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>
+<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>filename</tt></i>:</span></td>
+<td>the filename to use as entity</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the new input stream or NULL in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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>
+<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 new input stream or NULL</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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>
+<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>buffer</tt></i>:</span></td>
+<td>an memory buffer</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the new input stream</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNextChar"></a>xmlNextChar ()</h3>
+<pre class="programlisting">void       xmlNextChar                     (<a 
href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
+</pre>
+<p>Skip to the next char input char.</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 XML parser context</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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>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>
+<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 AttValue parsed or NULL. The value has to be freed by the caller.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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: 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>
+<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>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>
+</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>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParseAttributeListDecl"></a>xmlParseAttributeListDecl ()</h3>
+<pre class="programlisting">void       xmlParseAttributeListDecl       (<a 
href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
+</pre>
+<p>: parse the Attribute list def for an element [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>
+<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="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>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 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>
+<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>tree</tt></i>:</span></td>
+<td>the enumeration tree built while parsing</td>
+</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>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParseCDSect"></a>xmlParseCDSect ()</h3>
+<pre class="programlisting">void       xmlParseCDSect                  (<a 
href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
+</pre>
+<p>Parse escaped pure raw content. [18] CDSect ::= CDStart CData CDEnd [19] CDStart ::= '&lt;![CDATA[' [20] 
Data ::= (Char* - (Char* ']]&gt;' Char*)) [21] CDEnd ::= ']]&gt;'</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="xmlParseCharData"></a>xmlParseCharData ()</h3>
+<pre class="programlisting">void       xmlParseCharData                (<a 
href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>                                    
int cdata)<br>
+</pre>
+<p>parse a CharData section. if we are within a CDATA section ']]&gt;' marks an end of section. The right 
angle bracket (&gt;) may be represented using the string "&amp;gt;", and must, for compatibility, be escaped 
using "&amp;gt;" or a character <a href="libxml2-SAX.html#reference">reference</a> when it appears in the 
string "]]&gt;" in content, when that string is not marking the end of a CDATA section. [14] CharData ::= 
[^&lt;&amp;]* - ([^&lt;&amp;]* ']]&gt;' [^&lt;&amp;]*)</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>cdata</tt></i>:</span></td>
+<td>int indicating whether we are within a CDATA section</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParseCharRef"></a>xmlParseCharRef ()</h3>
+<pre class="programlisting">int        xmlParseCharRef                 (<a 
href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
+</pre>
+<p>parse Reference declarations [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>
+<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 value parsed (as an int), 0 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParseComment"></a>xmlParseComment ()</h3>
+<pre class="programlisting">void       xmlParseComment                 (<a 
href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
+</pre>
+<p>Skip an XML (SGML) <a href="libxml2-SAX.html#comment">comment</a> &lt;!-- .... --&gt; 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>
+<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="xmlParseContent"></a>xmlParseContent ()</h3>
+<pre class="programlisting">void       xmlParseContent                 (<a 
href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
+</pre>
+<p>Parse a content sequence. Stops at EOF or '&lt;/'. [43] content ::= (element | CharData | Reference | 
CDSect | PI | Comment)*</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="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>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>
+<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>Receive a possible fixed default value for the <a href="libxml2-SAX.html#attribute">attribute</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>XML_ATTRIBUTE_NONE, XML_ATTRIBUTE_REQUIRED, <a 
href="libxml2-tree.html#XML_ATTRIBUTE_IMPLIED">XML_ATTRIBUTE_IMPLIED</a> or XML_ATTRIBUTE_FIXED.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParseDocTypeDecl"></a>xmlParseDocTypeDecl ()</h3>
+<pre class="programlisting">void       xmlParseDocTypeDecl             (<a 
href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
+</pre>
+<p>parse a DOCTYPE declaration [28] doctypedecl ::= '&lt;!DOCTYPE' S Name (S ExternalID)? S? ('[' 
(markupdecl | PEReference | S)* ']' S?)? '&gt;' [ VC: Root Element Type ] The Name in the document type 
declaration must match the element type of the root element.</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="xmlParseElement"></a>xmlParseElement ()</h3>
+<pre class="programlisting">void       xmlParseElement                 (<a 
href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
+</pre>
+<p>parse an XML element [39] element ::= EmptyElemTag | STag content ETag [ WFC: Element Type Match ] The 
Name in an element's end-tag must match the element type in the start-tag.</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="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>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>
+<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>inputchk</tt></i>:</span></td>
+<td>the input used for the current entity, needed for boundary checks</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the tree of <a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> describing the 
element hierarchy.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParseElementContentDecl"></a>xmlParseElementContentDecl ()</h3>
+<pre class="programlisting">int        xmlParseElementContentDecl      (<a 
href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>                                    
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>                                       
  <a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> * result)<br>
+</pre>
+<p>parse the declaration for an Element content either Mixed or Children, the cases EMPTY and ANY are 
handled directly in <a href="libxml2-parserInternals.html#xmlParseElementDecl">xmlParseElementDecl</a> [46] 
contentspec ::= 'EMPTY' | 'ANY' | Mixed | children</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>name</tt></i>:</span></td>
+<td>the name of the element being defined.</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>result</tt></i>:</span></td>
+<td>the Element Content pointer will be stored here if any</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the type of element content XML_ELEMENT_TYPE_xxx</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParseElementDecl"></a>xmlParseElementDecl ()</h3>
+<pre class="programlisting">int        xmlParseElementDecl             (<a 
href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
+</pre>
+<p>parse an Element declaration. [45] elementdecl ::= '&lt;!ELEMENT' S Name S contentspec S? '&gt;' [ VC: 
Unique Element Type Declaration ] No element type may be declared more than once</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 type of the element, or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParseElementMixedContentDecl"></a>xmlParseElementMixedContentDecl ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a>  
xmlParseElementMixedContentDecl (<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br> 
                                                   int inputchk)<br>
+</pre>
+<p>parse the declaration for a Mixed Element content The leading '(' and spaces have been skipped in <a 
href="libxml2-parserInternals.html#xmlParseElementContentDecl">xmlParseElementContentDecl</a> [51] Mixed ::= 
'(' S? '#PCDATA' (S? '|' S? Name)* S? ')*' | '(' S? '#PCDATA' S? ')' [ VC: Proper Group/PE Nesting ] applies 
to [51] too (see [49]) [ VC: No Duplicate Types ] The same name must not appear more than once in a single 
mixed-content declaration.</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>inputchk</tt></i>:</span></td>
+<td>the input used for the current entity, needed for boundary checks</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the list of the <a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> describing the 
element choices</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParseEncName"></a>xmlParseEncName ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *     xmlParseEncName       
  (<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
+</pre>
+<p>parse the XML encoding name [81] EncName ::= [A-Za-z] ([A-Za-z0-9._] | '-')*</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 encoding name value or NULL</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParseEncodingDecl"></a>xmlParseEncodingDecl ()</h3>
+<pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *       
xmlParseEncodingDecl    (<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
+</pre>
+<p>parse the XML encoding declaration [80] EncodingDecl ::= S 'encoding' Eq ('"' EncName '"' | "'" EncName 
"'") this setups the conversion filters.</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 encoding value or NULL</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParseEndTag"></a>xmlParseEndTag ()</h3>
+<pre class="programlisting">void       xmlParseEndTag                  (<a 
href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
+</pre>
+<p>parse an end of tag [42] ETag ::= '&lt;/' Name S? '&gt;' With namespace [NS 9] ETag ::= '&lt;/' QName S? 
'&gt;'</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="xmlParseEntityDecl"></a>xmlParseEntityDecl ()</h3>
+<pre class="programlisting">void       xmlParseEntityDecl              (<a 
href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
+</pre>
+<p>parse &lt;!ENTITY declarations [70] EntityDecl ::= GEDecl | PEDecl [71] GEDecl ::= '&lt;!ENTITY' S Name S 
EntityDef S? '&gt;' [72] PEDecl ::= '&lt;!ENTITY' S '%' S Name S PEDef S? '&gt;' [73] EntityDef ::= 
EntityValue | (ExternalID NDataDecl?) [74] PEDef ::= EntityValue | ExternalID [76] NDataDecl ::= S 'NDATA' S 
Name [ VC: Notation Declared ] The Name must match the declared name of a notation.</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="xmlParseEntityRef"></a>xmlParseEntityRef ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a>  xmlParseEntityRef     
  (<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
+</pre>
+<p>parse ENTITY references declarations [68] EntityRef ::= '&amp;' Name ';' [ 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 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. The 
declaration of a parameter entity must precede any <a href="libxml2-SAX.html#reference">reference</a> to it. 
Similarly, the declaration of a general entity must precede any <a 
href="libxml2-SAX.html#reference">reference</a> to it which appears in a default value in an attribute-list 
declaration. Note that if entities are declared in the external subset or in external parameter entities, a 
non-validating processor is not obligated to read and process their declarations; for such documents, the rule
  that an entity must be declared is a well-formedness constraint only if standalone='yes'. [ WFC: Parsed 
Entity ] An entity <a href="libxml2-SAX.html#reference">reference</a> must not contain the name of an 
unparsed entity</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 <a href="libxml2-tree.html#xmlEntityPtr">xmlEntityPtr</a> if found, or NULL otherwise.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParseEntityValue"></a>xmlParseEntityValue ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *     xmlParseEntityValue   
  (<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>                               
     <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** orig)<br>
+</pre>
+<p>parse a value for ENTITY declarations [9] EntityValue ::= '"' ([^%&amp;"] | PEReference | Reference)* '"' 
| "'" ([^%&amp;'] | PEReference | Reference)* "'"</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>orig</tt></i>:</span></td>
+<td>if non-NULL store a copy of the original entity value</td>
+</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>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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>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>
+<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>tree</tt></i>:</span></td>
+<td>the enumeration tree built while parsing</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>
+<a href="libxml2-tree.html#XML_ATTRIBUTE_ENUMERATION">XML_ATTRIBUTE_ENUMERATION</a> or <a 
href="libxml2-tree.html#XML_ATTRIBUTE_NOTATION">XML_ATTRIBUTE_NOTATION</a>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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>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>
+<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 enumeration <a href="libxml2-SAX.html#attribute">attribute</a> tree built while parsing</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParseExternalID"></a>xmlParseExternalID ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *     xmlParseExternalID    
  (<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>                               
     <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** publicID, <br>                                  
int strict)<br>
+</pre>
+<p>Parse an External ID or a Public ID NOTE: Productions [75] and [83] interact badly since [75] can 
generate 'PUBLIC' S PubidLiteral S SystemLiteral [75] ExternalID ::= 'SYSTEM' S SystemLiteral | 'PUBLIC' S 
PubidLiteral S SystemLiteral [83] PublicID ::= 'PUBLIC' S PubidLiteral</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>publicID</tt></i>:</span></td>
+<td>a xmlChar** receiving PubidLiteral</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>strict</tt></i>:</span></td>
+<td>indicate whether we should restrict parsing to only production [75], see NOTE below</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the function returns SystemLiteral and in the second case publicID receives PubidLiteral, is strict is 
off it is possible to return NULL and have publicID set.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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>
+<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>ExternalID</tt></i>:</span></td>
+<td>the external identifier</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>SystemID</tt></i>:</span></td>
+<td>the system identifier (or URL)</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParseMarkupDecl"></a>xmlParseMarkupDecl ()</h3>
+<pre class="programlisting">void       xmlParseMarkupDecl              (<a 
href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
+</pre>
+<p>parse Markup declarations [29] markupdecl ::= elementdecl | AttlistDecl | EntityDecl | NotationDecl | PI 
| Comment [ VC: Proper Declaration/PE Nesting ] Parameter-entity replacement text must be properly nested 
with markup declarations. That is to say, if either the first character or the last character of a markup 
declaration (markupdecl above) is contained in the replacement text for a parameter-entity reference, both 
must be contained in the same replacement text. [ WFC: PEs in Internal Subset ] In the internal DTD subset, 
parameter-entity references can occur only where markup declarations can occur, not within markup 
declarations. (This does not apply to references that occur in external parameter entities or to the external 
subset.)</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="xmlParseMisc"></a>xmlParseMisc ()</h3>
+<pre class="programlisting">void       xmlParseMisc                    (<a 
href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
+</pre>
+<p>parse an XML Misc* optional field. [27] Misc ::= Comment | PI | S</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="xmlParseName"></a>xmlParseName ()</h3>
+<pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *       xmlParseName  
          (<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
+</pre>
+<p>parse an XML name. [4] NameChar ::= Letter | Digit | '.' | '-' | '_' | ':' | CombiningChar | Extender [5] 
Name ::= (Letter | '_' | ':') (NameChar)* [6] Names ::= Name (#x20 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="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>
+<p>parse an XML Nmtoken. [7] Nmtoken ::= (NameChar)+ [8] Nmtokens ::= Nmtoken (#x20 Nmtoken)*</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 Nmtoken parsed or NULL</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParseNotationDecl"></a>xmlParseNotationDecl ()</h3>
+<pre class="programlisting">void       xmlParseNotationDecl            (<a 
href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
+</pre>
+<p>parse a notation declaration [82] NotationDecl ::= '&lt;!NOTATION' S Name S (ExternalID | PublicID) S? 
'&gt;' Hence there is actually 3 choices: 'PUBLIC' S PubidLiteral 'PUBLIC' S PubidLiteral S SystemLiteral and 
'SYSTEM' S SystemLiteral See the NOTE on xmlParseExternalID().</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="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>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>
+<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 notation <a href="libxml2-SAX.html#attribute">attribute</a> tree built while parsing</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParsePEReference"></a>xmlParsePEReference ()</h3>
+<pre class="programlisting">void       xmlParsePEReference             (<a 
href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
+</pre>
+<p>parse PEReference declarations 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>
+<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="xmlParsePI"></a>xmlParsePI ()</h3>
+<pre class="programlisting">void       xmlParsePI                      (<a 
href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
+</pre>
+<p>parse an XML Processing Instruction. [16] PI ::= '&lt;?' PITarget (S (Char* - (Char* '?&gt;' Char*)))? 
'?&gt;' The processing is transferred to SAX once parsed.</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="xmlParsePITarget"></a>xmlParsePITarget ()</h3>
+<pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *       
xmlParsePITarget        (<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
+</pre>
+<p>parse the name of a PI [17] PITarget ::= Name - (('X' | 'x') ('M' | 'm') ('L' | 'l'))</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 PITarget name or NULL</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParsePubidLiteral"></a>xmlParsePubidLiteral ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *     xmlParsePubidLiteral  
  (<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
+</pre>
+<p>parse an XML public literal [12] PubidLiteral ::= '"' PubidChar* '"' | "'" (PubidChar - "'")* "'"</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 PubidLiteral parsed or NULL.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<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>
+<p>parse and handle entity references in content, depending on the SAX interface, this may end-up in a call 
to character() if this is a CharRef, a predefined entity, if there is no reference() callback. or if the 
parser was asked to switch to that mode. [67] Reference ::= EntityRef | CharRef</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="xmlParseSDDecl"></a>xmlParseSDDecl ()</h3>
+<pre class="programlisting">int        xmlParseSDDecl                  (<a 
href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
+</pre>
+<p>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>
+<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>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>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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: Don't use. parse a start of tag either for rule element or EmptyElement. In both case we 
don't parse the tag closing chars. [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>
+<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 element name parsed</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParseSystemLiteral"></a>xmlParseSystemLiteral ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *     xmlParseSystemLiteral 
  (<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
+</pre>
+<p>parse an XML Literal [11] SystemLiteral ::= ('"' [^"]* '"') | ("'" [^']* "'")</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 SystemLiteral parsed or NULL</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParseTextDecl"></a>xmlParseTextDecl ()</h3>
+<pre class="programlisting">void       xmlParseTextDecl                (<a 
href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
+</pre>
+<p>parse an XML declaration header for external entities [77] TextDecl ::= '&lt;?xml' VersionInfo? 
EncodingDecl S? '?&gt;'</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="xmlParseVersionInfo"></a>xmlParseVersionInfo ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *     xmlParseVersionInfo   
  (<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
+</pre>
+<p>parse the XML version. [24] VersionInfo ::= S 'version' Eq (' VersionNum ' | " VersionNum ") [25] Eq ::= 
S? '=' S?</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 version string, e.g. "1.0"</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParseVersionNum"></a>xmlParseVersionNum ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *     xmlParseVersionNum    
  (<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
+</pre>
+<p>parse the XML version value. [26] VersionNum ::= '1.' [0-9]+ In practice allow [0-9].[0-9]+ at that 
level</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 giving the XML version number, or NULL</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParseXMLDecl"></a>xmlParseXMLDecl ()</h3>
+<pre class="programlisting">void       xmlParseXMLDecl                 (<a 
href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
+</pre>
+<p>parse an XML declaration header [23] XMLDecl ::= '&lt;?xml' VersionInfo EncodingDecl? SDDecl? S? 
'?&gt;'</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="xmlParserHandlePEReference"></a>xmlParserHandlePEReference ()</h3>
+<pre class="programlisting">void       xmlParserHandlePEReference      (<a 
href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt)<br>
+</pre>
+<p>[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>
+<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="xmlParserInputShrink"></a>xmlParserInputShrink ()</h3>
+<pre class="programlisting">void       xmlParserInputShrink            (<a 
href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> in)<br>
+</pre>
+<p>This function removes used input for the parser.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>in</tt></i>:</span></td>
+<td>an XML parser input</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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>
+<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 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> in the parser context</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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>xmlPushInput: switch to a new input stream which is stacked on top of the previous one(s).</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>input</tt></i>:</span></td>
+<td>an XML parser input fragment (entity, XML fragment ...).</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>-1 in case of error or the index in the input stack</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<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>
+<p>skip all blanks character found at that point in the input streams. It pops up finished entities in the 
process if allowable at 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>the XML parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the number of space chars skipped</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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> ** prefix)<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>
+<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>name</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="xmlStringCurrentChar"></a>xmlStringCurrentChar ()</h3>
+<pre class="programlisting">int        xmlStringCurrentChar            (<a 
href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>                                    
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur, <br>                                  int * 
len)<br>
+</pre>
+<p>The current char value, if using UTF-8 this may actually span multiple bytes in the input buffer.</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 XML parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>pointer to the beginning of the char</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>len</tt></i>:</span></td>
+<td>pointer to the length of the char read</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the current char value and its length</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlStringDecodeEntities"></a>xmlStringDecodeEntities ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *     
xmlStringDecodeEntities (<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>         
                           const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <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>Takes a entity string content and process to do the adequate substitutions. [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>str</tt></i>:</span></td>
+<td>the input string</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="xmlStringLenDecodeEntities"></a>xmlStringLenDecodeEntities ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *     
xmlStringLenDecodeEntities      (<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br> 
                                           const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, 
<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>Takes a entity string content and process to do the adequate substitutions. [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>str</tt></i>:</span></td>
+<td>the input string</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>len</tt></i>:</span></td>
+<td>the string length</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="xmlSwitchEncoding"></a>xmlSwitchEncoding ()</h3>
+<pre class="programlisting">int        xmlSwitchEncoding               (<a 
href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>                                    
<a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc)<br>
+</pre>
+<p>change the input functions when discovering the character encoding of a given entity.</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>enc</tt></i>:</span></td>
+<td>the encoding value (number)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 in case of success, -1 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSwitchInputEncoding"></a>xmlSwitchInputEncoding ()</h3>
+<pre class="programlisting">int        xmlSwitchInputEncoding          (<a 
href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>                                    
<a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> input, <br>                               
          <a href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> handler)<br>
+</pre>
+<p>DEPRECATED: Use <a href="libxml2-parserInternals.html#xmlSwitchToEncoding">xmlSwitchToEncoding</a> change 
the input functions when discovering the character encoding of a given entity.</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>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>0 in case of success, -1 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSwitchToEncoding"></a>xmlSwitchToEncoding ()</h3>
+<pre class="programlisting">int        xmlSwitchToEncoding             (<a 
href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>                                    
<a href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> handler)<br>
+</pre>
+<p>change the input functions when discovering the character encoding of a given entity.</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>handler</tt></i>:</span></td>
+<td>the encoding handler</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 in case of success, -1 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+</div>
+</div>
+</body>
 </html>
diff --git a/doc/devhelp/libxml2-pattern.html b/doc/devhelp/libxml2-pattern.html
index cbcb7abc..72992a6c 100644
--- a/doc/devhelp/libxml2-pattern.html
+++ b/doc/devhelp/libxml2-pattern.html
@@ -1,49 +1,28 @@
-<?xml version="1.0" encoding="UTF-8"?>
 <html>
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
-    <title>pattern: pattern expression handling</title>
-    <meta name="generator" content="Libxml2 devhelp stylesheet"/>
-    <link rel="start" href="index.html" title="libxml2 Reference Manual"/>
-    <link rel="up" href="general.html" title="API"/>
-    <link rel="stylesheet" href="style.css" type="text/css"/>
-    <link rel="chapter" href="general.html" title="API"/>
-  </head>
-  <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-    <table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
-      <tr valign="middle">
-        <td>
-          <a accesskey="p" href="libxml2-parserInternals.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-relaxng.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">pattern</span>
-    </h2>
-    <p>pattern - pattern expression handling</p>
-    <p>allows to compile and test pattern expressions for nodes either in a tree or based on a parser state. 
</p>
-    <p>Author(s): Daniel Veillard </p>
-    <div class="refsynopsisdiv">
-      <h2>Synopsis</h2>
-      <pre class="synopsis">typedef struct _xmlPattern <a href="#xmlPattern">xmlPattern</a>;
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>pattern: pattern expression handling</title>
+<meta name="generator" content="Libxml2 devhelp stylesheet">
+<link rel="start" href="index.html" title="libxml2 Reference Manual">
+<link rel="up" href="general.html" title="API">
+<link rel="stylesheet" href="style.css" type="text/css">
+<link rel="chapter" href="general.html" title="API">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr 
valign="middle">
+<td><a accesskey="p" href="libxml2-parserInternals.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-relaxng.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">pattern</span></h2>
+<p>pattern - pattern expression handling</p>
+<p>allows to compile and test pattern expressions for nodes either in a tree or based on a parser state. </p>
+<p>Author(s): Daniel Veillard </p>
+<div class="refsynopsisdiv">
+<h2>Synopsis</h2>
+<pre class="synopsis">typedef struct _xmlPattern <a href="#xmlPattern">xmlPattern</a>;
 typedef enum <a href="#xmlPatternFlags">xmlPatternFlags</a>;
 typedef <a href="libxml2-pattern.html#xmlPattern">xmlPattern</a> * <a 
href="#xmlPatternPtr">xmlPatternPtr</a>;
 typedef struct _xmlStreamCtxt <a href="#xmlStreamCtxt">xmlStreamCtxt</a>;
@@ -53,114 +32,414 @@ void      <a href="#xmlFreePatternList">xmlFreePatternList</a>            (<a 
href="libxml2-pat
 void   <a href="#xmlFreeStreamCtxt">xmlFreeStreamCtxt</a>              (<a 
href="libxml2-pattern.html#xmlStreamCtxtPtr">xmlStreamCtxtPtr</a> stream);
 int    <a href="#xmlPatternFromRoot">xmlPatternFromRoot</a>            (<a 
href="libxml2-pattern.html#xmlPatternPtr">xmlPatternPtr</a> comp);
 <a href="libxml2-pattern.html#xmlStreamCtxtPtr">xmlStreamCtxtPtr</a>   <a 
href="#xmlPatternGetStreamCtxt">xmlPatternGetStreamCtxt</a>  (<a 
href="libxml2-pattern.html#xmlPatternPtr">xmlPatternPtr</a> comp);
-int    <a href="#xmlPatternMatch">xmlPatternMatch</a>                  (<a 
href="libxml2-pattern.html#xmlPatternPtr">xmlPatternPtr</a> comp, <br/>                                      
<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node);
+int    <a href="#xmlPatternMatch">xmlPatternMatch</a>                  (<a 
href="libxml2-pattern.html#xmlPatternPtr">xmlPatternPtr</a> comp, <br>                                       
<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node);
 int    <a href="#xmlPatternMaxDepth">xmlPatternMaxDepth</a>            (<a 
href="libxml2-pattern.html#xmlPatternPtr">xmlPatternPtr</a> comp);
 int    <a href="#xmlPatternMinDepth">xmlPatternMinDepth</a>            (<a 
href="libxml2-pattern.html#xmlPatternPtr">xmlPatternPtr</a> comp);
 int    <a href="#xmlPatternStreamable">xmlPatternStreamable</a>                (<a 
href="libxml2-pattern.html#xmlPatternPtr">xmlPatternPtr</a> comp);
-<a href="libxml2-pattern.html#xmlPatternPtr">xmlPatternPtr</a> <a 
href="#xmlPatterncompile">xmlPatterncompile</a>      (const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pattern, <br/>                                     <a 
href="libxml2-dict.html#xmlDict">xmlDict</a> * dict, <br/>                                   int flags, <br/> 
                                       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** 
namespaces);
+<a href="libxml2-pattern.html#xmlPatternPtr">xmlPatternPtr</a> <a 
href="#xmlPatterncompile">xmlPatterncompile</a>      (const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pattern, <br>                                      <a 
href="libxml2-dict.html#xmlDict">xmlDict</a> * dict, <br>                                    int flags, <br>  
                                       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** 
namespaces);
 int    <a href="#xmlStreamPop">xmlStreamPop</a>                        (<a 
href="libxml2-pattern.html#xmlStreamCtxtPtr">xmlStreamCtxtPtr</a> stream);
-int    <a href="#xmlStreamPush">xmlStreamPush</a>                      (<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);
-int    <a href="#xmlStreamPushAttr">xmlStreamPushAttr</a>              (<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);
-int    <a href="#xmlStreamPushNode">xmlStreamPushNode</a>              (<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/>                               
   int nodeType);
+int    <a href="#xmlStreamPush">xmlStreamPush</a>                      (<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);
+int    <a href="#xmlStreamPushAttr">xmlStreamPushAttr</a>              (<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);
+int    <a href="#xmlStreamPushNode">xmlStreamPushNode</a>              (<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>                                
   int nodeType);
 int    <a href="#xmlStreamWantsAnyNode">xmlStreamWantsAnyNode</a>              (<a 
href="libxml2-pattern.html#xmlStreamCtxtPtr">xmlStreamCtxtPtr</a> streamCtxt);
 </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="xmlPattern">Structure </a>xmlPattern</h3><pre 
class="programlisting">struct _xmlPattern {
+</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="xmlPattern">Structure </a>xmlPattern</h3>
+<pre class="programlisting">struct _xmlPattern {
 The content of this structure is not made public by the API.
 } xmlPattern;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlPatternFlags">Enum </a>xmlPatternFlags</h3><pre 
class="programlisting">enum <a href="#xmlPatternFlags">xmlPatternFlags</a> {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlPatternFlags">Enum </a>xmlPatternFlags</h3>
+<pre class="programlisting">enum <a href="#xmlPatternFlags">xmlPatternFlags</a> {
     <a name="XML_PATTERN_DEFAULT">XML_PATTERN_DEFAULT</a> = 0 /* simple pattern match */
     <a name="XML_PATTERN_XPATH">XML_PATTERN_XPATH</a> = 1 /* standard XPath pattern */
     <a name="XML_PATTERN_XSSEL">XML_PATTERN_XSSEL</a> = 2 /* XPath subset for schema selector */
     <a name="XML_PATTERN_XSFIELD">XML_PATTERN_XSFIELD</a> = 4 /*  XPath subset for schema field */
 };
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlPatternPtr">Typedef </a>xmlPatternPtr</h3><pre 
class="programlisting"><a href="libxml2-pattern.html#xmlPattern">xmlPattern</a> * xmlPatternPtr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlPatternPtr">Typedef </a>xmlPatternPtr</h3>
+<pre class="programlisting"><a href="libxml2-pattern.html#xmlPattern">xmlPattern</a> * xmlPatternPtr;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlStreamCtxt">Structure </a>xmlStreamCtxt</h3><pre 
class="programlisting">struct _xmlStreamCtxt {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlStreamCtxt">Structure </a>xmlStreamCtxt</h3>
+<pre class="programlisting">struct _xmlStreamCtxt {
 The content of this structure is not made public by the API.
 } xmlStreamCtxt;
-</pre><p/>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlStreamCtxtPtr">Typedef </a>xmlStreamCtxtPtr</h3><pre 
class="programlisting"><a href="libxml2-pattern.html#xmlStreamCtxt">xmlStreamCtxt</a> * xmlStreamCtxtPtr;
-</pre><p/>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlFreePattern"/>xmlFreePattern ()</h3><pre 
class="programlisting">void   xmlFreePattern                  (<a 
href="libxml2-pattern.html#xmlPatternPtr">xmlPatternPtr</a> comp)<br/>
-</pre><p>Free up the memory allocated by @comp</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>comp</tt></i>:</span></td><td>an XSLT comp</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlFreePatternList"/>xmlFreePatternList ()</h3><pre 
class="programlisting">void   xmlFreePatternList              (<a 
href="libxml2-pattern.html#xmlPatternPtr">xmlPatternPtr</a> comp)<br/>
-</pre><p>Free up the memory allocated by all the elements of @comp</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>comp</tt></i>:</span></td><td>an XSLT comp list</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlFreeStreamCtxt"/>xmlFreeStreamCtxt ()</h3><pre 
class="programlisting">void     xmlFreeStreamCtxt               (<a 
href="libxml2-pattern.html#xmlStreamCtxtPtr">xmlStreamCtxtPtr</a> stream)<br/>
-</pre><p>Free the stream context</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>stream</tt></i>:</span></td><td>the stream context</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlPatternFromRoot"/>xmlPatternFromRoot ()</h3><pre 
class="programlisting">int    xmlPatternFromRoot              (<a 
href="libxml2-pattern.html#xmlPatternPtr">xmlPatternPtr</a> comp)<br/>
-</pre><p>Check if the pattern must be looked at from the root.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>comp</tt></i>:</span></td><td>the precompiled pattern</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 
error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlPatternGetStreamCtxt"/>xmlPatternGetStreamCtxt 
()</h3><pre class="programlisting"><a href="libxml2-pattern.html#xmlStreamCtxtPtr">xmlStreamCtxtPtr</a> 
xmlPatternGetStreamCtxt (<a href="libxml2-pattern.html#xmlPatternPtr">xmlPatternPtr</a> comp)<br/>
-</pre><p>Get a streaming context for that pattern Use <a 
href="libxml2-pattern.html#xmlFreeStreamCtxt">xmlFreeStreamCtxt</a> to free the context.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>comp</tt></i>:</span></td><td>the precompiled pattern</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the context or NULL in case of 
failure</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlPatternMatch"/>xmlPatternMatch ()</h3><pre 
class="programlisting">int  xmlPatternMatch                 (<a 
href="libxml2-pattern.html#xmlPatternPtr">xmlPatternPtr</a> comp, <br/>                                      
<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br/>
-</pre><p>Test whether the node matches the pattern</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>comp</tt></i>:</span></td><td>the precompiled pattern</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>Returns</tt></i>:</span></td><td>1 if it matches, 0 if it doesn't and -1 in case of 
failure</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlPatternMaxDepth"/>xmlPatternMaxDepth ()</h3><pre 
class="programlisting">int    xmlPatternMaxDepth              (<a 
href="libxml2-pattern.html#xmlPatternPtr">xmlPatternPtr</a> comp)<br/>
-</pre><p>Check the maximum depth reachable by a pattern</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>comp</tt></i>:</span></td><td>the precompiled pattern</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>-2 if no limit (using //), otherwise the depth, and -1 
in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlPatternMinDepth"/>xmlPatternMinDepth ()</h3><pre 
class="programlisting">int    xmlPatternMinDepth              (<a 
href="libxml2-pattern.html#xmlPatternPtr">xmlPatternPtr</a> comp)<br/>
-</pre><p>Check the minimum depth reachable by a pattern, 0 mean the / or . are part of the set.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>comp</tt></i>:</span></td><td>the precompiled pattern</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 in case of error otherwise the 
depth,</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlPatternStreamable"/>xmlPatternStreamable ()</h3><pre 
class="programlisting">int        xmlPatternStreamable            (<a 
href="libxml2-pattern.html#xmlPatternPtr">xmlPatternPtr</a> comp)<br/>
-</pre><p>Check if the pattern is streamable i.e. xmlPatternGetStreamCtxt() should work.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>comp</tt></i>:</span></td><td>the precompiled pattern</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if streamable, 0 if not and -1 in case of 
error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlPatterncompile"/>xmlPatterncompile ()</h3><pre 
class="programlisting"><a href="libxml2-pattern.html#xmlPatternPtr">xmlPatternPtr</a>   xmlPatterncompile     
  (const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pattern, <br/>                                
     <a href="libxml2-dict.html#xmlDict">xmlDict</a> * dict, <br/>                                   int 
flags, <br/>                                        const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** namespaces)<br/>
-</pre><p>Compile a pattern.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>pattern</tt></i>:</span></td><td>the pattern to compile</td></tr><tr><td><span 
class="term"><i><tt>dict</tt></i>:</span></td><td>an optional dictionary for interned 
strings</td></tr><tr><td><span class="term"><i><tt>flags</tt></i>:</span></td><td>compilation flags, see <a 
href="libxml2-pattern.html#xmlPatternFlags">xmlPatternFlags</a></td></tr><tr><td><span 
class="term"><i><tt>namespaces</tt></i>:</span></td><td>the prefix definitions, array of [URI, prefix] or 
NULL</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the compiled form of the 
pattern or NULL in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlStreamPop"/>xmlStreamPop ()</h3><pre 
class="programlisting">int        xmlStreamPop                    (<a 
href="libxml2-pattern.html#xmlStreamCtxtPtr">xmlStreamCtxtPtr</a> stream)<br/>
-</pre><p>push one level from the stream.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>stream</tt></i>:</span></td><td>the stream context</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 in case of error, 0 
otherwise.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlStreamPush"/>xmlStreamPush ()</h3><pre 
class="programlisting">int      xmlStreamPush                   (<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 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 element-node.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>stream</tt></i>:</span></td><td>the stream context</td></tr><tr><td><span 
class="term"><i><tt>name</tt></i>:</span></td><td>the current name</td></tr><tr><td><span 
class="term"><i><tt>ns</tt></i>:</span></td><td>the namespace name</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 in case of error, 1 if the current state in the 
stream is a match and 0 otherwise.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlStreamPushAttr"/>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>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>stream</tt></i>:</span></td><td>the stream context</td></tr><tr><td><span 
class="term"><i><tt>name</tt></i>:</span></td><td>the current name</td></tr><tr><td><span 
class="term"><i><tt>ns</tt></i>:</span></td><td>the namespace name</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 in case of error, 1 if the current state in the 
stream is a match and 0 otherwise.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlStreamPushNode"/>xmlStreamPushNode ()</h3><pre 
class="programlisting">int      xmlStreamPushNode               (<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/>                               
   int nodeType)<br/>
-</pre><p>Push new 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. Different from xmlStreamPush() this function 
can be fed with nodes of type: element-, attribute-, text-, cdata-section-, comment- and 
processing-instruction-node.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>stream</tt></i>:</span></td><td>the stream context</td></tr><tr><td><span 
class="term"><i><tt>name</tt></i>:</span></td><td>the current name</td></tr><tr><td><span 
class="term"><i><tt>ns</tt></i>:</span></td><td>the namespace name</td></tr><tr><td><span 
class="term"><i><tt>nodeType</tt></i>:</span></td><td>the type of the node being 
pushed</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 in case of error, 1 if 
the current state in the stream is a match and 0 otherwise.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlStreamWantsAnyNode"/>xmlStreamWantsAnyNode 
()</h3><pre class="programlisting">int      xmlStreamWantsAnyNode           (<a 
href="libxml2-pattern.html#xmlStreamCtxtPtr">xmlStreamCtxtPtr</a> streamCtxt)<br/>
-</pre><p>Query if the streaming pattern additionally needs to be fed with text-, cdata-section-, comment- 
and processing-instruction-nodes. If the result is 0 then only element-nodes and attribute-nodes need to be 
pushed.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>streamCtxt</tt></i>:</span></td><td>the stream context</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 in case of need of nodes of the above described types, 
0 otherwise. -1 on API errors.</td></tr></tbody></table></div></div>
-        <hr/>
-      </div>
-    </div>
-  </body>
+</pre>
+<p></p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlStreamCtxtPtr">Typedef </a>xmlStreamCtxtPtr</h3>
+<pre class="programlisting"><a href="libxml2-pattern.html#xmlStreamCtxt">xmlStreamCtxt</a> * 
xmlStreamCtxtPtr;
+</pre>
+<p></p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlFreePattern"></a>xmlFreePattern ()</h3>
+<pre class="programlisting">void       xmlFreePattern                  (<a 
href="libxml2-pattern.html#xmlPatternPtr">xmlPatternPtr</a> comp)<br>
+</pre>
+<p>Free up the memory allocated by @comp</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>comp</tt></i>:</span></td>
+<td>an XSLT comp</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlFreePatternList"></a>xmlFreePatternList ()</h3>
+<pre class="programlisting">void       xmlFreePatternList              (<a 
href="libxml2-pattern.html#xmlPatternPtr">xmlPatternPtr</a> comp)<br>
+</pre>
+<p>Free up the memory allocated by all the elements of @comp</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>comp</tt></i>:</span></td>
+<td>an XSLT comp list</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlFreeStreamCtxt"></a>xmlFreeStreamCtxt ()</h3>
+<pre class="programlisting">void       xmlFreeStreamCtxt               (<a 
href="libxml2-pattern.html#xmlStreamCtxtPtr">xmlStreamCtxtPtr</a> stream)<br>
+</pre>
+<p>Free the stream context</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>stream</tt></i>:</span></td>
+<td>the stream context</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlPatternFromRoot"></a>xmlPatternFromRoot ()</h3>
+<pre class="programlisting">int        xmlPatternFromRoot              (<a 
href="libxml2-pattern.html#xmlPatternPtr">xmlPatternPtr</a> comp)<br>
+</pre>
+<p>Check if the pattern must be looked at from the root.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>comp</tt></i>:</span></td>
+<td>the precompiled pattern</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 error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlPatternGetStreamCtxt"></a>xmlPatternGetStreamCtxt ()</h3>
+<pre class="programlisting"><a href="libxml2-pattern.html#xmlStreamCtxtPtr">xmlStreamCtxtPtr</a>       
xmlPatternGetStreamCtxt (<a href="libxml2-pattern.html#xmlPatternPtr">xmlPatternPtr</a> comp)<br>
+</pre>
+<p>Get a streaming context for that pattern Use <a 
href="libxml2-pattern.html#xmlFreeStreamCtxt">xmlFreeStreamCtxt</a> to free the context.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>comp</tt></i>:</span></td>
+<td>the precompiled pattern</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a pointer to the context or NULL in case of failure</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlPatternMatch"></a>xmlPatternMatch ()</h3>
+<pre class="programlisting">int        xmlPatternMatch                 (<a 
href="libxml2-pattern.html#xmlPatternPtr">xmlPatternPtr</a> comp, <br>                                       
<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br>
+</pre>
+<p>Test whether the node matches the pattern</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>comp</tt></i>:</span></td>
+<td>the precompiled pattern</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>Returns</tt></i>:</span></td>
+<td>1 if it matches, 0 if it doesn't and -1 in case of failure</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlPatternMaxDepth"></a>xmlPatternMaxDepth ()</h3>
+<pre class="programlisting">int        xmlPatternMaxDepth              (<a 
href="libxml2-pattern.html#xmlPatternPtr">xmlPatternPtr</a> comp)<br>
+</pre>
+<p>Check the maximum depth reachable by a pattern</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>comp</tt></i>:</span></td>
+<td>the precompiled pattern</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>-2 if no limit (using //), otherwise the depth, and -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlPatternMinDepth"></a>xmlPatternMinDepth ()</h3>
+<pre class="programlisting">int        xmlPatternMinDepth              (<a 
href="libxml2-pattern.html#xmlPatternPtr">xmlPatternPtr</a> comp)<br>
+</pre>
+<p>Check the minimum depth reachable by a pattern, 0 mean the / or . are part of the set.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>comp</tt></i>:</span></td>
+<td>the precompiled pattern</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>-1 in case of error otherwise the depth,</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlPatternStreamable"></a>xmlPatternStreamable ()</h3>
+<pre class="programlisting">int        xmlPatternStreamable            (<a 
href="libxml2-pattern.html#xmlPatternPtr">xmlPatternPtr</a> comp)<br>
+</pre>
+<p>Check if the pattern is streamable i.e. xmlPatternGetStreamCtxt() should work.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>comp</tt></i>:</span></td>
+<td>the precompiled pattern</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if streamable, 0 if not and -1 in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlPatterncompile"></a>xmlPatterncompile ()</h3>
+<pre class="programlisting"><a href="libxml2-pattern.html#xmlPatternPtr">xmlPatternPtr</a>     
xmlPatterncompile       (const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pattern, <br>           
                           <a href="libxml2-dict.html#xmlDict">xmlDict</a> * dict, <br>                       
             int flags, <br>                                         const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** namespaces)<br>
+</pre>
+<p>Compile a pattern.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>pattern</tt></i>:</span></td>
+<td>the pattern to compile</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>dict</tt></i>:</span></td>
+<td>an optional dictionary for interned strings</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>flags</tt></i>:</span></td>
+<td>compilation flags, see <a href="libxml2-pattern.html#xmlPatternFlags">xmlPatternFlags</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>namespaces</tt></i>:</span></td>
+<td>the prefix definitions, array of [URI, prefix] or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the compiled form of the pattern or NULL in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlStreamPop"></a>xmlStreamPop ()</h3>
+<pre class="programlisting">int        xmlStreamPop                    (<a 
href="libxml2-pattern.html#xmlStreamCtxtPtr">xmlStreamCtxtPtr</a> stream)<br>
+</pre>
+<p>push one level from the stream.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>stream</tt></i>:</span></td>
+<td>the stream context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>-1 in case of error, 0 otherwise.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlStreamPush"></a>xmlStreamPush ()</h3>
+<pre class="programlisting">int        xmlStreamPush                   (<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 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 element-node.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>stream</tt></i>:</span></td>
+<td>the stream context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the current name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ns</tt></i>:</span></td>
+<td>the namespace name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>-1 in case of error, 1 if the current state in the stream is a match and 0 otherwise.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>stream</tt></i>:</span></td>
+<td>the stream context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the current name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ns</tt></i>:</span></td>
+<td>the namespace name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>-1 in case of error, 1 if the current state in the stream is a match and 0 otherwise.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlStreamPushNode"></a>xmlStreamPushNode ()</h3>
+<pre class="programlisting">int        xmlStreamPushNode               (<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>                                
   int nodeType)<br>
+</pre>
+<p>Push new 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. Different from xmlStreamPush() this function can be 
fed with nodes of type: element-, attribute-, text-, cdata-section-, comment- and 
processing-instruction-node.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>stream</tt></i>:</span></td>
+<td>the stream context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the current name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ns</tt></i>:</span></td>
+<td>the namespace name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>nodeType</tt></i>:</span></td>
+<td>the type of the node being pushed</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>-1 in case of error, 1 if the current state in the stream is a match and 0 otherwise.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlStreamWantsAnyNode"></a>xmlStreamWantsAnyNode ()</h3>
+<pre class="programlisting">int        xmlStreamWantsAnyNode           (<a 
href="libxml2-pattern.html#xmlStreamCtxtPtr">xmlStreamCtxtPtr</a> streamCtxt)<br>
+</pre>
+<p>Query if the streaming pattern additionally needs to be fed with text-, cdata-section-, comment- and 
processing-instruction-nodes. If the result is 0 then only element-nodes and attribute-nodes need to be 
pushed.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>streamCtxt</tt></i>:</span></td>
+<td>the stream context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 in case of need of nodes of the above described types, 0 otherwise. -1 on API errors.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+</div>
+</div>
+</body>
 </html>
diff --git a/doc/devhelp/libxml2-relaxng.html b/doc/devhelp/libxml2-relaxng.html
index c1858ef7..72d1b8be 100644
--- a/doc/devhelp/libxml2-relaxng.html
+++ b/doc/devhelp/libxml2-relaxng.html
@@ -1,49 +1,28 @@
-<?xml version="1.0" encoding="UTF-8"?>
 <html>
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
-    <title>relaxng: implementation of the Relax-NG validation</title>
-    <meta name="generator" content="Libxml2 devhelp stylesheet"/>
-    <link rel="start" href="index.html" title="libxml2 Reference Manual"/>
-    <link rel="up" href="general.html" title="API"/>
-    <link rel="stylesheet" href="style.css" type="text/css"/>
-    <link rel="chapter" href="general.html" title="API"/>
-  </head>
-  <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-    <table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
-      <tr valign="middle">
-        <td>
-          <a accesskey="p" href="libxml2-pattern.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-schemasInternals.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">relaxng</span>
-    </h2>
-    <p>relaxng - implementation of the Relax-NG validation</p>
-    <p>implementation of the Relax-NG validation </p>
-    <p>Author(s): Daniel Veillard </p>
-    <div class="refsynopsisdiv">
-      <h2>Synopsis</h2>
-      <pre class="synopsis">typedef struct _xmlRelaxNG <a href="#xmlRelaxNG">xmlRelaxNG</a>;
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>relaxng: implementation of the Relax-NG validation</title>
+<meta name="generator" content="Libxml2 devhelp stylesheet">
+<link rel="start" href="index.html" title="libxml2 Reference Manual">
+<link rel="up" href="general.html" title="API">
+<link rel="stylesheet" href="style.css" type="text/css">
+<link rel="chapter" href="general.html" title="API">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr 
valign="middle">
+<td><a accesskey="p" href="libxml2-pattern.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-schemasInternals.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">relaxng</span></h2>
+<p>relaxng - implementation of the Relax-NG validation</p>
+<p>implementation of the Relax-NG validation </p>
+<p>Author(s): Daniel Veillard </p>
+<div class="refsynopsisdiv">
+<h2>Synopsis</h2>
+<pre class="synopsis">typedef struct _xmlRelaxNG <a href="#xmlRelaxNG">xmlRelaxNG</a>;
 typedef struct _xmlRelaxNGParserCtxt <a href="#xmlRelaxNGParserCtxt">xmlRelaxNGParserCtxt</a>;
 typedef <a href="libxml2-relaxng.html#xmlRelaxNGParserCtxt">xmlRelaxNGParserCtxt</a> * <a 
href="#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a>;
 typedef enum <a href="#xmlRelaxNGParserFlag">xmlRelaxNGParserFlag</a>;
@@ -52,78 +31,107 @@ typedef struct _xmlRelaxNGValidCtxt <a href="#xmlRelaxNGValidCtxt">xmlRelaxNGVal
 typedef <a href="libxml2-relaxng.html#xmlRelaxNGValidCtxt">xmlRelaxNGValidCtxt</a> * <a 
href="#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a>;
 typedef enum <a href="#xmlRelaxNGValidErr">xmlRelaxNGValidErr</a>;
 void   <a href="#xmlRelaxNGCleanupTypes">xmlRelaxNGCleanupTypes</a>            (void);
-void   <a href="#xmlRelaxNGDump">xmlRelaxNGDump</a>                    (FILE * output, <br/>                 
                   <a href="libxml2-relaxng.html#xmlRelaxNGPtr">xmlRelaxNGPtr</a> schema);
-void   <a href="#xmlRelaxNGDumpTree">xmlRelaxNGDumpTree</a>            (FILE * output, <br/>                 
                   <a href="libxml2-relaxng.html#xmlRelaxNGPtr">xmlRelaxNGPtr</a> schema);
+void   <a href="#xmlRelaxNGDump">xmlRelaxNGDump</a>                    (FILE * output, <br>                  
                   <a href="libxml2-relaxng.html#xmlRelaxNGPtr">xmlRelaxNGPtr</a> schema);
+void   <a href="#xmlRelaxNGDumpTree">xmlRelaxNGDumpTree</a>            (FILE * output, <br>                  
                   <a href="libxml2-relaxng.html#xmlRelaxNGPtr">xmlRelaxNGPtr</a> schema);
 void   <a href="#xmlRelaxNGFree">xmlRelaxNGFree</a>                    (<a 
href="libxml2-relaxng.html#xmlRelaxNGPtr">xmlRelaxNGPtr</a> schema);
 void   <a href="#xmlRelaxNGFreeParserCtxt">xmlRelaxNGFreeParserCtxt</a>        (<a 
href="libxml2-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a> ctxt);
 void   <a href="#xmlRelaxNGFreeValidCtxt">xmlRelaxNGFreeValidCtxt</a>          (<a 
href="libxml2-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt);
-int    <a href="#xmlRelaxNGGetParserErrors">xmlRelaxNGGetParserErrors</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);
-int    <a href="#xmlRelaxNGGetValidErrors">xmlRelaxNGGetValidErrors</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);
+int    <a href="#xmlRelaxNGGetParserErrors">xmlRelaxNGGetParserErrors</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);
+int    <a href="#xmlRelaxNGGetValidErrors">xmlRelaxNGGetValidErrors</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);
 int    <a href="#xmlRelaxNGInitTypes">xmlRelaxNGInitTypes</a>          (void);
 <a href="libxml2-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a>     <a 
href="#xmlRelaxNGNewDocParserCtxt">xmlRelaxNGNewDocParserCtxt</a>    (<a 
href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc);
-<a href="libxml2-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a>     <a 
href="#xmlRelaxNGNewMemParserCtxt">xmlRelaxNGNewMemParserCtxt</a>    (const char * buffer, <br/>              
                                        int size);
+<a href="libxml2-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a>     <a 
href="#xmlRelaxNGNewMemParserCtxt">xmlRelaxNGNewMemParserCtxt</a>    (const char * buffer, <br>               
                                        int size);
 <a href="libxml2-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a>     <a 
href="#xmlRelaxNGNewParserCtxt">xmlRelaxNGNewParserCtxt</a>  (const char * URL);
 <a href="libxml2-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a>       <a 
href="#xmlRelaxNGNewValidCtxt">xmlRelaxNGNewValidCtxt</a>    (<a 
href="libxml2-relaxng.html#xmlRelaxNGPtr">xmlRelaxNGPtr</a> schema);
 <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="#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);
-int    <a href="#xmlRelaxNGValidateFullElement">xmlRelaxNGValidateFullElement</a>      (<a 
href="libxml2-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt, <br/>                     
               <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>                                 
 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem);
-int    <a href="#xmlRelaxNGValidatePopElement">xmlRelaxNGValidatePopElement</a>        (<a 
href="libxml2-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt, <br/>                     
               <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>                                 
 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem);
-int    <a href="#xmlRelaxNGValidatePushCData">xmlRelaxNGValidatePushCData</a>  (<a 
href="libxml2-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt, <br/>                     
               const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * data, <br/>                       
                 int len);
-int    <a href="#xmlRelaxNGValidatePushElement">xmlRelaxNGValidatePushElement</a>      (<a 
href="libxml2-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt, <br/>                     
               <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>                                 
 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem);
-typedef void <a href="#xmlRelaxNGValidityErrorFunc">xmlRelaxNGValidityErrorFunc</a>    (void * ctx, <br/>    
                                   const char * msg, <br/>                                         ... ...);
-typedef void <a href="#xmlRelaxNGValidityWarningFunc">xmlRelaxNGValidityWarningFunc</a>        (void * ctx, 
<br/>                                       const char * msg, <br/>                                         
... ...);
-int    <a href="#xmlRelaxParserSetFlag">xmlRelaxParserSetFlag</a>              (<a 
href="libxml2-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a> ctxt, <br/>                   
               int flags);
-</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="xmlRelaxNG">Structure </a>xmlRelaxNG</h3><pre 
class="programlisting">struct _xmlRelaxNG {
+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="#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);
+int    <a href="#xmlRelaxNGValidateFullElement">xmlRelaxNGValidateFullElement</a>      (<a 
href="libxml2-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt, <br>                      
               <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>                                  
 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem);
+int    <a href="#xmlRelaxNGValidatePopElement">xmlRelaxNGValidatePopElement</a>        (<a 
href="libxml2-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt, <br>                      
               <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>                                  
 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem);
+int    <a href="#xmlRelaxNGValidatePushCData">xmlRelaxNGValidatePushCData</a>  (<a 
href="libxml2-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt, <br>                      
               const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * data, <br>                        
                 int len);
+int    <a href="#xmlRelaxNGValidatePushElement">xmlRelaxNGValidatePushElement</a>      (<a 
href="libxml2-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt, <br>                      
               <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>                                  
 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem);
+typedef void <a href="#xmlRelaxNGValidityErrorFunc">xmlRelaxNGValidityErrorFunc</a>    (void * ctx, <br>     
                                   const char * msg, <br>                                  ... ...);
+typedef void <a href="#xmlRelaxNGValidityWarningFunc">xmlRelaxNGValidityWarningFunc</a>        (void * ctx, 
<br>                                        const char * msg, <br>                                  ... ...);
+int    <a href="#xmlRelaxParserSetFlag">xmlRelaxParserSetFlag</a>              (<a 
href="libxml2-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a> ctxt, <br>                    
               int flags);
+</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="xmlRelaxNG">Structure </a>xmlRelaxNG</h3>
+<pre class="programlisting">struct _xmlRelaxNG {
 The content of this structure is not made public by the API.
 } xmlRelaxNG;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlRelaxNGParserCtxt">Structure 
</a>xmlRelaxNGParserCtxt</h3><pre class="programlisting">struct _xmlRelaxNGParserCtxt {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlRelaxNGParserCtxt">Structure </a>xmlRelaxNGParserCtxt</h3>
+<pre class="programlisting">struct _xmlRelaxNGParserCtxt {
 The content of this structure is not made public by the API.
 } xmlRelaxNGParserCtxt;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlRelaxNGParserCtxtPtr">Typedef 
</a>xmlRelaxNGParserCtxtPtr</h3><pre class="programlisting"><a 
href="libxml2-relaxng.html#xmlRelaxNGParserCtxt">xmlRelaxNGParserCtxt</a> * xmlRelaxNGParserCtxtPtr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlRelaxNGParserCtxtPtr">Typedef </a>xmlRelaxNGParserCtxtPtr</h3>
+<pre class="programlisting"><a href="libxml2-relaxng.html#xmlRelaxNGParserCtxt">xmlRelaxNGParserCtxt</a> * 
xmlRelaxNGParserCtxtPtr;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlRelaxNGParserFlag">Enum 
</a>xmlRelaxNGParserFlag</h3><pre class="programlisting">enum <a 
href="#xmlRelaxNGParserFlag">xmlRelaxNGParserFlag</a> {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlRelaxNGParserFlag">Enum </a>xmlRelaxNGParserFlag</h3>
+<pre class="programlisting">enum <a href="#xmlRelaxNGParserFlag">xmlRelaxNGParserFlag</a> {
     <a name="XML_RELAXNGP_NONE">XML_RELAXNGP_NONE</a> = 0
     <a name="XML_RELAXNGP_FREE_DOC">XML_RELAXNGP_FREE_DOC</a> = 1
     <a name="XML_RELAXNGP_CRNG">XML_RELAXNGP_CRNG</a> = 2
 };
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlRelaxNGPtr">Typedef </a>xmlRelaxNGPtr</h3><pre 
class="programlisting"><a href="libxml2-relaxng.html#xmlRelaxNG">xmlRelaxNG</a> * xmlRelaxNGPtr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlRelaxNGPtr">Typedef </a>xmlRelaxNGPtr</h3>
+<pre class="programlisting"><a href="libxml2-relaxng.html#xmlRelaxNG">xmlRelaxNG</a> * xmlRelaxNGPtr;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlRelaxNGValidCtxt">Structure 
</a>xmlRelaxNGValidCtxt</h3><pre class="programlisting">struct _xmlRelaxNGValidCtxt {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlRelaxNGValidCtxt">Structure </a>xmlRelaxNGValidCtxt</h3>
+<pre class="programlisting">struct _xmlRelaxNGValidCtxt {
 The content of this structure is not made public by the API.
 } xmlRelaxNGValidCtxt;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlRelaxNGValidCtxtPtr">Typedef 
</a>xmlRelaxNGValidCtxtPtr</h3><pre class="programlisting"><a 
href="libxml2-relaxng.html#xmlRelaxNGValidCtxt">xmlRelaxNGValidCtxt</a> * xmlRelaxNGValidCtxtPtr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlRelaxNGValidCtxtPtr">Typedef </a>xmlRelaxNGValidCtxtPtr</h3>
+<pre class="programlisting"><a href="libxml2-relaxng.html#xmlRelaxNGValidCtxt">xmlRelaxNGValidCtxt</a> * 
xmlRelaxNGValidCtxtPtr;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlRelaxNGValidErr">Enum 
</a>xmlRelaxNGValidErr</h3><pre class="programlisting">enum <a 
href="#xmlRelaxNGValidErr">xmlRelaxNGValidErr</a> {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlRelaxNGValidErr">Enum </a>xmlRelaxNGValidErr</h3>
+<pre class="programlisting">enum <a href="#xmlRelaxNGValidErr">xmlRelaxNGValidErr</a> {
     <a name="XML_RELAXNG_OK">XML_RELAXNG_OK</a> = 0
     <a name="XML_RELAXNG_ERR_MEMORY">XML_RELAXNG_ERR_MEMORY</a> = 1
     <a name="XML_RELAXNG_ERR_TYPE">XML_RELAXNG_ERR_TYPE</a> = 2
@@ -165,114 +173,620 @@ The content of this structure is not made public by the API.
     <a name="XML_RELAXNG_ERR_ELEMWRONG">XML_RELAXNG_ERR_ELEMWRONG</a> = 38
     <a name="XML_RELAXNG_ERR_TEXTWRONG">XML_RELAXNG_ERR_TEXTWRONG</a> = 39
 };
-</pre><p/>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlRelaxNGValidityErrorFunc"/>Function type 
xmlRelaxNGValidityErrorFunc</h3><pre class="programlisting">void      xmlRelaxNGValidityErrorFunc     (void * 
ctx, <br/>                                       const char * msg, <br/>                                      
   ... ...)<br/>
-</pre><p>Signature of an error callback from a Relax-NG validation</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>the validation context</td></tr><tr><td><span 
class="term"><i><tt>msg</tt></i>:</span></td><td>the message</td></tr><tr><td><span 
class="term"><i><tt>...</tt></i>:</span></td><td>extra arguments</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlRelaxNGValidityWarningFunc"/>Function type 
xmlRelaxNGValidityWarningFunc</h3><pre class="programlisting">void  xmlRelaxNGValidityWarningFunc   (void * 
ctx, <br/>                                       const char * msg, <br/>                                      
   ... ...)<br/>
-</pre><p>Signature of a warning callback from a Relax-NG validation</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>the validation context</td></tr><tr><td><span 
class="term"><i><tt>msg</tt></i>:</span></td><td>the message</td></tr><tr><td><span 
class="term"><i><tt>...</tt></i>:</span></td><td>extra arguments</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlRelaxNGCleanupTypes"/>xmlRelaxNGCleanupTypes 
()</h3><pre class="programlisting">void   xmlRelaxNGCleanupTypes          (void)<br/>
-</pre><p>DEPRECATED: This function will be made private. Call <a 
href="libxml2-parser.html#xmlCleanupParser">xmlCleanupParser</a> to free global state but see the warnings 
there. <a href="libxml2-parser.html#xmlCleanupParser">xmlCleanupParser</a> should be only called once at 
program exit. In most cases, you don't have call cleanup functions at all. Cleanup the default Schemas type 
library associated to RelaxNG</p>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlRelaxNGDump"/>xmlRelaxNGDump ()</h3><pre 
class="programlisting">void   xmlRelaxNGDump                  (FILE * output, <br/>                           
         <a href="libxml2-relaxng.html#xmlRelaxNGPtr">xmlRelaxNGPtr</a> schema)<br/>
-</pre><p>Dump a RelaxNG structure back</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 output</td></tr><tr><td><span 
class="term"><i><tt>schema</tt></i>:</span></td><td>a schema structure</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlRelaxNGDumpTree"/>xmlRelaxNGDumpTree ()</h3><pre 
class="programlisting">void   xmlRelaxNGDumpTree              (FILE * output, <br/>                           
         <a href="libxml2-relaxng.html#xmlRelaxNGPtr">xmlRelaxNGPtr</a> schema)<br/>
-</pre><p>Dump the transformed RelaxNG tree.</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 output</td></tr><tr><td><span 
class="term"><i><tt>schema</tt></i>:</span></td><td>a schema structure</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlRelaxNGFree"/>xmlRelaxNGFree ()</h3><pre 
class="programlisting">void   xmlRelaxNGFree                  (<a 
href="libxml2-relaxng.html#xmlRelaxNGPtr">xmlRelaxNGPtr</a> schema)<br/>
-</pre><p>Deallocate a RelaxNG structure.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>schema</tt></i>:</span></td><td>a schema structure</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlRelaxNGFreeParserCtxt"/>xmlRelaxNGFreeParserCtxt 
()</h3><pre class="programlisting">void       xmlRelaxNGFreeParserCtxt        (<a 
href="libxml2-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a> ctxt)<br/>
-</pre><p>Free the resources associated to the schema 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>the schema parser 
context</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlRelaxNGFreeValidCtxt"/>xmlRelaxNGFreeValidCtxt 
()</h3><pre class="programlisting">void xmlRelaxNGFreeValidCtxt         (<a 
href="libxml2-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt)<br/>
-</pre><p>Free the resources associated to the schema validation 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 schema validation 
context</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlRelaxNGGetParserErrors"/>xmlRelaxNGGetParserErrors 
()</h3><pre class="programlisting">int      xmlRelaxNGGetParserErrors       (<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)<br/>
-</pre><p>Get the callback information used to handle errors for a validation 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>a Relax-NG validation context</td></tr><tr><td><span 
class="term"><i><tt>err</tt></i>:</span></td><td>the error callback result</td></tr><tr><td><span 
class="term"><i><tt>warn</tt></i>:</span></td><td>the warning callback result</td></tr><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>contextual data for the callbacks 
result</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 in case of failure, 0 
otherwise.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlRelaxNGGetValidErrors"/>xmlRelaxNGGetValidErrors 
()</h3><pre class="programlisting">int        xmlRelaxNGGetValidErrors        (<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><p>Get the error and warning callback information</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 validation context</td></tr><tr><td><span 
class="term"><i><tt>err</tt></i>:</span></td><td>the error function result</td></tr><tr><td><span 
class="term"><i><tt>warn</tt></i>:</span></td><td>the warning function result</td></tr><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>the functions context result</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 in case of error and 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlRelaxNGInitTypes"/>xmlRelaxNGInitTypes ()</h3><pre 
class="programlisting">int  xmlRelaxNGInitTypes             (void)<br/>
-</pre><p>Initialize the default type libraries.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success and -1 in case of 
error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlRelaxNGNewDocParserCtxt"/>xmlRelaxNGNewDocParserCtxt 
()</h3><pre class="programlisting"><a 
href="libxml2-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a>     
xmlRelaxNGNewDocParserCtxt      (<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br/>
-</pre><p>Create an XML RelaxNGs parser context for that document. Note: since the process of compiling a 
RelaxNG schemas modifies the document, the @doc parameter is duplicated internally.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>doc</tt></i>:</span></td><td>a preparsed document tree</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the parser context or NULL in case of 
error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlRelaxNGNewMemParserCtxt"/>xmlRelaxNGNewMemParserCtxt 
()</h3><pre class="programlisting"><a 
href="libxml2-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a>     
xmlRelaxNGNewMemParserCtxt      (const char * buffer, <br/>                                                   
   int size)<br/>
-</pre><p>Create an XML RelaxNGs parse context for that memory buffer expected to contain an XML RelaxNGs 
file.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>buffer</tt></i>:</span></td><td>a pointer to a char array containing the 
schemas</td></tr><tr><td><span class="term"><i><tt>size</tt></i>:</span></td><td>the size of the 
array</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the parser context or NULL 
in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlRelaxNGNewParserCtxt"/>xmlRelaxNGNewParserCtxt 
()</h3><pre class="programlisting"><a 
href="libxml2-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a>   xmlRelaxNGNewParserCtxt 
(const char * URL)<br/>
-</pre><p>Create an XML RelaxNGs parse context for that file/resource expected to contain an XML RelaxNGs 
file.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>URL</tt></i>:</span></td><td>the location of the schema</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the parser context or NULL in case of 
error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlRelaxNGNewValidCtxt"/>xmlRelaxNGNewValidCtxt 
()</h3><pre class="programlisting"><a 
href="libxml2-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a>       xmlRelaxNGNewValidCtxt  
(<a href="libxml2-relaxng.html#xmlRelaxNGPtr">xmlRelaxNGPtr</a> schema)<br/>
-</pre><p>Create an XML RelaxNGs validation context based on the given schema</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>schema</tt></i>:</span></td><td>a precompiled XML RelaxNGs</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the validation context or NULL in case of 
error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlRelaxNGParse"/>xmlRelaxNGParse ()</h3><pre 
class="programlisting"><a href="libxml2-relaxng.html#xmlRelaxNGPtr">xmlRelaxNGPtr</a>       xmlRelaxNGParse   
      (<a href="libxml2-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a> ctxt)<br/>
-</pre><p>parse a schema definition resource and build an internal XML Schema structure which can be used to 
validate instances.</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>Returns</tt></i>:</span></td><td>the internal XML RelaxNG structure built from the 
resource or NULL in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlRelaxNGSetParserErrors"/>xmlRelaxNGSetParserErrors 
()</h3><pre class="programlisting">void     xmlRelaxNGSetParserErrors       (<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)<br/>
-</pre><p>Set the callback functions used to handle errors for a validation 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>a Relax-NG validation context</td></tr><tr><td><span 
class="term"><i><tt>err</tt></i>:</span></td><td>the error callback</td></tr><tr><td><span 
class="term"><i><tt>warn</tt></i>:</span></td><td>the warning callback</td></tr><tr><td><span 
class="term"><i><tt>ctx</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="xmlRelaxNGSetParserStructuredErrors"/>xmlRelaxNGSetParserStructuredErrors ()</h3><pre 
class="programlisting">void xmlRelaxNGSetParserStructuredErrors     (<a 
href="libxml2-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a> ctxt, <br/>                   
                       <a href="libxml2-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a> 
serror, <br/>                                                 void * ctx)<br/>
-</pre><p>Set the callback functions used to handle errors for a parsing 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>a Relax-NG parser context</td></tr><tr><td><span 
class="term"><i><tt>serror</tt></i>:</span></td><td>the error callback</td></tr><tr><td><span 
class="term"><i><tt>ctx</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"/>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><p>Set the error and warning callback information</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 validation context</td></tr><tr><td><span 
class="term"><i><tt>err</tt></i>:</span></td><td>the error function</td></tr><tr><td><span 
class="term"><i><tt>warn</tt></i>:</span></td><td>the warning function</td></tr><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>the functions context</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlRelaxNGSetValidStructuredErrors"/>xmlRelaxNGSetValidStructuredErrors ()</h3><pre 
class="programlisting">void   xmlRelaxNGSetValidStructuredErrors      (<a 
href="libxml2-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt, <br/>                     
                       <a href="libxml2-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a> 
serror, <br/>                                                 void * ctx)<br/>
-</pre><p>Set the structured error callback</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 validation context</td></tr><tr><td><span 
class="term"><i><tt>serror</tt></i>:</span></td><td>the structured error function</td></tr><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>the functions context</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlRelaxNGValidateDoc"/>xmlRelaxNGValidateDoc 
()</h3><pre class="programlisting">int      xmlRelaxNGValidateDoc           (<a 
href="libxml2-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt, <br/>                     
               <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br/>
-</pre><p>Validate a document tree in memory.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctxt</tt></i>:</span></td><td>a Relax-NG validation context</td></tr><tr><td><span 
class="term"><i><tt>doc</tt></i>:</span></td><td>a parsed document tree</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if the document is valid, a positive error code number 
otherwise and -1 in case of internal or API error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlRelaxNGValidateFullElement"/>xmlRelaxNGValidateFullElement ()</h3><pre class="programlisting">int    
  xmlRelaxNGValidateFullElement   (<a 
href="libxml2-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</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>Validate a full subtree when xmlRelaxNGValidatePushElement() returned 0 and the content of the node 
has been expanded.</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 validation 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>elem</tt></i>:</span></td><td>an element instance</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if no validation problem was found or -1 in case of 
error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlRelaxNGValidatePopElement"/>xmlRelaxNGValidatePopElement ()</h3><pre class="programlisting">int      
  xmlRelaxNGValidatePopElement    (<a 
href="libxml2-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</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>Pop the element end from the RelaxNG validation 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>the RelaxNG validation 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>elem</tt></i>:</span></td><td>an element instance</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if no validation problem was found or 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlRelaxNGValidatePushCData"/>xmlRelaxNGValidatePushCData ()</h3><pre class="programlisting">int  
xmlRelaxNGValidatePushCData     (<a 
href="libxml2-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt, <br/>                     
               const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * data, <br/>                       
                 int len)<br/>
-</pre><p>check the CData parsed for validation in the current 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>the RelaxNG validation context</td></tr><tr><td><span 
class="term"><i><tt>data</tt></i>:</span></td><td>some character data read</td></tr><tr><td><span 
class="term"><i><tt>len</tt></i>:</span></td><td>the length of the data</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if no validation problem was found or -1 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlRelaxNGValidatePushElement"/>xmlRelaxNGValidatePushElement ()</h3><pre class="programlisting">int    
  xmlRelaxNGValidatePushElement   (<a 
href="libxml2-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</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>Push a new element start on the RelaxNG validation 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>the validation 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>elem</tt></i>:</span></td><td>an element instance</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if no validation problem was found or 0 if validating 
the element requires a full node, and -1 in case of error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlRelaxParserSetFlag"/>xmlRelaxParserSetFlag 
()</h3><pre class="programlisting">int      xmlRelaxParserSetFlag           (<a 
href="libxml2-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a> ctxt, <br/>                   
               int flags)<br/>
-</pre><p>Semi private function used to pass information to a parser context which are a combination of <a 
href="libxml2-relaxng.html#xmlRelaxNGParserFlag">xmlRelaxNGParserFlag</a> .</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 RelaxNG parser context</td></tr><tr><td><span 
class="term"><i><tt>flags</tt></i>:</span></td><td>a set of flags values</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if success and -1 in case of 
error</td></tr></tbody></table></div></div>
-        <hr/>
-      </div>
-    </div>
-  </body>
+</pre>
+<p></p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlRelaxNGValidityErrorFunc"></a>Function type xmlRelaxNGValidityErrorFunc</h3>
+<pre class="programlisting">void       xmlRelaxNGValidityErrorFunc     (void * ctx, <br>                     
                   const char * msg, <br>                                  ... ...)<br>
+</pre>
+<p>Signature of an error callback from a Relax-NG validation</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>the validation context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>msg</tt></i>:</span></td>
+<td>the message</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>...</tt></i>:</span></td>
+<td>extra arguments</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlRelaxNGValidityWarningFunc"></a>Function type xmlRelaxNGValidityWarningFunc</h3>
+<pre class="programlisting">void       xmlRelaxNGValidityWarningFunc   (void * ctx, <br>                     
                   const char * msg, <br>                                  ... ...)<br>
+</pre>
+<p>Signature of a warning callback from a Relax-NG validation</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>the validation context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>msg</tt></i>:</span></td>
+<td>the message</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>...</tt></i>:</span></td>
+<td>extra arguments</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlRelaxNGCleanupTypes"></a>xmlRelaxNGCleanupTypes ()</h3>
+<pre class="programlisting">void       xmlRelaxNGCleanupTypes          (void)<br>
+</pre>
+<p>DEPRECATED: This function will be made private. Call <a 
href="libxml2-parser.html#xmlCleanupParser">xmlCleanupParser</a> to free global state but see the warnings 
there. <a href="libxml2-parser.html#xmlCleanupParser">xmlCleanupParser</a> should be only called once at 
program exit. In most cases, you don't have call cleanup functions at all. Cleanup the default Schemas type 
library associated to RelaxNG</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlRelaxNGDump"></a>xmlRelaxNGDump ()</h3>
+<pre class="programlisting">void       xmlRelaxNGDump                  (FILE * output, <br>                  
                   <a href="libxml2-relaxng.html#xmlRelaxNGPtr">xmlRelaxNGPtr</a> schema)<br>
+</pre>
+<p>Dump a RelaxNG structure back</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 output</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>schema</tt></i>:</span></td>
+<td>a schema structure</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlRelaxNGDumpTree"></a>xmlRelaxNGDumpTree ()</h3>
+<pre class="programlisting">void       xmlRelaxNGDumpTree              (FILE * output, <br>                  
                   <a href="libxml2-relaxng.html#xmlRelaxNGPtr">xmlRelaxNGPtr</a> schema)<br>
+</pre>
+<p>Dump the transformed RelaxNG tree.</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 output</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>schema</tt></i>:</span></td>
+<td>a schema structure</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlRelaxNGFree"></a>xmlRelaxNGFree ()</h3>
+<pre class="programlisting">void       xmlRelaxNGFree                  (<a 
href="libxml2-relaxng.html#xmlRelaxNGPtr">xmlRelaxNGPtr</a> schema)<br>
+</pre>
+<p>Deallocate a RelaxNG structure.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>schema</tt></i>:</span></td>
+<td>a schema structure</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlRelaxNGFreeParserCtxt"></a>xmlRelaxNGFreeParserCtxt ()</h3>
+<pre class="programlisting">void       xmlRelaxNGFreeParserCtxt        (<a 
href="libxml2-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a> ctxt)<br>
+</pre>
+<p>Free the resources associated to the schema 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>the schema parser context</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlRelaxNGFreeValidCtxt"></a>xmlRelaxNGFreeValidCtxt ()</h3>
+<pre class="programlisting">void       xmlRelaxNGFreeValidCtxt         (<a 
href="libxml2-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt)<br>
+</pre>
+<p>Free the resources associated to the schema validation 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 schema validation context</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlRelaxNGGetParserErrors"></a>xmlRelaxNGGetParserErrors ()</h3>
+<pre class="programlisting">int        xmlRelaxNGGetParserErrors       (<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)<br>
+</pre>
+<p>Get the callback information used to handle errors for a validation 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>a Relax-NG validation context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>err</tt></i>:</span></td>
+<td>the error callback result</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>warn</tt></i>:</span></td>
+<td>the warning callback result</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>contextual data for the callbacks result</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>-1 in case of failure, 0 otherwise.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlRelaxNGGetValidErrors"></a>xmlRelaxNGGetValidErrors ()</h3>
+<pre class="programlisting">int        xmlRelaxNGGetValidErrors        (<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>
+<p>Get the error and warning callback information</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 validation context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>err</tt></i>:</span></td>
+<td>the error function result</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>warn</tt></i>:</span></td>
+<td>the warning function result</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>the functions context result</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>-1 in case of error and 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlRelaxNGInitTypes"></a>xmlRelaxNGInitTypes ()</h3>
+<pre class="programlisting">int        xmlRelaxNGInitTypes             (void)<br>
+</pre>
+<p>Initialize the default type libraries.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 in case of success and -1 in case of error.</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlRelaxNGNewDocParserCtxt"></a>xmlRelaxNGNewDocParserCtxt ()</h3>
+<pre class="programlisting"><a 
href="libxml2-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a> xmlRelaxNGNewDocParserCtxt    
  (<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br>
+</pre>
+<p>Create an XML RelaxNGs parser context for that document. Note: since the process of compiling a RelaxNG 
schemas modifies the document, the @doc parameter is duplicated internally.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>doc</tt></i>:</span></td>
+<td>a preparsed document tree</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the parser context or NULL in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlRelaxNGNewMemParserCtxt"></a>xmlRelaxNGNewMemParserCtxt ()</h3>
+<pre class="programlisting"><a 
href="libxml2-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a> xmlRelaxNGNewMemParserCtxt    
  (const char * buffer, <br>                                                       int size)<br>
+</pre>
+<p>Create an XML RelaxNGs parse context for that memory buffer expected to contain an XML RelaxNGs file.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>buffer</tt></i>:</span></td>
+<td>a pointer to a char array containing the schemas</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>size</tt></i>:</span></td>
+<td>the size of the array</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the parser context or NULL in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlRelaxNGNewParserCtxt"></a>xmlRelaxNGNewParserCtxt ()</h3>
+<pre class="programlisting"><a 
href="libxml2-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a> xmlRelaxNGNewParserCtxt 
(const char * URL)<br>
+</pre>
+<p>Create an XML RelaxNGs parse context for that file/resource expected to contain an XML RelaxNGs file.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>URL</tt></i>:</span></td>
+<td>the location of the schema</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the parser context or NULL in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlRelaxNGNewValidCtxt"></a>xmlRelaxNGNewValidCtxt ()</h3>
+<pre class="programlisting"><a href="libxml2-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> 
  xmlRelaxNGNewValidCtxt  (<a href="libxml2-relaxng.html#xmlRelaxNGPtr">xmlRelaxNGPtr</a> schema)<br>
+</pre>
+<p>Create an XML RelaxNGs validation context based on the given schema</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>schema</tt></i>:</span></td>
+<td>a precompiled XML RelaxNGs</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the validation context or NULL in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlRelaxNGParse"></a>xmlRelaxNGParse ()</h3>
+<pre class="programlisting"><a href="libxml2-relaxng.html#xmlRelaxNGPtr">xmlRelaxNGPtr</a>     
xmlRelaxNGParse         (<a href="libxml2-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a> 
ctxt)<br>
+</pre>
+<p>parse a schema definition resource and build an internal XML Schema structure which can be used to 
validate instances.</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>Returns</tt></i>:</span></td>
+<td>the internal XML RelaxNG structure built from the resource or NULL in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlRelaxNGSetParserErrors"></a>xmlRelaxNGSetParserErrors ()</h3>
+<pre class="programlisting">void       xmlRelaxNGSetParserErrors       (<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)<br>
+</pre>
+<p>Set the callback functions used to handle errors for a validation 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>a Relax-NG validation context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>err</tt></i>:</span></td>
+<td>the error callback</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>warn</tt></i>:</span></td>
+<td>the warning callback</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ctx</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="xmlRelaxNGSetParserStructuredErrors"></a>xmlRelaxNGSetParserStructuredErrors ()</h3>
+<pre class="programlisting">void       xmlRelaxNGSetParserStructuredErrors     (<a 
href="libxml2-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a> ctxt, <br>                    
                       <a href="libxml2-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a> 
serror, <br>                                          void * ctx)<br>
+</pre>
+<p>Set the callback functions used to handle errors for a parsing 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>a Relax-NG parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>serror</tt></i>:</span></td>
+<td>the error callback</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ctx</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>
+<p>Set the error and warning callback information</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 validation context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>err</tt></i>:</span></td>
+<td>the error function</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>warn</tt></i>:</span></td>
+<td>the warning function</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>the functions context</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlRelaxNGSetValidStructuredErrors"></a>xmlRelaxNGSetValidStructuredErrors ()</h3>
+<pre class="programlisting">void       xmlRelaxNGSetValidStructuredErrors      (<a 
href="libxml2-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt, <br>                      
                       <a href="libxml2-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a> 
serror, <br>                                          void * ctx)<br>
+</pre>
+<p>Set the structured error callback</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 validation context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>serror</tt></i>:</span></td>
+<td>the structured error function</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>the functions context</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlRelaxNGValidateDoc"></a>xmlRelaxNGValidateDoc ()</h3>
+<pre class="programlisting">int        xmlRelaxNGValidateDoc           (<a 
href="libxml2-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt, <br>                      
               <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br>
+</pre>
+<p>Validate a document tree in memory.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>a Relax-NG validation context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>doc</tt></i>:</span></td>
+<td>a parsed document tree</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 if the document is valid, a positive error code number otherwise and -1 in case of internal or API 
error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlRelaxNGValidateFullElement"></a>xmlRelaxNGValidateFullElement ()</h3>
+<pre class="programlisting">int        xmlRelaxNGValidateFullElement   (<a 
href="libxml2-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</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>Validate a full subtree when xmlRelaxNGValidatePushElement() returned 0 and the content of the node has 
been expanded.</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 validation 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>elem</tt></i>:</span></td>
+<td>an element instance</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if no validation problem was found or -1 in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlRelaxNGValidatePopElement"></a>xmlRelaxNGValidatePopElement ()</h3>
+<pre class="programlisting">int        xmlRelaxNGValidatePopElement    (<a 
href="libxml2-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</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>Pop the element end from the RelaxNG validation 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>the RelaxNG validation 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>elem</tt></i>:</span></td>
+<td>an element instance</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if no validation problem was found or 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlRelaxNGValidatePushCData"></a>xmlRelaxNGValidatePushCData ()</h3>
+<pre class="programlisting">int        xmlRelaxNGValidatePushCData     (<a 
href="libxml2-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt, <br>                      
               const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * data, <br>                        
                 int len)<br>
+</pre>
+<p>check the CData parsed for validation in the current 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>the RelaxNG validation context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>data</tt></i>:</span></td>
+<td>some character data read</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>len</tt></i>:</span></td>
+<td>the length of the data</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if no validation problem was found or -1 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlRelaxNGValidatePushElement"></a>xmlRelaxNGValidatePushElement ()</h3>
+<pre class="programlisting">int        xmlRelaxNGValidatePushElement   (<a 
href="libxml2-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</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>Push a new element start on the RelaxNG validation 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>the validation 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>elem</tt></i>:</span></td>
+<td>an element instance</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if no validation problem was found or 0 if validating the element requires a full node, and -1 in case 
of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlRelaxParserSetFlag"></a>xmlRelaxParserSetFlag ()</h3>
+<pre class="programlisting">int        xmlRelaxParserSetFlag           (<a 
href="libxml2-relaxng.html#xmlRelaxNGParserCtxtPtr">xmlRelaxNGParserCtxtPtr</a> ctxt, <br>                    
               int flags)<br>
+</pre>
+<p>Semi private function used to pass information to a parser context which are a combination of <a 
href="libxml2-relaxng.html#xmlRelaxNGParserFlag">xmlRelaxNGParserFlag</a> .</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 RelaxNG parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>flags</tt></i>:</span></td>
+<td>a set of flags values</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 if success and -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+</div>
+</div>
+</body>
 </html>
diff --git a/doc/devhelp/libxml2-schemasInternals.html b/doc/devhelp/libxml2-schemasInternals.html
index 9bfb52e0..8c45bdf8 100644
--- a/doc/devhelp/libxml2-schemasInternals.html
+++ b/doc/devhelp/libxml2-schemasInternals.html
@@ -1,49 +1,28 @@
-<?xml version="1.0" encoding="UTF-8"?>
 <html>
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
-    <title>schemasInternals: internal interfaces for XML Schemas</title>
-    <meta name="generator" content="Libxml2 devhelp stylesheet"/>
-    <link rel="start" href="index.html" title="libxml2 Reference Manual"/>
-    <link rel="up" href="general.html" title="API"/>
-    <link rel="stylesheet" href="style.css" type="text/css"/>
-    <link rel="chapter" href="general.html" title="API"/>
-  </head>
-  <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-    <table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
-      <tr valign="middle">
-        <td>
-          <a accesskey="p" href="libxml2-relaxng.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-schematron.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">schemasInternals</span>
-    </h2>
-    <p>schemasInternals - internal interfaces for XML Schemas</p>
-    <p>internal interfaces for the XML Schemas handling and schema validity checking The Schemas development 
is a Work In Progress. Some of those interfaces are not guaranteed to be API or ABI stable ! </p>
-    <p>Author(s): Daniel Veillard </p>
-    <div class="refsynopsisdiv">
-      <h2>Synopsis</h2>
-      <pre class="synopsis">#define <a href="#XML_SCHEMAS_ANYATTR_LAX">XML_SCHEMAS_ANYATTR_LAX</a>;
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>schemasInternals: internal interfaces for XML Schemas</title>
+<meta name="generator" content="Libxml2 devhelp stylesheet">
+<link rel="start" href="index.html" title="libxml2 Reference Manual">
+<link rel="up" href="general.html" title="API">
+<link rel="stylesheet" href="style.css" type="text/css">
+<link rel="chapter" href="general.html" title="API">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr 
valign="middle">
+<td><a accesskey="p" href="libxml2-relaxng.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-schematron.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">schemasInternals</span></h2>
+<p>schemasInternals - internal interfaces for XML Schemas</p>
+<p>internal interfaces for the XML Schemas handling and schema validity checking The Schemas development is 
a Work In Progress. Some of those interfaces are not guaranteed to be API or ABI stable ! </p>
+<p>Author(s): Daniel Veillard </p>
+<div class="refsynopsisdiv">
+<h2>Synopsis</h2>
+<pre class="synopsis">#define <a href="#XML_SCHEMAS_ANYATTR_LAX">XML_SCHEMAS_ANYATTR_LAX</a>;
 #define <a href="#XML_SCHEMAS_ANYATTR_SKIP">XML_SCHEMAS_ANYATTR_SKIP</a>;
 #define <a href="#XML_SCHEMAS_ANYATTR_STRICT">XML_SCHEMAS_ANYATTR_STRICT</a>;
 #define <a href="#XML_SCHEMAS_ANY_LAX">XML_SCHEMAS_ANY_LAX</a>;
@@ -157,353 +136,690 @@ typedef <a href="libxml2-schemasInternals.html#xmlSchemaWildcard">xmlSchemaWildc
 void   <a href="#xmlSchemaFreeType">xmlSchemaFreeType</a>              (<a 
href="libxml2-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> type);
 void   <a href="#xmlSchemaFreeWildcard">xmlSchemaFreeWildcard</a>              (<a 
href="libxml2-schemasInternals.html#xmlSchemaWildcardPtr">xmlSchemaWildcardPtr</a> wildcard);
 </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="XML_SCHEMAS_ANYATTR_LAX">Macro 
</a>XML_SCHEMAS_ANYATTR_LAX</h3><pre class="programlisting">#define <a 
href="#XML_SCHEMAS_ANYATTR_LAX">XML_SCHEMAS_ANYATTR_LAX</a>;
-</pre><p>Ignore validation non definition on attributes Obsolete, not used anymore.</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><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>
+<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="XML_SCHEMAS_ANYATTR_LAX">Macro </a>XML_SCHEMAS_ANYATTR_LAX</h3>
+<pre class="programlisting">#define <a href="#XML_SCHEMAS_ANYATTR_LAX">XML_SCHEMAS_ANYATTR_LAX</a>;
+</pre>
+<p>Ignore validation non definition on attributes Obsolete, not used anymore.</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_SCHEMAS_ANYATTR_STRICT">Macro 
</a>XML_SCHEMAS_ANYATTR_STRICT</h3><pre class="programlisting">#define <a 
href="#XML_SCHEMAS_ANYATTR_STRICT">XML_SCHEMAS_ANYATTR_STRICT</a>;
-</pre><p>Apply strict validation rules on attributes Obsolete, not used anymore.</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_SCHEMAS_ANY_LAX">Macro 
</a>XML_SCHEMAS_ANY_LAX</h3><pre class="programlisting">#define <a 
href="#XML_SCHEMAS_ANY_LAX">XML_SCHEMAS_ANY_LAX</a>;
-</pre><p>Used by wildcards. Validate if type found, don't worry if not found</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_SCHEMAS_ANYATTR_STRICT">Macro </a>XML_SCHEMAS_ANYATTR_STRICT</h3>
+<pre class="programlisting">#define <a href="#XML_SCHEMAS_ANYATTR_STRICT">XML_SCHEMAS_ANYATTR_STRICT</a>;
+</pre>
+<p>Apply strict validation rules on attributes Obsolete, not used anymore.</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><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>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_SCHEMAS_ANY_LAX">Macro </a>XML_SCHEMAS_ANY_LAX</h3>
+<pre class="programlisting">#define <a href="#XML_SCHEMAS_ANY_LAX">XML_SCHEMAS_ANY_LAX</a>;
+</pre>
+<p>Used by wildcards. Validate if type found, don't worry if not found</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_SCHEMAS_ANY_STRICT">Macro 
</a>XML_SCHEMAS_ANY_STRICT</h3><pre class="programlisting">#define <a 
href="#XML_SCHEMAS_ANY_STRICT">XML_SCHEMAS_ANY_STRICT</a>;
-</pre><p>Used by wildcards. Apply strict validation rules</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><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>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_SCHEMAS_ANY_STRICT">Macro </a>XML_SCHEMAS_ANY_STRICT</h3>
+<pre class="programlisting">#define <a href="#XML_SCHEMAS_ANY_STRICT">XML_SCHEMAS_ANY_STRICT</a>;
+</pre>
+<p>Used by wildcards. Apply strict validation rules</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_SCHEMAS_ATTRGROUP_HAS_REFS">Macro 
</a>XML_SCHEMAS_ATTRGROUP_HAS_REFS</h3><pre class="programlisting">#define <a 
href="#XML_SCHEMAS_ATTRGROUP_HAS_REFS">XML_SCHEMAS_ATTRGROUP_HAS_REFS</a>;
-</pre><p>Whether this attr. group contains attr. group references.</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_SCHEMAS_ATTRGROUP_MARKED">Macro 
</a>XML_SCHEMAS_ATTRGROUP_MARKED</h3><pre class="programlisting">#define <a 
href="#XML_SCHEMAS_ATTRGROUP_MARKED">XML_SCHEMAS_ATTRGROUP_MARKED</a>;
-</pre><p>Marks the attr group as marked; used for circular checks.</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_SCHEMAS_ATTRGROUP_HAS_REFS">Macro </a>XML_SCHEMAS_ATTRGROUP_HAS_REFS</h3>
+<pre class="programlisting">#define <a 
href="#XML_SCHEMAS_ATTRGROUP_HAS_REFS">XML_SCHEMAS_ATTRGROUP_HAS_REFS</a>;
+</pre>
+<p>Whether this attr. group contains attr. group references.</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_SCHEMAS_ATTRGROUP_REDEFINED">Macro 
</a>XML_SCHEMAS_ATTRGROUP_REDEFINED</h3><pre class="programlisting">#define <a 
href="#XML_SCHEMAS_ATTRGROUP_REDEFINED">XML_SCHEMAS_ATTRGROUP_REDEFINED</a>;
-</pre><p>The attr group was redefined.</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_SCHEMAS_ATTRGROUP_MARKED">Macro </a>XML_SCHEMAS_ATTRGROUP_MARKED</h3>
+<pre class="programlisting">#define <a href="#XML_SCHEMAS_ATTRGROUP_MARKED">XML_SCHEMAS_ATTRGROUP_MARKED</a>;
+</pre>
+<p>Marks the attr group as marked; used for circular checks.</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><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>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_SCHEMAS_ATTRGROUP_REDEFINED">Macro </a>XML_SCHEMAS_ATTRGROUP_REDEFINED</h3>
+<pre class="programlisting">#define <a 
href="#XML_SCHEMAS_ATTRGROUP_REDEFINED">XML_SCHEMAS_ATTRGROUP_REDEFINED</a>;
+</pre>
+<p>The attr group was redefined.</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><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>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_SCHEMAS_ATTR_GLOBAL">Macro 
</a>XML_SCHEMAS_ATTR_GLOBAL</h3><pre class="programlisting">#define <a 
href="#XML_SCHEMAS_ATTR_GLOBAL">XML_SCHEMAS_ATTR_GLOBAL</a>;
-</pre><p>allow elements in no namespace</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_SCHEMAS_ATTR_INTERNAL_RESOLVED">Macro 
</a>XML_SCHEMAS_ATTR_INTERNAL_RESOLVED</h3><pre class="programlisting">#define <a 
href="#XML_SCHEMAS_ATTR_INTERNAL_RESOLVED">XML_SCHEMAS_ATTR_INTERNAL_RESOLVED</a>;
-</pre><p>this is set when the "type" and "ref" references have been resolved.</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_SCHEMAS_ATTR_GLOBAL">Macro </a>XML_SCHEMAS_ATTR_GLOBAL</h3>
+<pre class="programlisting">#define <a href="#XML_SCHEMAS_ATTR_GLOBAL">XML_SCHEMAS_ATTR_GLOBAL</a>;
+</pre>
+<p>allow elements in no namespace</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_SCHEMAS_ATTR_NSDEFAULT">Macro 
</a>XML_SCHEMAS_ATTR_NSDEFAULT</h3><pre class="programlisting">#define <a 
href="#XML_SCHEMAS_ATTR_NSDEFAULT">XML_SCHEMAS_ATTR_NSDEFAULT</a>;
-</pre><p>allow elements in no namespace</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_SCHEMAS_ATTR_INTERNAL_RESOLVED">Macro </a>XML_SCHEMAS_ATTR_INTERNAL_RESOLVED</h3>
+<pre class="programlisting">#define <a 
href="#XML_SCHEMAS_ATTR_INTERNAL_RESOLVED">XML_SCHEMAS_ATTR_INTERNAL_RESOLVED</a>;
+</pre>
+<p>this is set when the "type" and "ref" references have been resolved.</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><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>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_SCHEMAS_ATTR_NSDEFAULT">Macro </a>XML_SCHEMAS_ATTR_NSDEFAULT</h3>
+<pre class="programlisting">#define <a href="#XML_SCHEMAS_ATTR_NSDEFAULT">XML_SCHEMAS_ATTR_NSDEFAULT</a>;
+</pre>
+<p>allow elements in no namespace</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><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>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><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>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_SCHEMAS_BLOCK_DEFAULT_EXTENSION">Macro 
</a>XML_SCHEMAS_BLOCK_DEFAULT_EXTENSION</h3><pre class="programlisting">#define <a 
href="#XML_SCHEMAS_BLOCK_DEFAULT_EXTENSION">XML_SCHEMAS_BLOCK_DEFAULT_EXTENSION</a>;
-</pre><p>the schema has "extension" in the set of blockDefault.</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_SCHEMAS_BLOCK_DEFAULT_RESTRICTION">Macro 
</a>XML_SCHEMAS_BLOCK_DEFAULT_RESTRICTION</h3><pre class="programlisting">#define <a 
href="#XML_SCHEMAS_BLOCK_DEFAULT_RESTRICTION">XML_SCHEMAS_BLOCK_DEFAULT_RESTRICTION</a>;
-</pre><p>the schema has "restriction" in the set of blockDefault.</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_SCHEMAS_BLOCK_DEFAULT_EXTENSION">Macro </a>XML_SCHEMAS_BLOCK_DEFAULT_EXTENSION</h3>
+<pre class="programlisting">#define <a 
href="#XML_SCHEMAS_BLOCK_DEFAULT_EXTENSION">XML_SCHEMAS_BLOCK_DEFAULT_EXTENSION</a>;
+</pre>
+<p>the schema has "extension" in the set of blockDefault.</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_SCHEMAS_BLOCK_DEFAULT_SUBSTITUTION">Macro 
</a>XML_SCHEMAS_BLOCK_DEFAULT_SUBSTITUTION</h3><pre class="programlisting">#define <a 
href="#XML_SCHEMAS_BLOCK_DEFAULT_SUBSTITUTION">XML_SCHEMAS_BLOCK_DEFAULT_SUBSTITUTION</a>;
-</pre><p>the schema has "substitution" in the set of blockDefault.</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_SCHEMAS_BLOCK_DEFAULT_RESTRICTION">Macro </a>XML_SCHEMAS_BLOCK_DEFAULT_RESTRICTION</h3>
+<pre class="programlisting">#define <a 
href="#XML_SCHEMAS_BLOCK_DEFAULT_RESTRICTION">XML_SCHEMAS_BLOCK_DEFAULT_RESTRICTION</a>;
+</pre>
+<p>the schema has "restriction" in the set of blockDefault.</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_SCHEMAS_ELEM_ABSTRACT">Macro 
</a>XML_SCHEMAS_ELEM_ABSTRACT</h3><pre class="programlisting">#define <a 
href="#XML_SCHEMAS_ELEM_ABSTRACT">XML_SCHEMAS_ELEM_ABSTRACT</a>;
-</pre><p>the element is abstract</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_SCHEMAS_BLOCK_DEFAULT_SUBSTITUTION">Macro </a>XML_SCHEMAS_BLOCK_DEFAULT_SUBSTITUTION</h3>
+<pre class="programlisting">#define <a 
href="#XML_SCHEMAS_BLOCK_DEFAULT_SUBSTITUTION">XML_SCHEMAS_BLOCK_DEFAULT_SUBSTITUTION</a>;
+</pre>
+<p>the schema has "substitution" in the set of blockDefault.</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><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>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_SCHEMAS_ELEM_ABSTRACT">Macro </a>XML_SCHEMAS_ELEM_ABSTRACT</h3>
+<pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_ABSTRACT">XML_SCHEMAS_ELEM_ABSTRACT</a>;
+</pre>
+<p>the element is abstract</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_SCHEMAS_ELEM_BLOCK_EXTENSION">Macro 
</a>XML_SCHEMAS_ELEM_BLOCK_EXTENSION</h3><pre class="programlisting">#define <a 
href="#XML_SCHEMAS_ELEM_BLOCK_EXTENSION">XML_SCHEMAS_ELEM_BLOCK_EXTENSION</a>;
-</pre><p>disallowed substitutions are absent</p>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_SCHEMAS_ELEM_BLOCK_RESTRICTION">Macro 
</a>XML_SCHEMAS_ELEM_BLOCK_RESTRICTION</h3><pre class="programlisting">#define <a 
href="#XML_SCHEMAS_ELEM_BLOCK_RESTRICTION">XML_SCHEMAS_ELEM_BLOCK_RESTRICTION</a>;
-</pre><p>disallowed substitutions: "restriction"</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_SCHEMAS_ELEM_BLOCK_SUBSTITUTION">Macro 
</a>XML_SCHEMAS_ELEM_BLOCK_SUBSTITUTION</h3><pre class="programlisting">#define <a 
href="#XML_SCHEMAS_ELEM_BLOCK_SUBSTITUTION">XML_SCHEMAS_ELEM_BLOCK_SUBSTITUTION</a>;
-</pre><p>disallowed substitutions: "substitution"</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_SCHEMAS_ELEM_BLOCK_EXTENSION">Macro </a>XML_SCHEMAS_ELEM_BLOCK_EXTENSION</h3>
+<pre class="programlisting">#define <a 
href="#XML_SCHEMAS_ELEM_BLOCK_EXTENSION">XML_SCHEMAS_ELEM_BLOCK_EXTENSION</a>;
+</pre>
+<p>disallowed substitutions are absent</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_SCHEMAS_ELEM_CIRCULAR">Macro 
</a>XML_SCHEMAS_ELEM_CIRCULAR</h3><pre class="programlisting">#define <a 
href="#XML_SCHEMAS_ELEM_CIRCULAR">XML_SCHEMAS_ELEM_CIRCULAR</a>;
-</pre><p>a helper flag for the search of circular references.</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_SCHEMAS_ELEM_BLOCK_RESTRICTION">Macro </a>XML_SCHEMAS_ELEM_BLOCK_RESTRICTION</h3>
+<pre class="programlisting">#define <a 
href="#XML_SCHEMAS_ELEM_BLOCK_RESTRICTION">XML_SCHEMAS_ELEM_BLOCK_RESTRICTION</a>;
+</pre>
+<p>disallowed substitutions: "restriction"</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_SCHEMAS_ELEM_DEFAULT">Macro 
</a>XML_SCHEMAS_ELEM_DEFAULT</h3><pre class="programlisting">#define <a 
href="#XML_SCHEMAS_ELEM_DEFAULT">XML_SCHEMAS_ELEM_DEFAULT</a>;
-</pre><p>the element has a default value</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_SCHEMAS_ELEM_BLOCK_SUBSTITUTION">Macro </a>XML_SCHEMAS_ELEM_BLOCK_SUBSTITUTION</h3>
+<pre class="programlisting">#define <a 
href="#XML_SCHEMAS_ELEM_BLOCK_SUBSTITUTION">XML_SCHEMAS_ELEM_BLOCK_SUBSTITUTION</a>;
+</pre>
+<p>disallowed substitutions: "substitution"</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_SCHEMAS_ELEM_FINAL_ABSENT">Macro 
</a>XML_SCHEMAS_ELEM_FINAL_ABSENT</h3><pre class="programlisting">#define <a 
href="#XML_SCHEMAS_ELEM_FINAL_ABSENT">XML_SCHEMAS_ELEM_FINAL_ABSENT</a>;
-</pre><p>substitution group exclusions are absent</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_SCHEMAS_ELEM_CIRCULAR">Macro </a>XML_SCHEMAS_ELEM_CIRCULAR</h3>
+<pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_CIRCULAR">XML_SCHEMAS_ELEM_CIRCULAR</a>;
+</pre>
+<p>a helper flag for the search of circular references.</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_SCHEMAS_ELEM_FINAL_EXTENSION">Macro 
</a>XML_SCHEMAS_ELEM_FINAL_EXTENSION</h3><pre class="programlisting">#define <a 
href="#XML_SCHEMAS_ELEM_FINAL_EXTENSION">XML_SCHEMAS_ELEM_FINAL_EXTENSION</a>;
-</pre><p>substitution group exclusions: "extension"</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_SCHEMAS_ELEM_DEFAULT">Macro </a>XML_SCHEMAS_ELEM_DEFAULT</h3>
+<pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_DEFAULT">XML_SCHEMAS_ELEM_DEFAULT</a>;
+</pre>
+<p>the element has a default value</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_SCHEMAS_ELEM_FINAL_RESTRICTION">Macro 
</a>XML_SCHEMAS_ELEM_FINAL_RESTRICTION</h3><pre class="programlisting">#define <a 
href="#XML_SCHEMAS_ELEM_FINAL_RESTRICTION">XML_SCHEMAS_ELEM_FINAL_RESTRICTION</a>;
-</pre><p>substitution group exclusions: "restriction"</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_SCHEMAS_ELEM_FINAL_ABSENT">Macro </a>XML_SCHEMAS_ELEM_FINAL_ABSENT</h3>
+<pre class="programlisting">#define <a 
href="#XML_SCHEMAS_ELEM_FINAL_ABSENT">XML_SCHEMAS_ELEM_FINAL_ABSENT</a>;
+</pre>
+<p>substitution group exclusions are absent</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_SCHEMAS_ELEM_FIXED">Macro 
</a>XML_SCHEMAS_ELEM_FIXED</h3><pre class="programlisting">#define <a 
href="#XML_SCHEMAS_ELEM_FIXED">XML_SCHEMAS_ELEM_FIXED</a>;
-</pre><p>the element has a fixed value</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_SCHEMAS_ELEM_FINAL_EXTENSION">Macro </a>XML_SCHEMAS_ELEM_FINAL_EXTENSION</h3>
+<pre class="programlisting">#define <a 
href="#XML_SCHEMAS_ELEM_FINAL_EXTENSION">XML_SCHEMAS_ELEM_FINAL_EXTENSION</a>;
+</pre>
+<p>substitution group exclusions: "extension"</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_SCHEMAS_ELEM_GLOBAL">Macro 
</a>XML_SCHEMAS_ELEM_GLOBAL</h3><pre class="programlisting">#define <a 
href="#XML_SCHEMAS_ELEM_GLOBAL">XML_SCHEMAS_ELEM_GLOBAL</a>;
-</pre><p>the element is global</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_SCHEMAS_ELEM_FINAL_RESTRICTION">Macro </a>XML_SCHEMAS_ELEM_FINAL_RESTRICTION</h3>
+<pre class="programlisting">#define <a 
href="#XML_SCHEMAS_ELEM_FINAL_RESTRICTION">XML_SCHEMAS_ELEM_FINAL_RESTRICTION</a>;
+</pre>
+<p>substitution group exclusions: "restriction"</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_SCHEMAS_ELEM_INTERNAL_CHECKED">Macro 
</a>XML_SCHEMAS_ELEM_INTERNAL_CHECKED</h3><pre class="programlisting">#define <a 
href="#XML_SCHEMAS_ELEM_INTERNAL_CHECKED">XML_SCHEMAS_ELEM_INTERNAL_CHECKED</a>;
-</pre><p>this is set when the elem decl has been checked against all constraints</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_SCHEMAS_ELEM_FIXED">Macro </a>XML_SCHEMAS_ELEM_FIXED</h3>
+<pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_FIXED">XML_SCHEMAS_ELEM_FIXED</a>;
+</pre>
+<p>the element has a fixed value</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_SCHEMAS_ELEM_INTERNAL_RESOLVED">Macro 
</a>XML_SCHEMAS_ELEM_INTERNAL_RESOLVED</h3><pre class="programlisting">#define <a 
href="#XML_SCHEMAS_ELEM_INTERNAL_RESOLVED">XML_SCHEMAS_ELEM_INTERNAL_RESOLVED</a>;
-</pre><p>this is set when "type", "ref", "substitutionGroup" references have been resolved.</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_SCHEMAS_ELEM_GLOBAL">Macro </a>XML_SCHEMAS_ELEM_GLOBAL</h3>
+<pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_GLOBAL">XML_SCHEMAS_ELEM_GLOBAL</a>;
+</pre>
+<p>the element is global</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_SCHEMAS_ELEM_NILLABLE">Macro 
</a>XML_SCHEMAS_ELEM_NILLABLE</h3><pre class="programlisting">#define <a 
href="#XML_SCHEMAS_ELEM_NILLABLE">XML_SCHEMAS_ELEM_NILLABLE</a>;
-</pre><p>the element is nillable</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_SCHEMAS_ELEM_INTERNAL_CHECKED">Macro </a>XML_SCHEMAS_ELEM_INTERNAL_CHECKED</h3>
+<pre class="programlisting">#define <a 
href="#XML_SCHEMAS_ELEM_INTERNAL_CHECKED">XML_SCHEMAS_ELEM_INTERNAL_CHECKED</a>;
+</pre>
+<p>this is set when the elem decl has been checked against all constraints</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_SCHEMAS_ELEM_NSDEFAULT">Macro 
</a>XML_SCHEMAS_ELEM_NSDEFAULT</h3><pre class="programlisting">#define <a 
href="#XML_SCHEMAS_ELEM_NSDEFAULT">XML_SCHEMAS_ELEM_NSDEFAULT</a>;
-</pre><p>allow elements in no namespace Obsolete, not used anymore.</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_SCHEMAS_ELEM_INTERNAL_RESOLVED">Macro </a>XML_SCHEMAS_ELEM_INTERNAL_RESOLVED</h3>
+<pre class="programlisting">#define <a 
href="#XML_SCHEMAS_ELEM_INTERNAL_RESOLVED">XML_SCHEMAS_ELEM_INTERNAL_RESOLVED</a>;
+</pre>
+<p>this is set when "type", "ref", "substitutionGroup" references have been resolved.</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><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>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_SCHEMAS_ELEM_NILLABLE">Macro </a>XML_SCHEMAS_ELEM_NILLABLE</h3>
+<pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_NILLABLE">XML_SCHEMAS_ELEM_NILLABLE</a>;
+</pre>
+<p>the element is nillable</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_SCHEMAS_ELEM_SUBST_GROUP_HEAD">Macro 
</a>XML_SCHEMAS_ELEM_SUBST_GROUP_HEAD</h3><pre class="programlisting">#define <a 
href="#XML_SCHEMAS_ELEM_SUBST_GROUP_HEAD">XML_SCHEMAS_ELEM_SUBST_GROUP_HEAD</a>;
-</pre><p>the declaration is a substitution group head</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_SCHEMAS_ELEM_NSDEFAULT">Macro </a>XML_SCHEMAS_ELEM_NSDEFAULT</h3>
+<pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_NSDEFAULT">XML_SCHEMAS_ELEM_NSDEFAULT</a>;
+</pre>
+<p>allow elements in no namespace Obsolete, not used anymore.</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_SCHEMAS_ELEM_TOPLEVEL">Macro 
</a>XML_SCHEMAS_ELEM_TOPLEVEL</h3><pre class="programlisting">#define <a 
href="#XML_SCHEMAS_ELEM_TOPLEVEL">XML_SCHEMAS_ELEM_TOPLEVEL</a>;
-</pre><p>the element is top level obsolete: use <a 
href="libxml2-schemasInternals.html#XML_SCHEMAS_ELEM_GLOBAL">XML_SCHEMAS_ELEM_GLOBAL</a> instead</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_SCHEMAS_FACET_COLLAPSE">Macro 
</a>XML_SCHEMAS_FACET_COLLAPSE</h3><pre class="programlisting">#define <a 
href="#XML_SCHEMAS_FACET_COLLAPSE">XML_SCHEMAS_FACET_COLLAPSE</a>;
-</pre><p>collapse the types of the facet</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_SCHEMAS_ELEM_SUBST_GROUP_HEAD">Macro </a>XML_SCHEMAS_ELEM_SUBST_GROUP_HEAD</h3>
+<pre class="programlisting">#define <a 
href="#XML_SCHEMAS_ELEM_SUBST_GROUP_HEAD">XML_SCHEMAS_ELEM_SUBST_GROUP_HEAD</a>;
+</pre>
+<p>the declaration is a substitution group head</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_SCHEMAS_FACET_PRESERVE">Macro 
</a>XML_SCHEMAS_FACET_PRESERVE</h3><pre class="programlisting">#define <a 
href="#XML_SCHEMAS_FACET_PRESERVE">XML_SCHEMAS_FACET_PRESERVE</a>;
-</pre><p>preserve the type of the facet</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_SCHEMAS_ELEM_TOPLEVEL">Macro </a>XML_SCHEMAS_ELEM_TOPLEVEL</h3>
+<pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_TOPLEVEL">XML_SCHEMAS_ELEM_TOPLEVEL</a>;
+</pre>
+<p>the element is top level obsolete: use <a 
href="libxml2-schemasInternals.html#XML_SCHEMAS_ELEM_GLOBAL">XML_SCHEMAS_ELEM_GLOBAL</a> instead</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_SCHEMAS_FACET_REPLACE">Macro 
</a>XML_SCHEMAS_FACET_REPLACE</h3><pre class="programlisting">#define <a 
href="#XML_SCHEMAS_FACET_REPLACE">XML_SCHEMAS_FACET_REPLACE</a>;
-</pre><p>replace the type of the facet</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_SCHEMAS_FACET_COLLAPSE">Macro </a>XML_SCHEMAS_FACET_COLLAPSE</h3>
+<pre class="programlisting">#define <a href="#XML_SCHEMAS_FACET_COLLAPSE">XML_SCHEMAS_FACET_COLLAPSE</a>;
+</pre>
+<p>collapse the types of the facet</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_SCHEMAS_FACET_UNKNOWN">Macro 
</a>XML_SCHEMAS_FACET_UNKNOWN</h3><pre class="programlisting">#define <a 
href="#XML_SCHEMAS_FACET_UNKNOWN">XML_SCHEMAS_FACET_UNKNOWN</a>;
-</pre><p>unknown facet handling</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_SCHEMAS_FACET_PRESERVE">Macro </a>XML_SCHEMAS_FACET_PRESERVE</h3>
+<pre class="programlisting">#define <a href="#XML_SCHEMAS_FACET_PRESERVE">XML_SCHEMAS_FACET_PRESERVE</a>;
+</pre>
+<p>preserve the type of the facet</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_SCHEMAS_FINAL_DEFAULT_EXTENSION">Macro 
</a>XML_SCHEMAS_FINAL_DEFAULT_EXTENSION</h3><pre class="programlisting">#define <a 
href="#XML_SCHEMAS_FINAL_DEFAULT_EXTENSION">XML_SCHEMAS_FINAL_DEFAULT_EXTENSION</a>;
-</pre><p>the schema has "extension" in the set of finalDefault.</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_SCHEMAS_FACET_REPLACE">Macro </a>XML_SCHEMAS_FACET_REPLACE</h3>
+<pre class="programlisting">#define <a href="#XML_SCHEMAS_FACET_REPLACE">XML_SCHEMAS_FACET_REPLACE</a>;
+</pre>
+<p>replace the type of the facet</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_SCHEMAS_FINAL_DEFAULT_LIST">Macro 
</a>XML_SCHEMAS_FINAL_DEFAULT_LIST</h3><pre class="programlisting">#define <a 
href="#XML_SCHEMAS_FINAL_DEFAULT_LIST">XML_SCHEMAS_FINAL_DEFAULT_LIST</a>;
-</pre><p>the schema has "list" in the set of finalDefault.</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_SCHEMAS_FACET_UNKNOWN">Macro </a>XML_SCHEMAS_FACET_UNKNOWN</h3>
+<pre class="programlisting">#define <a href="#XML_SCHEMAS_FACET_UNKNOWN">XML_SCHEMAS_FACET_UNKNOWN</a>;
+</pre>
+<p>unknown facet handling</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION">Macro 
</a>XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION</h3><pre class="programlisting">#define <a 
href="#XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION">XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION</a>;
-</pre><p>the schema has "restriction" in the set of finalDefault.</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_SCHEMAS_FINAL_DEFAULT_EXTENSION">Macro </a>XML_SCHEMAS_FINAL_DEFAULT_EXTENSION</h3>
+<pre class="programlisting">#define <a 
href="#XML_SCHEMAS_FINAL_DEFAULT_EXTENSION">XML_SCHEMAS_FINAL_DEFAULT_EXTENSION</a>;
+</pre>
+<p>the schema has "extension" in the set of finalDefault.</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_SCHEMAS_FINAL_DEFAULT_UNION">Macro 
</a>XML_SCHEMAS_FINAL_DEFAULT_UNION</h3><pre class="programlisting">#define <a 
href="#XML_SCHEMAS_FINAL_DEFAULT_UNION">XML_SCHEMAS_FINAL_DEFAULT_UNION</a>;
-</pre><p>the schema has "union" in the set of finalDefault.</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_SCHEMAS_FINAL_DEFAULT_LIST">Macro </a>XML_SCHEMAS_FINAL_DEFAULT_LIST</h3>
+<pre class="programlisting">#define <a 
href="#XML_SCHEMAS_FINAL_DEFAULT_LIST">XML_SCHEMAS_FINAL_DEFAULT_LIST</a>;
+</pre>
+<p>the schema has "list" in the set of finalDefault.</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_SCHEMAS_INCLUDING_CONVERT_NS">Macro 
</a>XML_SCHEMAS_INCLUDING_CONVERT_NS</h3><pre class="programlisting">#define <a 
href="#XML_SCHEMAS_INCLUDING_CONVERT_NS">XML_SCHEMAS_INCLUDING_CONVERT_NS</a>;
-</pre><p>the schema is currently including an other schema with no target namespace.</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION">Macro </a>XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION</h3>
+<pre class="programlisting">#define <a 
href="#XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION">XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION</a>;
+</pre>
+<p>the schema has "restriction" in the set of finalDefault.</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_SCHEMAS_QUALIF_ATTR">Macro 
</a>XML_SCHEMAS_QUALIF_ATTR</h3><pre class="programlisting">#define <a 
href="#XML_SCHEMAS_QUALIF_ATTR">XML_SCHEMAS_QUALIF_ATTR</a>;
-</pre><p>Reflects attributeFormDefault == qualified in an XML schema document.</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_SCHEMAS_FINAL_DEFAULT_UNION">Macro </a>XML_SCHEMAS_FINAL_DEFAULT_UNION</h3>
+<pre class="programlisting">#define <a 
href="#XML_SCHEMAS_FINAL_DEFAULT_UNION">XML_SCHEMAS_FINAL_DEFAULT_UNION</a>;
+</pre>
+<p>the schema has "union" in the set of finalDefault.</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_SCHEMAS_QUALIF_ELEM">Macro 
</a>XML_SCHEMAS_QUALIF_ELEM</h3><pre class="programlisting">#define <a 
href="#XML_SCHEMAS_QUALIF_ELEM">XML_SCHEMAS_QUALIF_ELEM</a>;
-</pre><p>Reflects elementFormDefault == qualified in an XML schema document.</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_SCHEMAS_INCLUDING_CONVERT_NS">Macro </a>XML_SCHEMAS_INCLUDING_CONVERT_NS</h3>
+<pre class="programlisting">#define <a 
href="#XML_SCHEMAS_INCLUDING_CONVERT_NS">XML_SCHEMAS_INCLUDING_CONVERT_NS</a>;
+</pre>
+<p>the schema is currently including an other schema with no target namespace.</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_SCHEMAS_TYPE_ABSTRACT">Macro 
</a>XML_SCHEMAS_TYPE_ABSTRACT</h3><pre class="programlisting">#define <a 
href="#XML_SCHEMAS_TYPE_ABSTRACT">XML_SCHEMAS_TYPE_ABSTRACT</a>;
-</pre><p>the simple/complexType is abstract.</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_SCHEMAS_QUALIF_ATTR">Macro </a>XML_SCHEMAS_QUALIF_ATTR</h3>
+<pre class="programlisting">#define <a href="#XML_SCHEMAS_QUALIF_ATTR">XML_SCHEMAS_QUALIF_ATTR</a>;
+</pre>
+<p>Reflects attributeFormDefault == qualified in an XML schema document.</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_SCHEMAS_TYPE_BLOCK_DEFAULT">Macro 
</a>XML_SCHEMAS_TYPE_BLOCK_DEFAULT</h3><pre class="programlisting">#define <a 
href="#XML_SCHEMAS_TYPE_BLOCK_DEFAULT">XML_SCHEMAS_TYPE_BLOCK_DEFAULT</a>;
-</pre><p>the complexType did not specify 'block' so use the default of the &lt;schema&gt; item.</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_SCHEMAS_QUALIF_ELEM">Macro </a>XML_SCHEMAS_QUALIF_ELEM</h3>
+<pre class="programlisting">#define <a href="#XML_SCHEMAS_QUALIF_ELEM">XML_SCHEMAS_QUALIF_ELEM</a>;
+</pre>
+<p>Reflects elementFormDefault == qualified in an XML schema document.</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_SCHEMAS_TYPE_BLOCK_EXTENSION">Macro 
</a>XML_SCHEMAS_TYPE_BLOCK_EXTENSION</h3><pre class="programlisting">#define <a 
href="#XML_SCHEMAS_TYPE_BLOCK_EXTENSION">XML_SCHEMAS_TYPE_BLOCK_EXTENSION</a>;
-</pre><p>the complexType has a 'block' of "extension".</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_SCHEMAS_TYPE_ABSTRACT">Macro </a>XML_SCHEMAS_TYPE_ABSTRACT</h3>
+<pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_ABSTRACT">XML_SCHEMAS_TYPE_ABSTRACT</a>;
+</pre>
+<p>the simple/complexType is abstract.</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_SCHEMAS_TYPE_BLOCK_RESTRICTION">Macro 
</a>XML_SCHEMAS_TYPE_BLOCK_RESTRICTION</h3><pre class="programlisting">#define <a 
href="#XML_SCHEMAS_TYPE_BLOCK_RESTRICTION">XML_SCHEMAS_TYPE_BLOCK_RESTRICTION</a>;
-</pre><p>the complexType has a 'block' of "restriction".</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_SCHEMAS_TYPE_BLOCK_DEFAULT">Macro </a>XML_SCHEMAS_TYPE_BLOCK_DEFAULT</h3>
+<pre class="programlisting">#define <a 
href="#XML_SCHEMAS_TYPE_BLOCK_DEFAULT">XML_SCHEMAS_TYPE_BLOCK_DEFAULT</a>;
+</pre>
+<p>the complexType did not specify 'block' so use the default of the &lt;schema&gt; item.</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_SCHEMAS_TYPE_BUILTIN_PRIMITIVE">Macro 
</a>XML_SCHEMAS_TYPE_BUILTIN_PRIMITIVE</h3><pre class="programlisting">#define <a 
href="#XML_SCHEMAS_TYPE_BUILTIN_PRIMITIVE">XML_SCHEMAS_TYPE_BUILTIN_PRIMITIVE</a>;
-</pre><p>Marks the item as a builtin primitive.</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_SCHEMAS_TYPE_BLOCK_EXTENSION">Macro </a>XML_SCHEMAS_TYPE_BLOCK_EXTENSION</h3>
+<pre class="programlisting">#define <a 
href="#XML_SCHEMAS_TYPE_BLOCK_EXTENSION">XML_SCHEMAS_TYPE_BLOCK_EXTENSION</a>;
+</pre>
+<p>the complexType has a 'block' of "extension".</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION">Macro 
</a>XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION</h3><pre class="programlisting">#define <a 
href="#XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION">XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION</a>;
-</pre><p>the simple or complex type has a derivation method of "extension".</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_SCHEMAS_TYPE_BLOCK_RESTRICTION">Macro </a>XML_SCHEMAS_TYPE_BLOCK_RESTRICTION</h3>
+<pre class="programlisting">#define <a 
href="#XML_SCHEMAS_TYPE_BLOCK_RESTRICTION">XML_SCHEMAS_TYPE_BLOCK_RESTRICTION</a>;
+</pre>
+<p>the complexType has a 'block' of "restriction".</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION">Macro 
</a>XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION</h3><pre class="programlisting">#define <a 
href="#XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION">XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION</a>;
-</pre><p>the simple or complex type has a derivation method of "restriction".</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_SCHEMAS_TYPE_BUILTIN_PRIMITIVE">Macro </a>XML_SCHEMAS_TYPE_BUILTIN_PRIMITIVE</h3>
+<pre class="programlisting">#define <a 
href="#XML_SCHEMAS_TYPE_BUILTIN_PRIMITIVE">XML_SCHEMAS_TYPE_BUILTIN_PRIMITIVE</a>;
+</pre>
+<p>Marks the item as a builtin primitive.</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_SCHEMAS_TYPE_FACETSNEEDVALUE">Macro 
</a>XML_SCHEMAS_TYPE_FACETSNEEDVALUE</h3><pre class="programlisting">#define <a 
href="#XML_SCHEMAS_TYPE_FACETSNEEDVALUE">XML_SCHEMAS_TYPE_FACETSNEEDVALUE</a>;
-</pre><p>indicates if the facets need a computed value</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION">Macro 
</a>XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION</h3>
+<pre class="programlisting">#define <a 
href="#XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION">XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION</a>;
+</pre>
+<p>the simple or complex type has a derivation method of "extension".</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_SCHEMAS_TYPE_FINAL_DEFAULT">Macro 
</a>XML_SCHEMAS_TYPE_FINAL_DEFAULT</h3><pre class="programlisting">#define <a 
href="#XML_SCHEMAS_TYPE_FINAL_DEFAULT">XML_SCHEMAS_TYPE_FINAL_DEFAULT</a>;
-</pre><p>the simpleType has a final of "default".</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION">Macro 
</a>XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION</h3>
+<pre class="programlisting">#define <a 
href="#XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION">XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION</a>;
+</pre>
+<p>the simple or complex type has a derivation method of "restriction".</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_SCHEMAS_TYPE_FINAL_EXTENSION">Macro 
</a>XML_SCHEMAS_TYPE_FINAL_EXTENSION</h3><pre class="programlisting">#define <a 
href="#XML_SCHEMAS_TYPE_FINAL_EXTENSION">XML_SCHEMAS_TYPE_FINAL_EXTENSION</a>;
-</pre><p>the complexType has a final of "extension".</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_SCHEMAS_TYPE_FACETSNEEDVALUE">Macro </a>XML_SCHEMAS_TYPE_FACETSNEEDVALUE</h3>
+<pre class="programlisting">#define <a 
href="#XML_SCHEMAS_TYPE_FACETSNEEDVALUE">XML_SCHEMAS_TYPE_FACETSNEEDVALUE</a>;
+</pre>
+<p>indicates if the facets need a computed value</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_SCHEMAS_TYPE_FINAL_LIST">Macro 
</a>XML_SCHEMAS_TYPE_FINAL_LIST</h3><pre class="programlisting">#define <a 
href="#XML_SCHEMAS_TYPE_FINAL_LIST">XML_SCHEMAS_TYPE_FINAL_LIST</a>;
-</pre><p>the simpleType has a final of "list".</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_SCHEMAS_TYPE_FINAL_DEFAULT">Macro </a>XML_SCHEMAS_TYPE_FINAL_DEFAULT</h3>
+<pre class="programlisting">#define <a 
href="#XML_SCHEMAS_TYPE_FINAL_DEFAULT">XML_SCHEMAS_TYPE_FINAL_DEFAULT</a>;
+</pre>
+<p>the simpleType has a final of "default".</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_SCHEMAS_TYPE_FINAL_RESTRICTION">Macro 
</a>XML_SCHEMAS_TYPE_FINAL_RESTRICTION</h3><pre class="programlisting">#define <a 
href="#XML_SCHEMAS_TYPE_FINAL_RESTRICTION">XML_SCHEMAS_TYPE_FINAL_RESTRICTION</a>;
-</pre><p>the simpleType/complexType has a final of "restriction".</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_SCHEMAS_TYPE_FINAL_EXTENSION">Macro </a>XML_SCHEMAS_TYPE_FINAL_EXTENSION</h3>
+<pre class="programlisting">#define <a 
href="#XML_SCHEMAS_TYPE_FINAL_EXTENSION">XML_SCHEMAS_TYPE_FINAL_EXTENSION</a>;
+</pre>
+<p>the complexType has a final of "extension".</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_SCHEMAS_TYPE_FINAL_UNION">Macro 
</a>XML_SCHEMAS_TYPE_FINAL_UNION</h3><pre class="programlisting">#define <a 
href="#XML_SCHEMAS_TYPE_FINAL_UNION">XML_SCHEMAS_TYPE_FINAL_UNION</a>;
-</pre><p>the simpleType has a final of "union".</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_SCHEMAS_TYPE_FINAL_LIST">Macro </a>XML_SCHEMAS_TYPE_FINAL_LIST</h3>
+<pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_FINAL_LIST">XML_SCHEMAS_TYPE_FINAL_LIST</a>;
+</pre>
+<p>the simpleType has a final of "list".</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_SCHEMAS_TYPE_FIXUP_1">Macro 
</a>XML_SCHEMAS_TYPE_FIXUP_1</h3><pre class="programlisting">#define <a 
href="#XML_SCHEMAS_TYPE_FIXUP_1">XML_SCHEMAS_TYPE_FIXUP_1</a>;
-</pre><p>First stage of fixup was done.</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_SCHEMAS_TYPE_FINAL_RESTRICTION">Macro </a>XML_SCHEMAS_TYPE_FINAL_RESTRICTION</h3>
+<pre class="programlisting">#define <a 
href="#XML_SCHEMAS_TYPE_FINAL_RESTRICTION">XML_SCHEMAS_TYPE_FINAL_RESTRICTION</a>;
+</pre>
+<p>the simpleType/complexType has a final of "restriction".</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_SCHEMAS_TYPE_GLOBAL">Macro 
</a>XML_SCHEMAS_TYPE_GLOBAL</h3><pre class="programlisting">#define <a 
href="#XML_SCHEMAS_TYPE_GLOBAL">XML_SCHEMAS_TYPE_GLOBAL</a>;
-</pre><p>the type is global</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_SCHEMAS_TYPE_FINAL_UNION">Macro </a>XML_SCHEMAS_TYPE_FINAL_UNION</h3>
+<pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_FINAL_UNION">XML_SCHEMAS_TYPE_FINAL_UNION</a>;
+</pre>
+<p>the simpleType has a final of "union".</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_SCHEMAS_TYPE_HAS_FACETS">Macro 
</a>XML_SCHEMAS_TYPE_HAS_FACETS</h3><pre class="programlisting">#define <a 
href="#XML_SCHEMAS_TYPE_HAS_FACETS">XML_SCHEMAS_TYPE_HAS_FACETS</a>;
-</pre><p>has facets</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_SCHEMAS_TYPE_FIXUP_1">Macro </a>XML_SCHEMAS_TYPE_FIXUP_1</h3>
+<pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_FIXUP_1">XML_SCHEMAS_TYPE_FIXUP_1</a>;
+</pre>
+<p>First stage of fixup was done.</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_SCHEMAS_TYPE_INTERNAL_INVALID">Macro 
</a>XML_SCHEMAS_TYPE_INTERNAL_INVALID</h3><pre class="programlisting">#define <a 
href="#XML_SCHEMAS_TYPE_INTERNAL_INVALID">XML_SCHEMAS_TYPE_INTERNAL_INVALID</a>;
-</pre><p>indicates that the type is invalid</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_SCHEMAS_TYPE_GLOBAL">Macro </a>XML_SCHEMAS_TYPE_GLOBAL</h3>
+<pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_GLOBAL">XML_SCHEMAS_TYPE_GLOBAL</a>;
+</pre>
+<p>the type is global</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_SCHEMAS_TYPE_INTERNAL_RESOLVED">Macro 
</a>XML_SCHEMAS_TYPE_INTERNAL_RESOLVED</h3><pre class="programlisting">#define <a 
href="#XML_SCHEMAS_TYPE_INTERNAL_RESOLVED">XML_SCHEMAS_TYPE_INTERNAL_RESOLVED</a>;
-</pre><p>indicates that the type was typefixed</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_SCHEMAS_TYPE_HAS_FACETS">Macro </a>XML_SCHEMAS_TYPE_HAS_FACETS</h3>
+<pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_HAS_FACETS">XML_SCHEMAS_TYPE_HAS_FACETS</a>;
+</pre>
+<p>has facets</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_SCHEMAS_TYPE_MARKED">Macro 
</a>XML_SCHEMAS_TYPE_MARKED</h3><pre class="programlisting">#define <a 
href="#XML_SCHEMAS_TYPE_MARKED">XML_SCHEMAS_TYPE_MARKED</a>;
-</pre><p>Marks the item as marked; used for circular checks.</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_SCHEMAS_TYPE_INTERNAL_INVALID">Macro </a>XML_SCHEMAS_TYPE_INTERNAL_INVALID</h3>
+<pre class="programlisting">#define <a 
href="#XML_SCHEMAS_TYPE_INTERNAL_INVALID">XML_SCHEMAS_TYPE_INTERNAL_INVALID</a>;
+</pre>
+<p>indicates that the type is invalid</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_SCHEMAS_TYPE_MIXED">Macro 
</a>XML_SCHEMAS_TYPE_MIXED</h3><pre class="programlisting">#define <a 
href="#XML_SCHEMAS_TYPE_MIXED">XML_SCHEMAS_TYPE_MIXED</a>;
-</pre><p>the element content type is mixed</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_SCHEMAS_TYPE_INTERNAL_RESOLVED">Macro </a>XML_SCHEMAS_TYPE_INTERNAL_RESOLVED</h3>
+<pre class="programlisting">#define <a 
href="#XML_SCHEMAS_TYPE_INTERNAL_RESOLVED">XML_SCHEMAS_TYPE_INTERNAL_RESOLVED</a>;
+</pre>
+<p>indicates that the type was typefixed</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_SCHEMAS_TYPE_NORMVALUENEEDED">Macro 
</a>XML_SCHEMAS_TYPE_NORMVALUENEEDED</h3><pre class="programlisting">#define <a 
href="#XML_SCHEMAS_TYPE_NORMVALUENEEDED">XML_SCHEMAS_TYPE_NORMVALUENEEDED</a>;
-</pre><p>indicates if the facets (pattern) need a normalized value</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_SCHEMAS_TYPE_MARKED">Macro </a>XML_SCHEMAS_TYPE_MARKED</h3>
+<pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_MARKED">XML_SCHEMAS_TYPE_MARKED</a>;
+</pre>
+<p>Marks the item as marked; used for circular checks.</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_SCHEMAS_TYPE_MIXED">Macro </a>XML_SCHEMAS_TYPE_MIXED</h3>
+<pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_MIXED">XML_SCHEMAS_TYPE_MIXED</a>;
+</pre>
+<p>the element content type is mixed</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><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>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_SCHEMAS_TYPE_NORMVALUENEEDED">Macro </a>XML_SCHEMAS_TYPE_NORMVALUENEEDED</h3>
+<pre class="programlisting">#define <a 
href="#XML_SCHEMAS_TYPE_NORMVALUENEEDED">XML_SCHEMAS_TYPE_NORMVALUENEEDED</a>;
+</pre>
+<p>indicates if the facets (pattern) need a normalized value</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_SCHEMAS_TYPE_REDEFINED">Macro 
</a>XML_SCHEMAS_TYPE_REDEFINED</h3><pre class="programlisting">#define <a 
href="#XML_SCHEMAS_TYPE_REDEFINED">XML_SCHEMAS_TYPE_REDEFINED</a>;
-</pre><p>The type was redefined.</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_SCHEMAS_TYPE_REDEFINED">Macro </a>XML_SCHEMAS_TYPE_REDEFINED</h3>
+<pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_REDEFINED">XML_SCHEMAS_TYPE_REDEFINED</a>;
+</pre>
+<p>The type was redefined.</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_SCHEMAS_TYPE_VARIETY_ABSENT">Macro 
</a>XML_SCHEMAS_TYPE_VARIETY_ABSENT</h3><pre class="programlisting">#define <a 
href="#XML_SCHEMAS_TYPE_VARIETY_ABSENT">XML_SCHEMAS_TYPE_VARIETY_ABSENT</a>;
-</pre><p>the simpleType has a variety of "absent". TODO: Actually not necessary :-/, since if none of the 
variety flags occur then it's automatically absent.</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_SCHEMAS_TYPE_VARIETY_ABSENT">Macro </a>XML_SCHEMAS_TYPE_VARIETY_ABSENT</h3>
+<pre class="programlisting">#define <a 
href="#XML_SCHEMAS_TYPE_VARIETY_ABSENT">XML_SCHEMAS_TYPE_VARIETY_ABSENT</a>;
+</pre>
+<p>the simpleType has a variety of "absent". TODO: Actually not necessary :-/, since if none of the variety 
flags occur then it's automatically absent.</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_SCHEMAS_TYPE_VARIETY_ATOMIC">Macro 
</a>XML_SCHEMAS_TYPE_VARIETY_ATOMIC</h3><pre class="programlisting">#define <a 
href="#XML_SCHEMAS_TYPE_VARIETY_ATOMIC">XML_SCHEMAS_TYPE_VARIETY_ATOMIC</a>;
-</pre><p>the simpleType has a variety of "union".</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_SCHEMAS_TYPE_VARIETY_ATOMIC">Macro </a>XML_SCHEMAS_TYPE_VARIETY_ATOMIC</h3>
+<pre class="programlisting">#define <a 
href="#XML_SCHEMAS_TYPE_VARIETY_ATOMIC">XML_SCHEMAS_TYPE_VARIETY_ATOMIC</a>;
+</pre>
+<p>the simpleType has a variety of "union".</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_SCHEMAS_TYPE_VARIETY_LIST">Macro 
</a>XML_SCHEMAS_TYPE_VARIETY_LIST</h3><pre class="programlisting">#define <a 
href="#XML_SCHEMAS_TYPE_VARIETY_LIST">XML_SCHEMAS_TYPE_VARIETY_LIST</a>;
-</pre><p>the simpleType has a variety of "list".</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_SCHEMAS_TYPE_VARIETY_LIST">Macro </a>XML_SCHEMAS_TYPE_VARIETY_LIST</h3>
+<pre class="programlisting">#define <a 
href="#XML_SCHEMAS_TYPE_VARIETY_LIST">XML_SCHEMAS_TYPE_VARIETY_LIST</a>;
+</pre>
+<p>the simpleType has a variety of "list".</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_SCHEMAS_TYPE_VARIETY_UNION">Macro 
</a>XML_SCHEMAS_TYPE_VARIETY_UNION</h3><pre class="programlisting">#define <a 
href="#XML_SCHEMAS_TYPE_VARIETY_UNION">XML_SCHEMAS_TYPE_VARIETY_UNION</a>;
-</pre><p>the simpleType has a variety of "union".</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_SCHEMAS_TYPE_VARIETY_UNION">Macro </a>XML_SCHEMAS_TYPE_VARIETY_UNION</h3>
+<pre class="programlisting">#define <a 
href="#XML_SCHEMAS_TYPE_VARIETY_UNION">XML_SCHEMAS_TYPE_VARIETY_UNION</a>;
+</pre>
+<p>the simpleType has a variety of "union".</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_SCHEMAS_TYPE_WHITESPACE_COLLAPSE">Macro 
</a>XML_SCHEMAS_TYPE_WHITESPACE_COLLAPSE</h3><pre class="programlisting">#define <a 
href="#XML_SCHEMAS_TYPE_WHITESPACE_COLLAPSE">XML_SCHEMAS_TYPE_WHITESPACE_COLLAPSE</a>;
-</pre><p>a whitespace-facet value of "collapse"</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_SCHEMAS_TYPE_WHITESPACE_COLLAPSE">Macro </a>XML_SCHEMAS_TYPE_WHITESPACE_COLLAPSE</h3>
+<pre class="programlisting">#define <a 
href="#XML_SCHEMAS_TYPE_WHITESPACE_COLLAPSE">XML_SCHEMAS_TYPE_WHITESPACE_COLLAPSE</a>;
+</pre>
+<p>a whitespace-facet value of "collapse"</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_SCHEMAS_TYPE_WHITESPACE_PRESERVE">Macro 
</a>XML_SCHEMAS_TYPE_WHITESPACE_PRESERVE</h3><pre class="programlisting">#define <a 
href="#XML_SCHEMAS_TYPE_WHITESPACE_PRESERVE">XML_SCHEMAS_TYPE_WHITESPACE_PRESERVE</a>;
-</pre><p>a whitespace-facet value of "preserve"</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_SCHEMAS_TYPE_WHITESPACE_PRESERVE">Macro </a>XML_SCHEMAS_TYPE_WHITESPACE_PRESERVE</h3>
+<pre class="programlisting">#define <a 
href="#XML_SCHEMAS_TYPE_WHITESPACE_PRESERVE">XML_SCHEMAS_TYPE_WHITESPACE_PRESERVE</a>;
+</pre>
+<p>a whitespace-facet value of "preserve"</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_SCHEMAS_TYPE_WHITESPACE_REPLACE">Macro 
</a>XML_SCHEMAS_TYPE_WHITESPACE_REPLACE</h3><pre class="programlisting">#define <a 
href="#XML_SCHEMAS_TYPE_WHITESPACE_REPLACE">XML_SCHEMAS_TYPE_WHITESPACE_REPLACE</a>;
-</pre><p>a whitespace-facet value of "replace"</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_SCHEMAS_TYPE_WHITESPACE_REPLACE">Macro </a>XML_SCHEMAS_TYPE_WHITESPACE_REPLACE</h3>
+<pre class="programlisting">#define <a 
href="#XML_SCHEMAS_TYPE_WHITESPACE_REPLACE">XML_SCHEMAS_TYPE_WHITESPACE_REPLACE</a>;
+</pre>
+<p>a whitespace-facet value of "replace"</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_SCHEMAS_WILDCARD_COMPLETE">Macro 
</a>XML_SCHEMAS_WILDCARD_COMPLETE</h3><pre class="programlisting">#define <a 
href="#XML_SCHEMAS_WILDCARD_COMPLETE">XML_SCHEMAS_WILDCARD_COMPLETE</a>;
-</pre><p>If the wildcard is complete.</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_SCHEMAS_WILDCARD_COMPLETE">Macro </a>XML_SCHEMAS_WILDCARD_COMPLETE</h3>
+<pre class="programlisting">#define <a 
href="#XML_SCHEMAS_WILDCARD_COMPLETE">XML_SCHEMAS_WILDCARD_COMPLETE</a>;
+</pre>
+<p>If the wildcard is complete.</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaAnnot">Structure </a>xmlSchemaAnnot</h3><pre 
class="programlisting">struct _xmlSchemaAnnot {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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
 } xmlSchemaAnnot;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaAnnotPtr">Typedef 
</a>xmlSchemaAnnotPtr</h3><pre class="programlisting"><a 
href="libxml2-schemasInternals.html#xmlSchemaAnnot">xmlSchemaAnnot</a> * xmlSchemaAnnotPtr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaAnnotPtr">Typedef </a>xmlSchemaAnnotPtr</h3>
+<pre class="programlisting"><a href="libxml2-schemasInternals.html#xmlSchemaAnnot">xmlSchemaAnnot</a> * 
xmlSchemaAnnotPtr;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaAttribute">Structure 
</a>xmlSchemaAttribute</h3><pre class="programlisting">struct _xmlSchemaAttribute {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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
@@ -524,10 +840,14 @@ void      <a href="#xmlSchemaFreeWildcard">xmlSchemaFreeWildcard</a>              (<a 
href="libxm
     <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
 } xmlSchemaAttribute;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaAttributeGroup">Structure 
</a>xmlSchemaAttributeGroup</h3><pre class="programlisting">struct _xmlSchemaAttributeGroup {
+<hr>
+<div class="refsect2" lang="en">
+<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 ...
     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *       name
@@ -544,29 +864,49 @@ void      <a href="#xmlSchemaFreeWildcard">xmlSchemaFreeWildcard</a>              (<a 
href="libxm
     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *       targetNamespace
     void *     attrUses
 } xmlSchemaAttributeGroup;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaAttributeGroupPtr">Typedef 
</a>xmlSchemaAttributeGroupPtr</h3><pre class="programlisting"><a 
href="libxml2-schemasInternals.html#xmlSchemaAttributeGroup">xmlSchemaAttributeGroup</a> * 
xmlSchemaAttributeGroupPtr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaAttributeGroupPtr">Typedef </a>xmlSchemaAttributeGroupPtr</h3>
+<pre class="programlisting"><a 
href="libxml2-schemasInternals.html#xmlSchemaAttributeGroup">xmlSchemaAttributeGroup</a> * 
xmlSchemaAttributeGroupPtr;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaAttributeLink">Structure 
</a>xmlSchemaAttributeLink</h3><pre class="programlisting">struct _xmlSchemaAttributeLink {
+<hr>
+<div class="refsect2" lang="en">
+<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>
 } xmlSchemaAttributeLink;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaAttributeLinkPtr">Typedef 
</a>xmlSchemaAttributeLinkPtr</h3><pre class="programlisting"><a 
href="libxml2-schemasInternals.html#xmlSchemaAttributeLink">xmlSchemaAttributeLink</a> * 
xmlSchemaAttributeLinkPtr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaAttributeLinkPtr">Typedef </a>xmlSchemaAttributeLinkPtr</h3>
+<pre class="programlisting"><a 
href="libxml2-schemasInternals.html#xmlSchemaAttributeLink">xmlSchemaAttributeLink</a> * 
xmlSchemaAttributeLinkPtr;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaAttributePtr">Typedef 
</a>xmlSchemaAttributePtr</h3><pre class="programlisting"><a 
href="libxml2-schemasInternals.html#xmlSchemaAttribute">xmlSchemaAttribute</a> * xmlSchemaAttributePtr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaAttributePtr">Typedef </a>xmlSchemaAttributePtr</h3>
+<pre class="programlisting"><a 
href="libxml2-schemasInternals.html#xmlSchemaAttribute">xmlSchemaAttribute</a> * xmlSchemaAttributePtr;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaContentType">Enum 
</a>xmlSchemaContentType</h3><pre class="programlisting">enum <a 
href="#xmlSchemaContentType">xmlSchemaContentType</a> {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaContentType">Enum </a>xmlSchemaContentType</h3>
+<pre class="programlisting">enum <a href="#xmlSchemaContentType">xmlSchemaContentType</a> {
     <a name="XML_SCHEMA_CONTENT_UNKNOWN">XML_SCHEMA_CONTENT_UNKNOWN</a> = 0
     <a name="XML_SCHEMA_CONTENT_EMPTY">XML_SCHEMA_CONTENT_EMPTY</a> = 1
     <a name="XML_SCHEMA_CONTENT_ELEMENTS">XML_SCHEMA_CONTENT_ELEMENTS</a> = 2
@@ -576,10 +916,14 @@ void      <a href="#xmlSchemaFreeWildcard">xmlSchemaFreeWildcard</a>              (<a 
href="libxm
     <a name="XML_SCHEMA_CONTENT_BASIC">XML_SCHEMA_CONTENT_BASIC</a> = 6
     <a name="XML_SCHEMA_CONTENT_ANY">XML_SCHEMA_CONTENT_ANY</a> = 7
 };
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaElement">Structure 
</a>xmlSchemaElement</h3><pre class="programlisting">struct _xmlSchemaElement {
+<hr>
+<div class="refsect2" lang="en">
+<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?
     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *       name
@@ -607,14 +951,22 @@ void      <a href="#xmlSchemaFreeWildcard">xmlSchemaFreeWildcard</a>              (<a 
href="libxm
     <a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a>        defVal  : The 
compiled value constraint.
     void *     idcs    : The identity-constraint defs
 } xmlSchemaElement;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaElementPtr">Typedef 
</a>xmlSchemaElementPtr</h3><pre class="programlisting"><a 
href="libxml2-schemasInternals.html#xmlSchemaElement">xmlSchemaElement</a> * xmlSchemaElementPtr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaElementPtr">Typedef </a>xmlSchemaElementPtr</h3>
+<pre class="programlisting"><a href="libxml2-schemasInternals.html#xmlSchemaElement">xmlSchemaElement</a> * 
xmlSchemaElementPtr;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaFacet">Structure </a>xmlSchemaFacet</h3><pre 
class="programlisting">struct _xmlSchemaFacet {
+<hr>
+<div class="refsect2" lang="en">
+<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
@@ -626,39 +978,63 @@ void      <a href="#xmlSchemaFreeWildcard">xmlSchemaFreeWildcard</a>              (<a 
href="libxm
     <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
 } xmlSchemaFacet;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaFacetLink">Structure 
</a>xmlSchemaFacetLink</h3><pre class="programlisting">struct _xmlSchemaFacetLink {
+<hr>
+<div class="refsect2" lang="en">
+<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
 } xmlSchemaFacetLink;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaFacetLinkPtr">Typedef 
</a>xmlSchemaFacetLinkPtr</h3><pre class="programlisting"><a 
href="libxml2-schemasInternals.html#xmlSchemaFacetLink">xmlSchemaFacetLink</a> * xmlSchemaFacetLinkPtr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaFacetLinkPtr">Typedef </a>xmlSchemaFacetLinkPtr</h3>
+<pre class="programlisting"><a 
href="libxml2-schemasInternals.html#xmlSchemaFacetLink">xmlSchemaFacetLink</a> * xmlSchemaFacetLinkPtr;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaFacetPtr">Typedef 
</a>xmlSchemaFacetPtr</h3><pre class="programlisting"><a 
href="libxml2-schemasInternals.html#xmlSchemaFacet">xmlSchemaFacet</a> * xmlSchemaFacetPtr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaFacetPtr">Typedef </a>xmlSchemaFacetPtr</h3>
+<pre class="programlisting"><a href="libxml2-schemasInternals.html#xmlSchemaFacet">xmlSchemaFacet</a> * 
xmlSchemaFacetPtr;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaNotation">Structure 
</a>xmlSchemaNotation</h3><pre class="programlisting">struct _xmlSchemaNotation {
+<hr>
+<div class="refsect2" lang="en">
+<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
     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
     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *       targetNamespace
 } xmlSchemaNotation;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaNotationPtr">Typedef 
</a>xmlSchemaNotationPtr</h3><pre class="programlisting"><a 
href="libxml2-schemasInternals.html#xmlSchemaNotation">xmlSchemaNotation</a> * xmlSchemaNotationPtr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaNotationPtr">Typedef </a>xmlSchemaNotationPtr</h3>
+<pre class="programlisting"><a href="libxml2-schemasInternals.html#xmlSchemaNotation">xmlSchemaNotation</a> 
* xmlSchemaNotationPtr;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaType">Structure </a>xmlSchemaType</h3><pre 
class="programlisting">struct _xmlSchemaType {
+<hr>
+<div class="refsect2" lang="en">
+<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 ...
     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *       name
@@ -690,25 +1066,41 @@ void     <a href="#xmlSchemaFreeWildcard">xmlSchemaFreeWildcard</a>              (<a 
href="libxm
     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *       targetNamespace
     void *     attrUses
 } xmlSchemaType;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaTypeLink">Structure 
</a>xmlSchemaTypeLink</h3><pre class="programlisting">struct _xmlSchemaTypeLink {
+<hr>
+<div class="refsect2" lang="en">
+<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
 } xmlSchemaTypeLink;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaTypeLinkPtr">Typedef 
</a>xmlSchemaTypeLinkPtr</h3><pre class="programlisting"><a 
href="libxml2-schemasInternals.html#xmlSchemaTypeLink">xmlSchemaTypeLink</a> * xmlSchemaTypeLinkPtr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaTypeLinkPtr">Typedef </a>xmlSchemaTypeLinkPtr</h3>
+<pre class="programlisting"><a href="libxml2-schemasInternals.html#xmlSchemaTypeLink">xmlSchemaTypeLink</a> 
* xmlSchemaTypeLinkPtr;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaTypePtr">Typedef </a>xmlSchemaTypePtr</h3><pre 
class="programlisting"><a href="libxml2-schemasInternals.html#xmlSchemaType">xmlSchemaType</a> * 
xmlSchemaTypePtr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaTypePtr">Typedef </a>xmlSchemaTypePtr</h3>
+<pre class="programlisting"><a href="libxml2-schemasInternals.html#xmlSchemaType">xmlSchemaType</a> * 
xmlSchemaTypePtr;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaTypeType">Enum </a>xmlSchemaTypeType</h3><pre 
class="programlisting">enum <a href="#xmlSchemaTypeType">xmlSchemaTypeType</a> {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaTypeType">Enum </a>xmlSchemaTypeType</h3>
+<pre class="programlisting">enum <a href="#xmlSchemaTypeType">xmlSchemaTypeType</a> {
     <a name="XML_SCHEMA_TYPE_BASIC">XML_SCHEMA_TYPE_BASIC</a> = 1 /* A built-in datatype */
     <a name="XML_SCHEMA_TYPE_ANY">XML_SCHEMA_TYPE_ANY</a> = 2
     <a name="XML_SCHEMA_TYPE_FACET">XML_SCHEMA_TYPE_FACET</a> = 3
@@ -750,20 +1142,32 @@ void     <a href="#xmlSchemaFreeWildcard">xmlSchemaFreeWildcard</a>              (<a 
href="libxm
     <a name="XML_SCHEMA_EXTRA_QNAMEREF">XML_SCHEMA_EXTRA_QNAMEREF</a> = 2000
     <a name="XML_SCHEMA_EXTRA_ATTR_USE_PROHIB">XML_SCHEMA_EXTRA_ATTR_USE_PROHIB</a> = 2001
 };
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaVal">Structure </a>xmlSchemaVal</h3><pre 
class="programlisting">struct _xmlSchemaVal {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaVal">Structure </a>xmlSchemaVal</h3>
+<pre class="programlisting">struct _xmlSchemaVal {
 The content of this structure is not made public by the API.
 } xmlSchemaVal;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaValPtr">Typedef </a>xmlSchemaValPtr</h3><pre 
class="programlisting"><a href="libxml2-schemasInternals.html#xmlSchemaVal">xmlSchemaVal</a> * 
xmlSchemaValPtr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaValPtr">Typedef </a>xmlSchemaValPtr</h3>
+<pre class="programlisting"><a href="libxml2-schemasInternals.html#xmlSchemaVal">xmlSchemaVal</a> * 
xmlSchemaValPtr;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaValType">Enum </a>xmlSchemaValType</h3><pre 
class="programlisting">enum <a href="#xmlSchemaValType">xmlSchemaValType</a> {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaValType">Enum </a>xmlSchemaValType</h3>
+<pre class="programlisting">enum <a href="#xmlSchemaValType">xmlSchemaValType</a> {
     <a name="XML_SCHEMAS_UNKNOWN">XML_SCHEMAS_UNKNOWN</a> = 0
     <a name="XML_SCHEMAS_STRING">XML_SCHEMAS_STRING</a> = 1
     <a name="XML_SCHEMAS_NORMSTRING">XML_SCHEMAS_NORMSTRING</a> = 2
@@ -812,10 +1216,14 @@ The content of this structure is not made public by the API.
     <a name="XML_SCHEMAS_ANYTYPE">XML_SCHEMAS_ANYTYPE</a> = 45
     <a name="XML_SCHEMAS_ANYSIMPLETYPE">XML_SCHEMAS_ANYSIMPLETYPE</a> = 46
 };
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaWildcard">Structure 
</a>xmlSchemaWildcard</h3><pre class="programlisting">struct _xmlSchemaWildcard {
+<hr>
+<div class="refsect2" lang="en">
+<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#xmlSchemaAnnotPtr">xmlSchemaAnnotPtr</a>    annot
@@ -828,33 +1236,68 @@ The content of this structure is not made public by the API.
     <a href="libxml2-schemasInternals.html#xmlSchemaWildcardNsPtr">xmlSchemaWildcardNsPtr</a>  negNsSet      
  : The negated namespace
     int        flags
 } xmlSchemaWildcard;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaWildcardNs">Structure 
</a>xmlSchemaWildcardNs</h3><pre class="programlisting">struct _xmlSchemaWildcardNs {
+<hr>
+<div class="refsect2" lang="en">
+<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
 } xmlSchemaWildcardNs;
-</pre><p/>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaWildcardNsPtr">Typedef 
</a>xmlSchemaWildcardNsPtr</h3><pre class="programlisting"><a 
href="libxml2-schemasInternals.html#xmlSchemaWildcardNs">xmlSchemaWildcardNs</a> * xmlSchemaWildcardNsPtr;
-</pre><p/>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaWildcardPtr">Typedef 
</a>xmlSchemaWildcardPtr</h3><pre class="programlisting"><a 
href="libxml2-schemasInternals.html#xmlSchemaWildcard">xmlSchemaWildcard</a> * xmlSchemaWildcardPtr;
-</pre><p/>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaFreeType"/>xmlSchemaFreeType ()</h3><pre 
class="programlisting">void     xmlSchemaFreeType               (<a 
href="libxml2-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> type)<br/>
-</pre><p>Deallocate a Schema Type structure.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>type</tt></i>:</span></td><td>a schema type 
structure</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaFreeWildcard"/>xmlSchemaFreeWildcard 
()</h3><pre class="programlisting">void     xmlSchemaFreeWildcard           (<a 
href="libxml2-schemasInternals.html#xmlSchemaWildcardPtr">xmlSchemaWildcardPtr</a> wildcard)<br/>
-</pre><p>Deallocates a wildcard structure.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>wildcard</tt></i>:</span></td><td>a wildcard 
structure</td></tr></tbody></table></div></div>
-        <hr/>
-      </div>
-    </div>
-  </body>
+</pre>
+<p></p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaWildcardNsPtr">Typedef </a>xmlSchemaWildcardNsPtr</h3>
+<pre class="programlisting"><a 
href="libxml2-schemasInternals.html#xmlSchemaWildcardNs">xmlSchemaWildcardNs</a> * xmlSchemaWildcardNsPtr;
+</pre>
+<p></p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaWildcardPtr">Typedef </a>xmlSchemaWildcardPtr</h3>
+<pre class="programlisting"><a href="libxml2-schemasInternals.html#xmlSchemaWildcard">xmlSchemaWildcard</a> 
* xmlSchemaWildcardPtr;
+</pre>
+<p></p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaFreeType"></a>xmlSchemaFreeType ()</h3>
+<pre class="programlisting">void       xmlSchemaFreeType               (<a 
href="libxml2-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> type)<br>
+</pre>
+<p>Deallocate a Schema Type structure.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>type</tt></i>:</span></td>
+<td>a schema type structure</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaFreeWildcard"></a>xmlSchemaFreeWildcard ()</h3>
+<pre class="programlisting">void       xmlSchemaFreeWildcard           (<a 
href="libxml2-schemasInternals.html#xmlSchemaWildcardPtr">xmlSchemaWildcardPtr</a> wildcard)<br>
+</pre>
+<p>Deallocates a wildcard structure.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>wildcard</tt></i>:</span></td>
+<td>a wildcard structure</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+</div>
+</div>
+</body>
 </html>
diff --git a/doc/devhelp/libxml2-schematron.html b/doc/devhelp/libxml2-schematron.html
index 0bead08f..00ee0c79 100644
--- a/doc/devhelp/libxml2-schematron.html
+++ b/doc/devhelp/libxml2-schematron.html
@@ -1,49 +1,28 @@
-<?xml version="1.0" encoding="UTF-8"?>
 <html>
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
-    <title>schematron: XML Schematron implementation</title>
-    <meta name="generator" content="Libxml2 devhelp stylesheet"/>
-    <link rel="start" href="index.html" title="libxml2 Reference Manual"/>
-    <link rel="up" href="general.html" title="API"/>
-    <link rel="stylesheet" href="style.css" type="text/css"/>
-    <link rel="chapter" href="general.html" title="API"/>
-  </head>
-  <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-    <table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
-      <tr valign="middle">
-        <td>
-          <a accesskey="p" href="libxml2-schemasInternals.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-threads.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">schematron</span>
-    </h2>
-    <p>schematron - XML Schematron implementation</p>
-    <p>interface to the XML Schematron validity checking. </p>
-    <p>Author(s): Daniel Veillard </p>
-    <div class="refsynopsisdiv">
-      <h2>Synopsis</h2>
-      <pre class="synopsis">typedef struct _xmlSchematron <a href="#xmlSchematron">xmlSchematron</a>;
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>schematron: XML Schematron implementation</title>
+<meta name="generator" content="Libxml2 devhelp stylesheet">
+<link rel="start" href="index.html" title="libxml2 Reference Manual">
+<link rel="up" href="general.html" title="API">
+<link rel="stylesheet" href="style.css" type="text/css">
+<link rel="chapter" href="general.html" title="API">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr 
valign="middle">
+<td><a accesskey="p" href="libxml2-schemasInternals.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-threads.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">schematron</span></h2>
+<p>schematron - XML Schematron implementation</p>
+<p>interface to the XML Schematron validity checking. </p>
+<p>Author(s): Daniel Veillard </p>
+<div class="refsynopsisdiv">
+<h2>Synopsis</h2>
+<pre class="synopsis">typedef struct _xmlSchematron <a href="#xmlSchematron">xmlSchematron</a>;
 typedef struct _xmlSchematronParserCtxt <a href="#xmlSchematronParserCtxt">xmlSchematronParserCtxt</a>;
 typedef <a href="libxml2-schematron.html#xmlSchematronParserCtxt">xmlSchematronParserCtxt</a> * <a 
href="#xmlSchematronParserCtxtPtr">xmlSchematronParserCtxtPtr</a>;
 typedef <a href="libxml2-schematron.html#xmlSchematron">xmlSchematron</a> * <a 
href="#xmlSchematronPtr">xmlSchematronPtr</a>;
@@ -54,53 +33,78 @@ void        <a href="#xmlSchematronFree">xmlSchematronFree</a>              (<a 
href="libxml2-schem
 void   <a href="#xmlSchematronFreeParserCtxt">xmlSchematronFreeParserCtxt</a>  (<a 
href="libxml2-schematron.html#xmlSchematronParserCtxtPtr">xmlSchematronParserCtxtPtr</a> ctxt);
 void   <a href="#xmlSchematronFreeValidCtxt">xmlSchematronFreeValidCtxt</a>    (<a 
href="libxml2-schematron.html#xmlSchematronValidCtxtPtr">xmlSchematronValidCtxtPtr</a> ctxt);
 <a href="libxml2-schematron.html#xmlSchematronParserCtxtPtr">xmlSchematronParserCtxtPtr</a>    <a 
href="#xmlSchematronNewDocParserCtxt">xmlSchematronNewDocParserCtxt</a>      (<a 
href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc);
-<a href="libxml2-schematron.html#xmlSchematronParserCtxtPtr">xmlSchematronParserCtxtPtr</a>    <a 
href="#xmlSchematronNewMemParserCtxt">xmlSchematronNewMemParserCtxt</a>      (const char * buffer, <br/>      
                                                int size);
+<a href="libxml2-schematron.html#xmlSchematronParserCtxtPtr">xmlSchematronParserCtxtPtr</a>    <a 
href="#xmlSchematronNewMemParserCtxt">xmlSchematronNewMemParserCtxt</a>      (const char * buffer, <br>       
                                                int size);
 <a href="libxml2-schematron.html#xmlSchematronParserCtxtPtr">xmlSchematronParserCtxtPtr</a>    <a 
href="#xmlSchematronNewParserCtxt">xmlSchematronNewParserCtxt</a>    (const char * URL);
-<a href="libxml2-schematron.html#xmlSchematronValidCtxtPtr">xmlSchematronValidCtxtPtr</a>      <a 
href="#xmlSchematronNewValidCtxt">xmlSchematronNewValidCtxt</a>      (<a 
href="libxml2-schematron.html#xmlSchematronPtr">xmlSchematronPtr</a> schema, <br/>                            
                       int options);
+<a href="libxml2-schematron.html#xmlSchematronValidCtxtPtr">xmlSchematronValidCtxtPtr</a>      <a 
href="#xmlSchematronNewValidCtxt">xmlSchematronNewValidCtxt</a>      (<a 
href="libxml2-schematron.html#xmlSchematronPtr">xmlSchematronPtr</a> schema, <br>                             
                       int options);
 <a href="libxml2-schematron.html#xmlSchematronPtr">xmlSchematronPtr</a>        <a 
href="#xmlSchematronParse">xmlSchematronParse</a>    (<a 
href="libxml2-schematron.html#xmlSchematronParserCtxtPtr">xmlSchematronParserCtxtPtr</a> ctxt);
-void   <a href="#xmlSchematronSetValidStructuredErrors">xmlSchematronSetValidStructuredErrors</a>      (<a 
href="libxml2-schematron.html#xmlSchematronValidCtxtPtr">xmlSchematronValidCtxtPtr</a> ctxt, <br/>            
                               <a 
href="libxml2-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a> serror, <br/>                  
                               void * ctx);
-int    <a href="#xmlSchematronValidateDoc">xmlSchematronValidateDoc</a>        (<a 
href="libxml2-schematron.html#xmlSchematronValidCtxtPtr">xmlSchematronValidCtxtPtr</a> ctxt, <br/>            
                       <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> instance);
-typedef void <a href="#xmlSchematronValidityErrorFunc">xmlSchematronValidityErrorFunc</a>      (void * ctx, 
<br/>                                       const char * msg, <br/>                                         
... ...);
-typedef void <a href="#xmlSchematronValidityWarningFunc">xmlSchematronValidityWarningFunc</a>  (void * ctx, 
<br/>                                               const char * msg, <br/>                                   
              ... ...);
-</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="xmlSchematron">Structure </a>xmlSchematron</h3><pre 
class="programlisting">struct _xmlSchematron {
+void   <a href="#xmlSchematronSetValidStructuredErrors">xmlSchematronSetValidStructuredErrors</a>      (<a 
href="libxml2-schematron.html#xmlSchematronValidCtxtPtr">xmlSchematronValidCtxtPtr</a> ctxt, <br>             
                               <a 
href="libxml2-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a> serror, <br>                   
                       void * ctx);
+int    <a href="#xmlSchematronValidateDoc">xmlSchematronValidateDoc</a>        (<a 
href="libxml2-schematron.html#xmlSchematronValidCtxtPtr">xmlSchematronValidCtxtPtr</a> ctxt, <br>             
                       <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> instance);
+typedef void <a href="#xmlSchematronValidityErrorFunc">xmlSchematronValidityErrorFunc</a>      (void * ctx, 
<br>                                        const char * msg, <br>                                  ... ...);
+typedef void <a href="#xmlSchematronValidityWarningFunc">xmlSchematronValidityWarningFunc</a>  (void * ctx, 
<br>                                                const char * msg, <br>                                    
      ... ...);
+</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="xmlSchematron">Structure </a>xmlSchematron</h3>
+<pre class="programlisting">struct _xmlSchematron {
 The content of this structure is not made public by the API.
 } xmlSchematron;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchematronParserCtxt">Structure 
</a>xmlSchematronParserCtxt</h3><pre class="programlisting">struct _xmlSchematronParserCtxt {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchematronParserCtxt">Structure </a>xmlSchematronParserCtxt</h3>
+<pre class="programlisting">struct _xmlSchematronParserCtxt {
 The content of this structure is not made public by the API.
 } xmlSchematronParserCtxt;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchematronParserCtxtPtr">Typedef 
</a>xmlSchematronParserCtxtPtr</h3><pre class="programlisting"><a 
href="libxml2-schematron.html#xmlSchematronParserCtxt">xmlSchematronParserCtxt</a> * 
xmlSchematronParserCtxtPtr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchematronParserCtxtPtr">Typedef </a>xmlSchematronParserCtxtPtr</h3>
+<pre class="programlisting"><a 
href="libxml2-schematron.html#xmlSchematronParserCtxt">xmlSchematronParserCtxt</a> * 
xmlSchematronParserCtxtPtr;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchematronPtr">Typedef </a>xmlSchematronPtr</h3><pre 
class="programlisting"><a href="libxml2-schematron.html#xmlSchematron">xmlSchematron</a> * xmlSchematronPtr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchematronPtr">Typedef </a>xmlSchematronPtr</h3>
+<pre class="programlisting"><a href="libxml2-schematron.html#xmlSchematron">xmlSchematron</a> * 
xmlSchematronPtr;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchematronValidCtxt">Structure 
</a>xmlSchematronValidCtxt</h3><pre class="programlisting">struct _xmlSchematronValidCtxt {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchematronValidCtxt">Structure </a>xmlSchematronValidCtxt</h3>
+<pre class="programlisting">struct _xmlSchematronValidCtxt {
 The content of this structure is not made public by the API.
 } xmlSchematronValidCtxt;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchematronValidCtxtPtr">Typedef 
</a>xmlSchematronValidCtxtPtr</h3><pre class="programlisting"><a 
href="libxml2-schematron.html#xmlSchematronValidCtxt">xmlSchematronValidCtxt</a> * xmlSchematronValidCtxtPtr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchematronValidCtxtPtr">Typedef </a>xmlSchematronValidCtxtPtr</h3>
+<pre class="programlisting"><a 
href="libxml2-schematron.html#xmlSchematronValidCtxt">xmlSchematronValidCtxt</a> * xmlSchematronValidCtxtPtr;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchematronValidOptions">Enum 
</a>xmlSchematronValidOptions</h3><pre class="programlisting">enum <a 
href="#xmlSchematronValidOptions">xmlSchematronValidOptions</a> {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchematronValidOptions">Enum </a>xmlSchematronValidOptions</h3>
+<pre class="programlisting">enum <a href="#xmlSchematronValidOptions">xmlSchematronValidOptions</a> {
     <a name="XML_SCHEMATRON_OUT_QUIET">XML_SCHEMATRON_OUT_QUIET</a> = 1 /* quiet no report */
     <a name="XML_SCHEMATRON_OUT_TEXT">XML_SCHEMATRON_OUT_TEXT</a> = 2 /* build a textual report */
     <a name="XML_SCHEMATRON_OUT_XML">XML_SCHEMATRON_OUT_XML</a> = 4 /* output SVRL */
@@ -109,58 +113,270 @@ The content of this structure is not made public by the API.
     <a name="XML_SCHEMATRON_OUT_BUFFER">XML_SCHEMATRON_OUT_BUFFER</a> = 512 /* output to a buffer */
     <a name="XML_SCHEMATRON_OUT_IO">XML_SCHEMATRON_OUT_IO</a> = 1024 /*  output to I/O mechanism */
 };
-</pre><p/>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchematronValidityErrorFunc"/>Function type 
xmlSchematronValidityErrorFunc</h3><pre class="programlisting">void        xmlSchematronValidityErrorFunc  
(void * ctx, <br/>                                       const char * msg, <br/>                              
           ... ...)<br/>
-</pre><p>Signature of an error callback from a Schematron validation</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>the validation context</td></tr><tr><td><span 
class="term"><i><tt>msg</tt></i>:</span></td><td>the message</td></tr><tr><td><span 
class="term"><i><tt>...</tt></i>:</span></td><td>extra arguments</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchematronValidityWarningFunc"/>Function type 
xmlSchematronValidityWarningFunc</h3><pre class="programlisting">void    xmlSchematronValidityWarningFunc     
   (void * ctx, <br/>                                               const char * msg, <br/>                   
                              ... ...)<br/>
-</pre><p>Signature of a warning callback from a Schematron validation</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>the validation context</td></tr><tr><td><span 
class="term"><i><tt>msg</tt></i>:</span></td><td>the message</td></tr><tr><td><span 
class="term"><i><tt>...</tt></i>:</span></td><td>extra arguments</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchematronFree"/>xmlSchematronFree ()</h3><pre 
class="programlisting">void     xmlSchematronFree               (<a 
href="libxml2-schematron.html#xmlSchematronPtr">xmlSchematronPtr</a> schema)<br/>
-</pre><p>Deallocate a Schematron structure.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>schema</tt></i>:</span></td><td>a schema structure</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlSchematronFreeParserCtxt"/>xmlSchematronFreeParserCtxt ()</h3><pre class="programlisting">void 
xmlSchematronFreeParserCtxt     (<a 
href="libxml2-schematron.html#xmlSchematronParserCtxtPtr">xmlSchematronParserCtxtPtr</a> ctxt)<br/>
-</pre><p>Free the resources associated to the schema 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>the schema parser 
context</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchematronFreeValidCtxt"/>xmlSchematronFreeValidCtxt 
()</h3><pre class="programlisting">void   xmlSchematronFreeValidCtxt      (<a 
href="libxml2-schematron.html#xmlSchematronValidCtxtPtr">xmlSchematronValidCtxtPtr</a> ctxt)<br/>
-</pre><p>Free the resources associated to the schema validation 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 schema validation 
context</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlSchematronNewDocParserCtxt"/>xmlSchematronNewDocParserCtxt ()</h3><pre class="programlisting"><a 
href="libxml2-schematron.html#xmlSchematronParserCtxtPtr">xmlSchematronParserCtxtPtr</a>      
xmlSchematronNewDocParserCtxt   (<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br/>
-</pre><p>Create an XML Schematrons parse context for that document. NB. The document may be modified during 
the parsing process.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>doc</tt></i>:</span></td><td>a preparsed document tree</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the parser context or NULL in case of 
error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlSchematronNewMemParserCtxt"/>xmlSchematronNewMemParserCtxt ()</h3><pre class="programlisting"><a 
href="libxml2-schematron.html#xmlSchematronParserCtxtPtr">xmlSchematronParserCtxtPtr</a>      
xmlSchematronNewMemParserCtxt   (const char * buffer, <br/>                                                   
   int size)<br/>
-</pre><p>Create an XML Schematrons parse context for that memory buffer expected to contain an XML 
Schematrons file.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>buffer</tt></i>:</span></td><td>a pointer to a char array containing the 
schemas</td></tr><tr><td><span class="term"><i><tt>size</tt></i>:</span></td><td>the size of the 
array</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the parser context or NULL 
in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchematronNewParserCtxt"/>xmlSchematronNewParserCtxt 
()</h3><pre class="programlisting"><a 
href="libxml2-schematron.html#xmlSchematronParserCtxtPtr">xmlSchematronParserCtxtPtr</a>    
xmlSchematronNewParserCtxt      (const char * URL)<br/>
-</pre><p>Create an XML Schematrons parse context for that file/resource expected to contain an XML 
Schematrons file.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>URL</tt></i>:</span></td><td>the location of the schema</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the parser context or NULL in case of 
error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchematronNewValidCtxt"/>xmlSchematronNewValidCtxt 
()</h3><pre class="programlisting"><a 
href="libxml2-schematron.html#xmlSchematronValidCtxtPtr">xmlSchematronValidCtxtPtr</a>        
xmlSchematronNewValidCtxt       (<a href="libxml2-schematron.html#xmlSchematronPtr">xmlSchematronPtr</a> 
schema, <br/>                                                   int options)<br/>
-</pre><p>Create an XML Schematrons validation context based on the given schema.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>schema</tt></i>:</span></td><td>a precompiled XML Schematrons</td></tr><tr><td><span 
class="term"><i><tt>options</tt></i>:</span></td><td>a set of <a 
href="libxml2-schematron.html#xmlSchematronValidOptions">xmlSchematronValidOptions</a></td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the validation context or NULL in case of 
error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchematronParse"/>xmlSchematronParse ()</h3><pre 
class="programlisting"><a href="libxml2-schematron.html#xmlSchematronPtr">xmlSchematronPtr</a>        
xmlSchematronParse      (<a 
href="libxml2-schematron.html#xmlSchematronParserCtxtPtr">xmlSchematronParserCtxtPtr</a> ctxt)<br/>
-</pre><p>parse a schema definition resource and build an internal XML Schema structure which can be used to 
validate instances.</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 schema validation context</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the internal XML Schematron structure built from the 
resource or NULL in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlSchematronSetValidStructuredErrors"/>xmlSchematronSetValidStructuredErrors ()</h3><pre 
class="programlisting">void     xmlSchematronSetValidStructuredErrors   (<a 
href="libxml2-schematron.html#xmlSchematronValidCtxtPtr">xmlSchematronValidCtxtPtr</a> ctxt, <br/>            
                               <a 
href="libxml2-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a> serror, <br/>                  
                               void * ctx)<br/>
-</pre><p>Set the structured error callback</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 Schematron validation context</td></tr><tr><td><span 
class="term"><i><tt>serror</tt></i>:</span></td><td>the structured error function</td></tr><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>the functions context</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchematronValidateDoc"/>xmlSchematronValidateDoc 
()</h3><pre class="programlisting">int        xmlSchematronValidateDoc        (<a 
href="libxml2-schematron.html#xmlSchematronValidCtxtPtr">xmlSchematronValidCtxtPtr</a> ctxt, <br/>            
                       <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> instance)<br/>
-</pre><p>Validate a tree instance against the schematron</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 schema validation context</td></tr><tr><td><span 
class="term"><i><tt>instance</tt></i>:</span></td><td>the document instance tree</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success, -1 in case of internal error and 
an error count otherwise.</td></tr></tbody></table></div></div>
-        <hr/>
-      </div>
-    </div>
-  </body>
+</pre>
+<p></p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchematronValidityErrorFunc"></a>Function type xmlSchematronValidityErrorFunc</h3>
+<pre class="programlisting">void       xmlSchematronValidityErrorFunc  (void * ctx, <br>                     
                   const char * msg, <br>                                  ... ...)<br>
+</pre>
+<p>Signature of an error callback from a Schematron validation</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>the validation context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>msg</tt></i>:</span></td>
+<td>the message</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>...</tt></i>:</span></td>
+<td>extra arguments</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchematronValidityWarningFunc"></a>Function type xmlSchematronValidityWarningFunc</h3>
+<pre class="programlisting">void       xmlSchematronValidityWarningFunc        (void * ctx, <br>             
                                   const char * msg, <br>                                          ... 
...)<br>
+</pre>
+<p>Signature of a warning callback from a Schematron validation</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>the validation context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>msg</tt></i>:</span></td>
+<td>the message</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>...</tt></i>:</span></td>
+<td>extra arguments</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchematronFree"></a>xmlSchematronFree ()</h3>
+<pre class="programlisting">void       xmlSchematronFree               (<a 
href="libxml2-schematron.html#xmlSchematronPtr">xmlSchematronPtr</a> schema)<br>
+</pre>
+<p>Deallocate a Schematron structure.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>schema</tt></i>:</span></td>
+<td>a schema structure</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchematronFreeParserCtxt"></a>xmlSchematronFreeParserCtxt ()</h3>
+<pre class="programlisting">void       xmlSchematronFreeParserCtxt     (<a 
href="libxml2-schematron.html#xmlSchematronParserCtxtPtr">xmlSchematronParserCtxtPtr</a> ctxt)<br>
+</pre>
+<p>Free the resources associated to the schema 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>the schema parser context</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchematronFreeValidCtxt"></a>xmlSchematronFreeValidCtxt ()</h3>
+<pre class="programlisting">void       xmlSchematronFreeValidCtxt      (<a 
href="libxml2-schematron.html#xmlSchematronValidCtxtPtr">xmlSchematronValidCtxtPtr</a> ctxt)<br>
+</pre>
+<p>Free the resources associated to the schema validation 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 schema validation context</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchematronNewDocParserCtxt"></a>xmlSchematronNewDocParserCtxt ()</h3>
+<pre class="programlisting"><a 
href="libxml2-schematron.html#xmlSchematronParserCtxtPtr">xmlSchematronParserCtxtPtr</a>        
xmlSchematronNewDocParserCtxt   (<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br>
+</pre>
+<p>Create an XML Schematrons parse context for that document. NB. The document may be modified during the 
parsing process.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>doc</tt></i>:</span></td>
+<td>a preparsed document tree</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the parser context or NULL in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchematronNewMemParserCtxt"></a>xmlSchematronNewMemParserCtxt ()</h3>
+<pre class="programlisting"><a 
href="libxml2-schematron.html#xmlSchematronParserCtxtPtr">xmlSchematronParserCtxtPtr</a>        
xmlSchematronNewMemParserCtxt   (const char * buffer, <br>                                                    
   int size)<br>
+</pre>
+<p>Create an XML Schematrons parse context for that memory buffer expected to contain an XML Schematrons 
file.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>buffer</tt></i>:</span></td>
+<td>a pointer to a char array containing the schemas</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>size</tt></i>:</span></td>
+<td>the size of the array</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the parser context or NULL in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchematronNewParserCtxt"></a>xmlSchematronNewParserCtxt ()</h3>
+<pre class="programlisting"><a 
href="libxml2-schematron.html#xmlSchematronParserCtxtPtr">xmlSchematronParserCtxtPtr</a>        
xmlSchematronNewParserCtxt      (const char * URL)<br>
+</pre>
+<p>Create an XML Schematrons parse context for that file/resource expected to contain an XML Schematrons 
file.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>URL</tt></i>:</span></td>
+<td>the location of the schema</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the parser context or NULL in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchematronNewValidCtxt"></a>xmlSchematronNewValidCtxt ()</h3>
+<pre class="programlisting"><a 
href="libxml2-schematron.html#xmlSchematronValidCtxtPtr">xmlSchematronValidCtxtPtr</a>  
xmlSchematronNewValidCtxt       (<a href="libxml2-schematron.html#xmlSchematronPtr">xmlSchematronPtr</a> 
schema, <br>                                                    int options)<br>
+</pre>
+<p>Create an XML Schematrons validation context based on the given schema.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>schema</tt></i>:</span></td>
+<td>a precompiled XML Schematrons</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>options</tt></i>:</span></td>
+<td>a set of <a href="libxml2-schematron.html#xmlSchematronValidOptions">xmlSchematronValidOptions</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the validation context or NULL in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchematronParse"></a>xmlSchematronParse ()</h3>
+<pre class="programlisting"><a href="libxml2-schematron.html#xmlSchematronPtr">xmlSchematronPtr</a>    
xmlSchematronParse      (<a 
href="libxml2-schematron.html#xmlSchematronParserCtxtPtr">xmlSchematronParserCtxtPtr</a> ctxt)<br>
+</pre>
+<p>parse a schema definition resource and build an internal XML Schema structure which can be used to 
validate instances.</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 schema validation context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the internal XML Schematron structure built from the resource or NULL in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchematronSetValidStructuredErrors"></a>xmlSchematronSetValidStructuredErrors ()</h3>
+<pre class="programlisting">void       xmlSchematronSetValidStructuredErrors   (<a 
href="libxml2-schematron.html#xmlSchematronValidCtxtPtr">xmlSchematronValidCtxtPtr</a> ctxt, <br>             
                               <a 
href="libxml2-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a> serror, <br>                   
                       void * ctx)<br>
+</pre>
+<p>Set the structured error callback</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 Schematron validation context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>serror</tt></i>:</span></td>
+<td>the structured error function</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>the functions context</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchematronValidateDoc"></a>xmlSchematronValidateDoc ()</h3>
+<pre class="programlisting">int        xmlSchematronValidateDoc        (<a 
href="libxml2-schematron.html#xmlSchematronValidCtxtPtr">xmlSchematronValidCtxtPtr</a> ctxt, <br>             
                       <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> instance)<br>
+</pre>
+<p>Validate a tree instance against the schematron</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 schema validation context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>instance</tt></i>:</span></td>
+<td>the document instance tree</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 in case of success, -1 in case of internal error and an error count otherwise.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+</div>
+</div>
+</body>
 </html>
diff --git a/doc/devhelp/libxml2-threads.html b/doc/devhelp/libxml2-threads.html
index de79d4f2..4ab52dc2 100644
--- a/doc/devhelp/libxml2-threads.html
+++ b/doc/devhelp/libxml2-threads.html
@@ -1,54 +1,33 @@
-<?xml version="1.0" encoding="UTF-8"?>
 <html>
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
-    <title>threads: interfaces for thread handling</title>
-    <meta name="generator" content="Libxml2 devhelp stylesheet"/>
-    <link rel="start" href="index.html" title="libxml2 Reference Manual"/>
-    <link rel="up" href="general.html" title="API"/>
-    <link rel="stylesheet" href="style.css" type="text/css"/>
-    <link rel="chapter" href="general.html" title="API"/>
-  </head>
-  <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-    <table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
-      <tr valign="middle">
-        <td>
-          <a accesskey="p" href="libxml2-schematron.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-tree.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">threads</span>
-    </h2>
-    <p>threads - interfaces for thread handling</p>
-    <p>set of generic threading related routines should work with pthreads, Windows native or TLS threads 
</p>
-    <p>Author(s): Daniel Veillard </p>
-    <div class="refsynopsisdiv">
-      <h2>Synopsis</h2>
-      <pre class="synopsis">typedef struct _xmlMutex <a href="#xmlMutex">xmlMutex</a>;
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>threads: interfaces for thread handling</title>
+<meta name="generator" content="Libxml2 devhelp stylesheet">
+<link rel="start" href="index.html" title="libxml2 Reference Manual">
+<link rel="up" href="general.html" title="API">
+<link rel="stylesheet" href="style.css" type="text/css">
+<link rel="chapter" href="general.html" title="API">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr 
valign="middle">
+<td><a accesskey="p" href="libxml2-schematron.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-tree.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">threads</span></h2>
+<p>threads - interfaces for thread handling</p>
+<p>set of generic threading related routines should work with pthreads, Windows native or TLS threads </p>
+<p>Author(s): Daniel Veillard </p>
+<div class="refsynopsisdiv">
+<h2>Synopsis</h2>
+<pre class="synopsis">typedef struct _xmlMutex <a href="#xmlMutex">xmlMutex</a>;
 typedef <a href="libxml2-threads.html#xmlMutex">xmlMutex</a> * <a href="#xmlMutexPtr">xmlMutexPtr</a>;
 typedef struct _xmlRMutex <a href="#xmlRMutex">xmlRMutex</a>;
 typedef <a href="libxml2-threads.html#xmlRMutex">xmlRMutex</a> * <a href="#xmlRMutexPtr">xmlRMutexPtr</a>;
 void   <a href="#xmlCleanupThreads">xmlCleanupThreads</a>              (void);
-int    <a href="#xmlDllMain">xmlDllMain</a>                    (void * hinstDLL, <br/>                       
           unsigned long fdwReason, <br/>                                  void * lpvReserved);
+int    <a href="#xmlDllMain">xmlDllMain</a>                    (void * hinstDLL, <br>                        
           unsigned long fdwReason, <br>                                   void * lpvReserved);
 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);
 <a href="libxml2-globals.html#xmlGlobalStatePtr">xmlGlobalStatePtr</a> <a 
href="#xmlGetGlobalState">xmlGetGlobalState</a>      (void);
@@ -64,98 +43,274 @@ void       <a href="#xmlRMutexLock">xmlRMutexLock</a>                      (<a 
href="libxml2-threads.html
 void   <a href="#xmlRMutexUnlock">xmlRMutexUnlock</a>                  (<a 
href="libxml2-threads.html#xmlRMutexPtr">xmlRMutexPtr</a> tok);
 void   <a href="#xmlUnlockLibrary">xmlUnlockLibrary</a>                (void);
 </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="xmlMutex">Structure </a>xmlMutex</h3><pre 
class="programlisting">struct _xmlMutex {
+</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="xmlMutex">Structure </a>xmlMutex</h3>
+<pre class="programlisting">struct _xmlMutex {
 The content of this structure is not made public by the API.
 } xmlMutex;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlMutexPtr">Typedef </a>xmlMutexPtr</h3><pre 
class="programlisting"><a href="libxml2-threads.html#xmlMutex">xmlMutex</a> * xmlMutexPtr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlMutexPtr">Typedef </a>xmlMutexPtr</h3>
+<pre class="programlisting"><a href="libxml2-threads.html#xmlMutex">xmlMutex</a> * xmlMutexPtr;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlRMutex">Structure </a>xmlRMutex</h3><pre 
class="programlisting">struct _xmlRMutex {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlRMutex">Structure </a>xmlRMutex</h3>
+<pre class="programlisting">struct _xmlRMutex {
 The content of this structure is not made public by the API.
 } xmlRMutex;
-</pre><p/>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlRMutexPtr">Typedef </a>xmlRMutexPtr</h3><pre 
class="programlisting"><a href="libxml2-threads.html#xmlRMutex">xmlRMutex</a> * xmlRMutexPtr;
-</pre><p/>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCleanupThreads"/>xmlCleanupThreads ()</h3><pre 
class="programlisting">void     xmlCleanupThreads               (void)<br/>
-</pre><p>DEPRECATED: This function will be made private. Call <a 
href="libxml2-parser.html#xmlCleanupParser">xmlCleanupParser</a> to free global state but see the warnings 
there. <a href="libxml2-parser.html#xmlCleanupParser">xmlCleanupParser</a> should be only called once at 
program exit. In most cases, you don't have call cleanup functions at all. xmlCleanupThreads() is used to to 
cleanup all the thread related data of the libxml2 library once processing has ended. 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>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlDllMain"/>xmlDllMain ()</h3><pre 
class="programlisting">int    xmlDllMain                      (void * hinstDLL, <br/>                         
         unsigned long fdwReason, <br/>                                  void * lpvReserved)<br/>
-</pre><p/>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>hinstDLL</tt></i>:</span></td><td/></tr><tr><td><span 
class="term"><i><tt>fdwReason</tt></i>:</span></td><td/></tr><tr><td><span 
class="term"><i><tt>lpvReserved</tt></i>:</span></td><td/></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td/></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlFreeMutex"/>xmlFreeMutex ()</h3><pre 
class="programlisting">void       xmlFreeMutex                    (<a 
href="libxml2-threads.html#xmlMutexPtr">xmlMutexPtr</a> tok)<br/>
-</pre><p>xmlFreeMutex() is used to reclaim resources associated with a libxml2 token struct.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>tok</tt></i>:</span></td><td>the simple mutex</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlFreeRMutex"/>xmlFreeRMutex ()</h3><pre 
class="programlisting">void     xmlFreeRMutex                   (<a 
href="libxml2-threads.html#xmlRMutexPtr">xmlRMutexPtr</a> tok)<br/>
-</pre><p>xmlRFreeMutex() is used to reclaim resources associated with a reentrant mutex.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>tok</tt></i>:</span></td><td>the reentrant mutex</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlGetGlobalState"/>xmlGetGlobalState ()</h3><pre 
class="programlisting"><a href="libxml2-globals.html#xmlGlobalStatePtr">xmlGlobalStatePtr</a>   
xmlGetGlobalState       (void)<br/>
-</pre><p>xmlGetGlobalState() is called to retrieve the global state for a 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>the thread global state or NULL in case of 
error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlGetThreadId"/>xmlGetThreadId ()</h3><pre 
class="programlisting">int    xmlGetThreadId                  (void)<br/>
-</pre><p>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"/>xmlInitThreads ()</h3><pre 
class="programlisting">void   xmlInitThreads                  (void)<br/>
-</pre><p>DEPRECATED: This function will be made private. Call <a 
href="libxml2-parser.html#xmlInitParser">xmlInitParser</a> to initialize the library. xmlInitThreads() is 
used to to initialize all the thread related data of the libxml2 library.</p>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlIsMainThread"/>xmlIsMainThread ()</h3><pre 
class="programlisting">int  xmlIsMainThread                 (void)<br/>
-</pre><p>xmlIsMainThread() 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"/>xmlLockLibrary ()</h3><pre 
class="programlisting">void   xmlLockLibrary                  (void)<br/>
-</pre><p>xmlLockLibrary() is used to take out a re-entrant lock on the libxml2 library.</p>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlMutexLock"/>xmlMutexLock ()</h3><pre 
class="programlisting">void       xmlMutexLock                    (<a 
href="libxml2-threads.html#xmlMutexPtr">xmlMutexPtr</a> tok)<br/>
-</pre><p>xmlMutexLock() is used to lock a libxml2 token.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>tok</tt></i>:</span></td><td>the simple mutex</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlMutexUnlock"/>xmlMutexUnlock ()</h3><pre 
class="programlisting">void   xmlMutexUnlock                  (<a 
href="libxml2-threads.html#xmlMutexPtr">xmlMutexPtr</a> tok)<br/>
-</pre><p>xmlMutexUnlock() is used to unlock a libxml2 token.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>tok</tt></i>:</span></td><td>the simple mutex</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNewMutex"/>xmlNewMutex ()</h3><pre 
class="programlisting"><a href="libxml2-threads.html#xmlMutexPtr">xmlMutexPtr</a>   xmlNewMutex             
(void)<br/>
-</pre><p>xmlNewMutex() is used to allocate a libxml2 token struct for use in synchronizing access to 
data.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>a new simple mutex pointer or NULL in case of 
error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNewRMutex"/>xmlNewRMutex ()</h3><pre 
class="programlisting"><a href="libxml2-threads.html#xmlRMutexPtr">xmlRMutexPtr</a>       xmlNewRMutex        
    (void)<br/>
-</pre><p>xmlRNewMutex() is used to allocate a reentrant mutex for use in synchronizing access to data. 
token_r is a re-entrant lock and thus useful for synchronizing access to data structures that may be 
manipulated in a recursive fashion.</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 new reentrant mutex pointer or NULL in case of 
error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlRMutexLock"/>xmlRMutexLock ()</h3><pre 
class="programlisting">void     xmlRMutexLock                   (<a 
href="libxml2-threads.html#xmlRMutexPtr">xmlRMutexPtr</a> tok)<br/>
-</pre><p>xmlRMutexLock() is used to lock a libxml2 token_r.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>tok</tt></i>:</span></td><td>the reentrant mutex</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlRMutexUnlock"/>xmlRMutexUnlock ()</h3><pre 
class="programlisting">void xmlRMutexUnlock                 (<a 
href="libxml2-threads.html#xmlRMutexPtr">xmlRMutexPtr</a> tok)<br/>
-</pre><p>xmlRMutexUnlock() is used to unlock a libxml2 token_r.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>tok</tt></i>:</span></td><td>the reentrant mutex</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUnlockLibrary"/>xmlUnlockLibrary ()</h3><pre 
class="programlisting">void       xmlUnlockLibrary                (void)<br/>
-</pre><p>xmlUnlockLibrary() is used to release a re-entrant lock on the libxml2 library.</p>
-</div>
-        <hr/>
-      </div>
-    </div>
-  </body>
+</pre>
+<p></p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlRMutexPtr">Typedef </a>xmlRMutexPtr</h3>
+<pre class="programlisting"><a href="libxml2-threads.html#xmlRMutex">xmlRMutex</a> * xmlRMutexPtr;
+</pre>
+<p></p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCleanupThreads"></a>xmlCleanupThreads ()</h3>
+<pre class="programlisting">void       xmlCleanupThreads               (void)<br>
+</pre>
+<p>DEPRECATED: This function will be made private. Call <a 
href="libxml2-parser.html#xmlCleanupParser">xmlCleanupParser</a> to free global state but see the warnings 
there. <a href="libxml2-parser.html#xmlCleanupParser">xmlCleanupParser</a> should be only called once at 
program exit. In most cases, you don't have call cleanup functions at all. xmlCleanupThreads() is used to to 
cleanup all the thread related data of the libxml2 library once processing has ended. 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>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlDllMain"></a>xmlDllMain ()</h3>
+<pre class="programlisting">int        xmlDllMain                      (void * hinstDLL, <br>                
                   unsigned long fdwReason, <br>                                   void * lpvReserved)<br>
+</pre>
+<p></p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>hinstDLL</tt></i>:</span></td>
+<td></td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>fdwReason</tt></i>:</span></td>
+<td></td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>lpvReserved</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="xmlFreeMutex"></a>xmlFreeMutex ()</h3>
+<pre class="programlisting">void       xmlFreeMutex                    (<a 
href="libxml2-threads.html#xmlMutexPtr">xmlMutexPtr</a> tok)<br>
+</pre>
+<p>xmlFreeMutex() is used to reclaim resources associated with a libxml2 token struct.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>tok</tt></i>:</span></td>
+<td>the simple mutex</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlFreeRMutex"></a>xmlFreeRMutex ()</h3>
+<pre class="programlisting">void       xmlFreeRMutex                   (<a 
href="libxml2-threads.html#xmlRMutexPtr">xmlRMutexPtr</a> tok)<br>
+</pre>
+<p>xmlRFreeMutex() is used to reclaim resources associated with a reentrant mutex.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>tok</tt></i>:</span></td>
+<td>the reentrant mutex</td>
+</tr></tbody>
+</table></div>
+</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>xmlGetGlobalState() is called to retrieve the global state for a 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>the thread global state or NULL in case of error</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlGetThreadId"></a>xmlGetThreadId ()</h3>
+<pre class="programlisting">int        xmlGetThreadId                  (void)<br>
+</pre>
+<p>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>
+<p>DEPRECATED: This function will be made private. Call <a 
href="libxml2-parser.html#xmlInitParser">xmlInitParser</a> to initialize the library. xmlInitThreads() is 
used to to initialize all the thread related data of the libxml2 library.</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlIsMainThread"></a>xmlIsMainThread ()</h3>
+<pre class="programlisting">int        xmlIsMainThread                 (void)<br>
+</pre>
+<p>xmlIsMainThread() 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>
+<p>xmlLockLibrary() is used to take out a re-entrant lock on the libxml2 library.</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlMutexLock"></a>xmlMutexLock ()</h3>
+<pre class="programlisting">void       xmlMutexLock                    (<a 
href="libxml2-threads.html#xmlMutexPtr">xmlMutexPtr</a> tok)<br>
+</pre>
+<p>xmlMutexLock() is used to lock a libxml2 token.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>tok</tt></i>:</span></td>
+<td>the simple mutex</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlMutexUnlock"></a>xmlMutexUnlock ()</h3>
+<pre class="programlisting">void       xmlMutexUnlock                  (<a 
href="libxml2-threads.html#xmlMutexPtr">xmlMutexPtr</a> tok)<br>
+</pre>
+<p>xmlMutexUnlock() is used to unlock a libxml2 token.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>tok</tt></i>:</span></td>
+<td>the simple mutex</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNewMutex"></a>xmlNewMutex ()</h3>
+<pre class="programlisting"><a href="libxml2-threads.html#xmlMutexPtr">xmlMutexPtr</a> xmlNewMutex           
  (void)<br>
+</pre>
+<p>xmlNewMutex() is used to allocate a libxml2 token struct for use in synchronizing access to data.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a new simple mutex pointer or NULL in case of error</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNewRMutex"></a>xmlNewRMutex ()</h3>
+<pre class="programlisting"><a href="libxml2-threads.html#xmlRMutexPtr">xmlRMutexPtr</a>       xmlNewRMutex  
          (void)<br>
+</pre>
+<p>xmlRNewMutex() is used to allocate a reentrant mutex for use in synchronizing access to data. token_r is 
a re-entrant lock and thus useful for synchronizing access to data structures that may be manipulated in a 
recursive fashion.</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 new reentrant mutex pointer or NULL in case of error</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlRMutexLock"></a>xmlRMutexLock ()</h3>
+<pre class="programlisting">void       xmlRMutexLock                   (<a 
href="libxml2-threads.html#xmlRMutexPtr">xmlRMutexPtr</a> tok)<br>
+</pre>
+<p>xmlRMutexLock() is used to lock a libxml2 token_r.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>tok</tt></i>:</span></td>
+<td>the reentrant mutex</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlRMutexUnlock"></a>xmlRMutexUnlock ()</h3>
+<pre class="programlisting">void       xmlRMutexUnlock                 (<a 
href="libxml2-threads.html#xmlRMutexPtr">xmlRMutexPtr</a> tok)<br>
+</pre>
+<p>xmlRMutexUnlock() is used to unlock a libxml2 token_r.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>tok</tt></i>:</span></td>
+<td>the reentrant mutex</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUnlockLibrary"></a>xmlUnlockLibrary ()</h3>
+<pre class="programlisting">void       xmlUnlockLibrary                (void)<br>
+</pre>
+<p>xmlUnlockLibrary() is used to release a re-entrant lock on the libxml2 library.</p>
+</div>
+<hr>
+</div>
+</div>
+</body>
 </html>
diff --git a/doc/devhelp/libxml2-tree.html b/doc/devhelp/libxml2-tree.html
index f98c947c..c4f62fcf 100644
--- a/doc/devhelp/libxml2-tree.html
+++ b/doc/devhelp/libxml2-tree.html
@@ -1,49 +1,28 @@
-<?xml version="1.0" encoding="UTF-8"?>
 <html>
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
-    <title>tree: interfaces for tree manipulation</title>
-    <meta name="generator" content="Libxml2 devhelp stylesheet"/>
-    <link rel="start" href="index.html" title="libxml2 Reference Manual"/>
-    <link rel="up" href="general.html" title="API"/>
-    <link rel="stylesheet" href="style.css" type="text/css"/>
-    <link rel="chapter" href="general.html" title="API"/>
-  </head>
-  <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-    <table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
-      <tr valign="middle">
-        <td>
-          <a accesskey="p" href="libxml2-threads.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-uri.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">tree</span>
-    </h2>
-    <p>tree - interfaces for tree manipulation</p>
-    <p>this module describes the structures found in an tree resulting from an XML or HTML parsing, as well 
as the API provided for various processing on that tree </p>
-    <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>;
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>tree: interfaces for tree manipulation</title>
+<meta name="generator" content="Libxml2 devhelp stylesheet">
+<link rel="start" href="index.html" title="libxml2 Reference Manual">
+<link rel="up" href="general.html" title="API">
+<link rel="stylesheet" href="style.css" type="text/css">
+<link rel="chapter" href="general.html" title="API">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr 
valign="middle">
+<td><a accesskey="p" href="libxml2-threads.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-uri.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">tree</span></h2>
+<p>tree - interfaces for tree manipulation</p>
+<p>this module describes the structures found in an tree resulting from an XML or HTML parsing, as well as 
the API provided for various processing on that tree </p>
+<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>;
 #define <a href="#XML_GET_CONTENT">XML_GET_CONTENT</a>;
 #define <a href="#XML_GET_LINE">XML_GET_LINE</a>;
@@ -105,67 +84,67 @@ typedef struct _xmlSAXHandler <a href="#xmlSAXHandler">xmlSAXHandler</a>;
 typedef <a href="libxml2-tree.html#xmlSAXHandler">xmlSAXHandler</a> * <a 
href="#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a>;
 typedef struct _xmlSAXLocator <a href="#xmlSAXLocator">xmlSAXLocator</a>;
 typedef <a href="libxml2-tree.html#xmlSAXLocator">xmlSAXLocator</a> * <a 
href="#xmlSAXLocatorPtr">xmlSAXLocatorPtr</a>;
-<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>  <a href="#xmlAddChild">xmlAddChild</a>          (<a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> parent, <br/>                                     <a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
-<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>  <a href="#xmlAddChildList">xmlAddChildList</a>        
  (<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> parent, <br/>                                     <a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
-<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>  <a href="#xmlAddNextSibling">xmlAddNextSibling</a>    
  (<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br/>                                        <a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem);
-<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>  <a href="#xmlAddPrevSibling">xmlAddPrevSibling</a>    
  (<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br/>                                        <a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem);
-<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>  <a href="#xmlAddSibling">xmlAddSibling</a>            
  (<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br/>                                        <a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem);
-void   <a href="#xmlAttrSerializeTxtContent">xmlAttrSerializeTxtContent</a>    (<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);
+<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>  <a href="#xmlAddChild">xmlAddChild</a>          (<a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> parent, <br>                                      <a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
+<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>  <a href="#xmlAddChildList">xmlAddChildList</a>        
  (<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> parent, <br>                                      <a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
+<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>  <a href="#xmlAddNextSibling">xmlAddNextSibling</a>    
  (<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br>                                         <a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem);
+<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>  <a href="#xmlAddPrevSibling">xmlAddPrevSibling</a>    
  (<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br>                                         <a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem);
+<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>  <a href="#xmlAddSibling">xmlAddSibling</a>            
  (<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br>                                         <a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem);
+void   <a href="#xmlAttrSerializeTxtContent">xmlAttrSerializeTxtContent</a>    (<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);
 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * <a href="#xmlBufContent">xmlBufContent</a>            
  (const <a href="libxml2-tree.html#xmlBuf">xmlBuf</a> * buf);
 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * <a href="#xmlBufEnd">xmlBufEnd</a>              (<a 
href="libxml2-tree.html#xmlBufPtr">xmlBufPtr</a> buf);
-int    <a href="#xmlBufGetNodeContent">xmlBufGetNodeContent</a>                (<a 
href="libxml2-tree.html#xmlBufPtr">xmlBufPtr</a> buf, <br/>                                  const <a 
href="libxml2-tree.html#xmlNode">xmlNode</a> * cur);
-size_t <a href="#xmlBufNodeDump">xmlBufNodeDump</a>                    (<a 
href="libxml2-tree.html#xmlBufPtr">xmlBufPtr</a> buf, <br/>                                  <a 
href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>                                  <a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br/>                                        int 
level, <br/>                                        int format);
-size_t <a href="#xmlBufShrink">xmlBufShrink</a>                        (<a 
href="libxml2-tree.html#xmlBufPtr">xmlBufPtr</a> buf, <br/>                                  size_t len);
+int    <a href="#xmlBufGetNodeContent">xmlBufGetNodeContent</a>                (<a 
href="libxml2-tree.html#xmlBufPtr">xmlBufPtr</a> buf, <br>                                   const <a 
href="libxml2-tree.html#xmlNode">xmlNode</a> * cur);
+size_t <a href="#xmlBufNodeDump">xmlBufNodeDump</a>                    (<a 
href="libxml2-tree.html#xmlBufPtr">xmlBufPtr</a> buf, <br>                                   <a 
href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>                                   <a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br>                                         int 
level, <br>                                         int format);
+size_t <a href="#xmlBufShrink">xmlBufShrink</a>                        (<a 
href="libxml2-tree.html#xmlBufPtr">xmlBufPtr</a> buf, <br>                                   size_t len);
 size_t <a href="#xmlBufUse">xmlBufUse</a>                      (const <a 
href="libxml2-tree.html#xmlBufPtr">xmlBufPtr</a> buf);
-int    <a href="#xmlBufferAdd">xmlBufferAdd</a>                        (<a 
href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br/>                                    const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br/>                                         int 
len);
-int    <a href="#xmlBufferAddHead">xmlBufferAddHead</a>                (<a 
href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br/>                                    const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br/>                                         int 
len);
-int    <a href="#xmlBufferCCat">xmlBufferCCat</a>                      (<a 
href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br/>                                    const 
char * str);
-int    <a href="#xmlBufferCat">xmlBufferCat</a>                        (<a 
href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br/>                                    const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str);
+int    <a href="#xmlBufferAdd">xmlBufferAdd</a>                        (<a 
href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>                                     const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br>                                  int len);
+int    <a href="#xmlBufferAddHead">xmlBufferAddHead</a>                (<a 
href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>                                     const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br>                                  int len);
+int    <a href="#xmlBufferCCat">xmlBufferCCat</a>                      (<a 
href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>                                     const 
char * str);
+int    <a href="#xmlBufferCat">xmlBufferCat</a>                        (<a 
href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>                                     const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str);
 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *   <a 
href="#xmlBufferContent">xmlBufferContent</a>        (const <a 
href="libxml2-tree.html#xmlBuffer">xmlBuffer</a> * buf);
 <a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a>      <a 
href="#xmlBufferCreate">xmlBufferCreate</a>          (void);
 <a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a>      <a 
href="#xmlBufferCreateSize">xmlBufferCreateSize</a>  (size_t size);
-<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a>      <a 
href="#xmlBufferCreateStatic">xmlBufferCreateStatic</a>      (void * mem, <br/>                               
        size_t size);
+<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a>      <a 
href="#xmlBufferCreateStatic">xmlBufferCreateStatic</a>      (void * mem, <br>                                
        size_t size);
 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * <a href="#xmlBufferDetach">xmlBufferDetach</a>        
  (<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf);
-int    <a href="#xmlBufferDump">xmlBufferDump</a>                      (FILE * file, <br/>                   
                   <a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf);
+int    <a href="#xmlBufferDump">xmlBufferDump</a>                      (FILE * file, <br>                    
                   <a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf);
 void   <a href="#xmlBufferEmpty">xmlBufferEmpty</a>                    (<a 
href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf);
 void   <a href="#xmlBufferFree">xmlBufferFree</a>                      (<a 
href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf);
-int    <a href="#xmlBufferGrow">xmlBufferGrow</a>                      (<a 
href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br/>                                    unsigned 
int len);
+int    <a href="#xmlBufferGrow">xmlBufferGrow</a>                      (<a 
href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>                                     unsigned 
int len);
 int    <a href="#xmlBufferLength">xmlBufferLength</a>                  (const <a 
href="libxml2-tree.html#xmlBuffer">xmlBuffer</a> * buf);
-int    <a href="#xmlBufferResize">xmlBufferResize</a>                  (<a 
href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br/>                                    unsigned 
int size);
-void   <a href="#xmlBufferSetAllocationScheme">xmlBufferSetAllocationScheme</a>        (<a 
href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br/>                                    <a 
href="libxml2-tree.html#xmlBufferAllocationScheme">xmlBufferAllocationScheme</a> scheme);
-int    <a href="#xmlBufferShrink">xmlBufferShrink</a>                  (<a 
href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br/>                                    unsigned 
int len);
-void   <a href="#xmlBufferWriteCHAR">xmlBufferWriteCHAR</a>            (<a 
href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br/>                                    const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * string);
-void   <a href="#xmlBufferWriteChar">xmlBufferWriteChar</a>            (<a 
href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br/>                                    const 
char * string);
-void   <a href="#xmlBufferWriteQuotedString">xmlBufferWriteQuotedString</a>    (<a 
href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br/>                                    const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * string);
-<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * <a href="#xmlBuildQName">xmlBuildQName</a>            
  (const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ncname, <br/>                                 
     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br/>                               
       <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * memory, <br/>                                   
 int len);
+int    <a href="#xmlBufferResize">xmlBufferResize</a>                  (<a 
href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>                                     unsigned 
int size);
+void   <a href="#xmlBufferSetAllocationScheme">xmlBufferSetAllocationScheme</a>        (<a 
href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>                                     <a 
href="libxml2-tree.html#xmlBufferAllocationScheme">xmlBufferAllocationScheme</a> scheme);
+int    <a href="#xmlBufferShrink">xmlBufferShrink</a>                  (<a 
href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>                                     unsigned 
int len);
+void   <a href="#xmlBufferWriteCHAR">xmlBufferWriteCHAR</a>            (<a 
href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>                                     const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * string);
+void   <a href="#xmlBufferWriteChar">xmlBufferWriteChar</a>            (<a 
href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>                                     const 
char * string);
+void   <a href="#xmlBufferWriteQuotedString">xmlBufferWriteQuotedString</a>    (<a 
href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>                                     const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * string);
+<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * <a href="#xmlBuildQName">xmlBuildQName</a>            
  (const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ncname, <br>                                  
     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br>                                
       <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * memory, <br>                                    
 int len);
 unsigned long  <a href="#xmlChildElementCount">xmlChildElementCount</a>        (<a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> parent);
-<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>    <a href="#xmlCopyDoc">xmlCopyDoc</a>            (<a 
href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>                                  int recursive);
+<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>    <a href="#xmlCopyDoc">xmlCopyDoc</a>            (<a 
href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>                                   int recursive);
 <a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a>    <a href="#xmlCopyDtd">xmlCopyDtd</a>            (<a 
href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd);
 <a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a>      <a href="#xmlCopyNamespace">xmlCopyNamespace</a>      
  (<a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> cur);
 <a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a>      <a 
href="#xmlCopyNamespaceList">xmlCopyNamespaceList</a>        (<a 
href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> cur);
-<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>  <a href="#xmlCopyNode">xmlCopyNode</a>          (<a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br/>                                       int 
extended);
+<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>  <a href="#xmlCopyNode">xmlCopyNode</a>          (<a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>                                        int 
extended);
 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>  <a href="#xmlCopyNodeList">xmlCopyNodeList</a>        
  (<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node);
-<a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a>  <a href="#xmlCopyProp">xmlCopyProp</a>          (<a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> target, <br/>                                     <a 
href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a> cur);
-<a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a>  <a href="#xmlCopyPropList">xmlCopyPropList</a>        
  (<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> target, <br/>                                     <a 
href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a> cur);
-<a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a>    <a href="#xmlCreateIntSubset">xmlCreateIntSubset</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);
-typedef <a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> <a 
href="#xmlDOMWrapAcquireNsFunction">xmlDOMWrapAcquireNsFunction</a>       (<a 
href="libxml2-tree.html#xmlDOMWrapCtxtPtr">xmlDOMWrapCtxtPtr</a> ctxt, <br/>                                  
               <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br/>                              
                 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * nsName, <br/>                   
                           const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * nsPrefix);
-int    <a href="#xmlDOMWrapAdoptNode">xmlDOMWrapAdoptNode</a>          (<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);
-int    <a href="#xmlDOMWrapCloneNode">xmlDOMWrapCloneNode</a>          (<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);
+<a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a>  <a href="#xmlCopyProp">xmlCopyProp</a>          (<a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> target, <br>                                      <a 
href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a> cur);
+<a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a>  <a href="#xmlCopyPropList">xmlCopyPropList</a>        
  (<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> target, <br>                                      <a 
href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a> cur);
+<a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a>    <a href="#xmlCreateIntSubset">xmlCreateIntSubset</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);
+typedef <a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> <a 
href="#xmlDOMWrapAcquireNsFunction">xmlDOMWrapAcquireNsFunction</a>       (<a 
href="libxml2-tree.html#xmlDOMWrapCtxtPtr">xmlDOMWrapCtxtPtr</a> ctxt, <br>                                   
       <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>                                       
         const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * nsName, <br>                            
                   const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * nsPrefix);
+int    <a href="#xmlDOMWrapAdoptNode">xmlDOMWrapAdoptNode</a>          (<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);
+int    <a href="#xmlDOMWrapCloneNode">xmlDOMWrapCloneNode</a>          (<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);
 void   <a href="#xmlDOMWrapFreeCtxt">xmlDOMWrapFreeCtxt</a>            (<a 
href="libxml2-tree.html#xmlDOMWrapCtxtPtr">xmlDOMWrapCtxtPtr</a> ctxt);
 <a href="libxml2-tree.html#xmlDOMWrapCtxtPtr">xmlDOMWrapCtxtPtr</a>    <a 
href="#xmlDOMWrapNewCtxt">xmlDOMWrapNewCtxt</a>      (void);
-int    <a href="#xmlDOMWrapReconcileNamespaces">xmlDOMWrapReconcileNamespaces</a>      (<a 
href="libxml2-tree.html#xmlDOMWrapCtxtPtr">xmlDOMWrapCtxtPtr</a> ctxt, <br/>                                  
       <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem, <br/>                                      
 int options);
-int    <a href="#xmlDOMWrapRemoveNode">xmlDOMWrapRemoveNode</a>                (<a 
href="libxml2-tree.html#xmlDOMWrapCtxtPtr">xmlDOMWrapCtxtPtr</a> ctxt, <br/>                                  
       <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>                                  <a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br/>                                       int 
options);
-<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>  <a href="#xmlDocCopyNode">xmlDocCopyNode</a>          
  (<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br/>                                       <a 
href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>                                  int extended);
-<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>  <a href="#xmlDocCopyNodeList">xmlDocCopyNodeList</a>  
  (<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>                                  <a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node);
-int    <a href="#xmlDocDump">xmlDocDump</a>                    (FILE * f, <br/>                              
           <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur);
-void   <a href="#xmlDocDumpFormatMemory">xmlDocDumpFormatMemory</a>            (<a 
href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br/>                                  <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** mem, <br/>                                      int * 
size, <br/>                                       int format);
-void   <a href="#xmlDocDumpFormatMemoryEnc">xmlDocDumpFormatMemoryEnc</a>      (<a 
href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> out_doc, <br/>                                      <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** doc_txt_ptr, <br/>                                      
int * doc_txt_len, <br/>                                        const char * txt_encoding, <br/>              
                          int format);
-void   <a href="#xmlDocDumpMemory">xmlDocDumpMemory</a>                (<a 
href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br/>                                  <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** mem, <br/>                                      int * 
size);
-void   <a href="#xmlDocDumpMemoryEnc">xmlDocDumpMemoryEnc</a>          (<a 
href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> out_doc, <br/>                                      <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** doc_txt_ptr, <br/>                                      
int * doc_txt_len, <br/>                                        const char * txt_encoding);
-int    <a href="#xmlDocFormatDump">xmlDocFormatDump</a>                (FILE * f, <br/>                      
                   <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br/>                             
     int format);
+int    <a href="#xmlDOMWrapReconcileNamespaces">xmlDOMWrapReconcileNamespaces</a>      (<a 
href="libxml2-tree.html#xmlDOMWrapCtxtPtr">xmlDOMWrapCtxtPtr</a> ctxt, <br>                                  
<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem, <br>                                        int 
options);
+int    <a href="#xmlDOMWrapRemoveNode">xmlDOMWrapRemoveNode</a>                (<a 
href="libxml2-tree.html#xmlDOMWrapCtxtPtr">xmlDOMWrapCtxtPtr</a> ctxt, <br>                                  
<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>                                   <a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>                                        int 
options);
+<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>  <a href="#xmlDocCopyNode">xmlDocCopyNode</a>          
  (<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>                                        <a 
href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>                                   int extended);
+<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>  <a href="#xmlDocCopyNodeList">xmlDocCopyNodeList</a>  
  (<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>                                   <a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node);
+int    <a href="#xmlDocDump">xmlDocDump</a>                    (FILE * f, <br>                               
   <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur);
+void   <a href="#xmlDocDumpFormatMemory">xmlDocDumpFormatMemory</a>            (<a 
href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br>                                   <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** mem, <br>                                       int * 
size, <br>                                        int format);
+void   <a href="#xmlDocDumpFormatMemoryEnc">xmlDocDumpFormatMemoryEnc</a>      (<a 
href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> out_doc, <br>                                       <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** doc_txt_ptr, <br>                                       
int * doc_txt_len, <br>                                         const char * txt_encoding, <br>               
                          int format);
+void   <a href="#xmlDocDumpMemory">xmlDocDumpMemory</a>                (<a 
href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br>                                   <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** mem, <br>                                       int * 
size);
+void   <a href="#xmlDocDumpMemoryEnc">xmlDocDumpMemoryEnc</a>          (<a 
href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> out_doc, <br>                                       <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** doc_txt_ptr, <br>                                       
int * doc_txt_len, <br>                                         const char * txt_encoding);
+int    <a href="#xmlDocFormatDump">xmlDocFormatDump</a>                (FILE * f, <br>                       
           <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br>                                   
int format);
 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>  <a 
href="#xmlDocGetRootElement">xmlDocGetRootElement</a>        (const <a 
href="libxml2-tree.html#xmlDoc">xmlDoc</a> * doc);
-<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>  <a 
href="#xmlDocSetRootElement">xmlDocSetRootElement</a>        (<a 
href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>                                  <a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> root);
-void   <a href="#xmlElemDump">xmlElemDump</a>                  (FILE * f, <br/>                              
           <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>                                  <a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
+<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>  <a 
href="#xmlDocSetRootElement">xmlDocSetRootElement</a>        (<a 
href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>                                   <a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> root);
+void   <a href="#xmlElemDump">xmlElemDump</a>                  (FILE * f, <br>                               
   <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>                                   <a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>  <a 
href="#xmlFirstElementChild">xmlFirstElementChild</a>        (<a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> parent);
 void   <a href="#xmlFreeDoc">xmlFreeDoc</a>                    (<a 
href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur);
 void   <a href="#xmlFreeDtd">xmlFreeDtd</a>                    (<a 
href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a> cur);
@@ -181,140 +160,177 @@ int     <a href="#xmlGetDocCompressMode">xmlGetDocCompressMode</a>              
(const <a href="
 <a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a>    <a href="#xmlGetIntSubset">xmlGetIntSubset</a>        
  (const <a href="libxml2-tree.html#xmlDoc">xmlDoc</a> * doc);
 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>  <a href="#xmlGetLastChild">xmlGetLastChild</a>        
  (const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * parent);
 long   <a href="#xmlGetLineNo">xmlGetLineNo</a>                        (const <a 
href="libxml2-tree.html#xmlNode">xmlNode</a> * node);
-<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * <a href="#xmlGetNoNsProp">xmlGetNoNsProp</a>          
  (const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * node, <br/>                                     
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
+<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * <a href="#xmlGetNoNsProp">xmlGetNoNsProp</a>          
  (const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * node, <br>                                      
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * <a href="#xmlGetNodePath">xmlGetNodePath</a>          
  (const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * node);
-<a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> *    <a href="#xmlGetNsList">xmlGetNsList</a>              
  (const <a href="libxml2-tree.html#xmlDoc">xmlDoc</a> * doc, <br/>                                        
const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * node);
-<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * <a href="#xmlGetNsProp">xmlGetNsProp</a>              
  (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);
-<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * <a href="#xmlGetProp">xmlGetProp</a>            
(const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * node, <br/>                                     
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
-<a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a>  <a href="#xmlHasNsProp">xmlHasNsProp</a>              
  (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);
-<a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a>  <a href="#xmlHasProp">xmlHasProp</a>            
(const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * node, <br/>                                     
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
+<a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> *    <a href="#xmlGetNsList">xmlGetNsList</a>              
  (const <a href="libxml2-tree.html#xmlDoc">xmlDoc</a> * doc, <br>                                         
const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * node);
+<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * <a href="#xmlGetNsProp">xmlGetNsProp</a>              
  (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);
+<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * <a href="#xmlGetProp">xmlGetProp</a>            
(const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * node, <br>                                      
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
+<a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a>  <a href="#xmlHasNsProp">xmlHasNsProp</a>              
  (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);
+<a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a>  <a href="#xmlHasProp">xmlHasProp</a>            
(const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * node, <br>                                      
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
 int    <a href="#xmlIsBlankNode">xmlIsBlankNode</a>                    (const <a 
href="libxml2-tree.html#xmlNode">xmlNode</a> * node);
-int    <a href="#xmlIsXHTML">xmlIsXHTML</a>                    (const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * systemID, <br/>                                    const 
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * publicID);
+int    <a href="#xmlIsXHTML">xmlIsXHTML</a>                    (const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * systemID, <br>                                     const 
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * publicID);
 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>  <a 
href="#xmlLastElementChild">xmlLastElementChild</a>  (<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> 
parent);
-<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>  <a href="#xmlNewCDataBlock">xmlNewCDataBlock</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#xmlNodePtr">xmlNodePtr</a>  <a href="#xmlNewCharRef">xmlNewCharRef</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#xmlNodePtr">xmlNodePtr</a>  <a href="#xmlNewChild">xmlNewChild</a>          (<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);
+<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>  <a href="#xmlNewCDataBlock">xmlNewCDataBlock</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#xmlNodePtr">xmlNodePtr</a>  <a href="#xmlNewCharRef">xmlNewCharRef</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#xmlNodePtr">xmlNodePtr</a>  <a href="#xmlNewChild">xmlNewChild</a>          (<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);
 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>  <a href="#xmlNewComment">xmlNewComment</a>            
  (const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>    <a href="#xmlNewDoc">xmlNewDoc</a>              
(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * version);
-<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>  <a href="#xmlNewDocComment">xmlNewDocComment</a>      
  (<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>                                  const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
+<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>  <a href="#xmlNewDocComment">xmlNewDocComment</a>      
  (<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>                                   const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>  <a href="#xmlNewDocFragment">xmlNewDocFragment</a>    
  (<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc);
-<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>  <a href="#xmlNewDocNode">xmlNewDocNode</a>            
  (<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);
-<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>  <a 
href="#xmlNewDocNodeEatName">xmlNewDocNodeEatName</a>        (<a 
href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>                                  <a 
href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> ns, <br/>                                     <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>                                      const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
-<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>  <a href="#xmlNewDocPI">xmlNewDocPI</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> * content);
-<a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a>  <a href="#xmlNewDocProp">xmlNewDocProp</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> * value);
-<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>  <a href="#xmlNewDocRawNode">xmlNewDocRawNode</a>      
  (<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);
-<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);
-<a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a>  <a href="#xmlNewNsProp">xmlNewNsProp</a>              
  (<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);
-<a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a>  <a 
href="#xmlNewNsPropEatName">xmlNewNsPropEatName</a>  (<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> 
node, <br/>                                       <a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> ns, <br/> 
                                    <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>        
                              const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value);
-<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>  <a href="#xmlNewPI">xmlNewPI</a>                
(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>                                     
   const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
-<a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a>  <a href="#xmlNewProp">xmlNewProp</a>            (<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);
-<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>  <a href="#xmlNewReference">xmlNewReference</a>        
  (const <a href="libxml2-tree.html#xmlDoc">xmlDoc</a> * doc, <br/>                                        
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
+<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>  <a href="#xmlNewDocNode">xmlNewDocNode</a>            
  (<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);
+<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>  <a 
href="#xmlNewDocNodeEatName">xmlNewDocNodeEatName</a>        (<a 
href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>                                   <a 
href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> ns, <br>                                      <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>                                       const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
+<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>  <a href="#xmlNewDocPI">xmlNewDocPI</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> * content);
+<a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a>  <a href="#xmlNewDocProp">xmlNewDocProp</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> * value);
+<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>  <a href="#xmlNewDocRawNode">xmlNewDocRawNode</a>      
  (<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);
+<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);
+<a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a>  <a href="#xmlNewNsProp">xmlNewNsProp</a>              
  (<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);
+<a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a>  <a 
href="#xmlNewNsPropEatName">xmlNewNsPropEatName</a>  (<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> 
node, <br>                                        <a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> ns, <br>  
                                    <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>         
                              const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value);
+<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>  <a href="#xmlNewPI">xmlNewPI</a>                
(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>                                      
   const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
+<a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a>  <a href="#xmlNewProp">xmlNewProp</a>            (<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);
+<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>  <a href="#xmlNewReference">xmlNewReference</a>        
  (const <a href="libxml2-tree.html#xmlDoc">xmlDoc</a> * doc, <br>                                         
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>  <a href="#xmlNewText">xmlNewText</a>            
(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
-<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>  <a href="#xmlNewTextChild">xmlNewTextChild</a>        
  (<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);
-<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>  <a href="#xmlNewTextLen">xmlNewTextLen</a>            
  (const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content, <br/>                                
     int len);
+<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>  <a href="#xmlNewTextChild">xmlNewTextChild</a>        
  (<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);
+<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>  <a href="#xmlNewTextLen">xmlNewTextLen</a>            
  (const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content, <br>                                 
     int len);
 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>  <a 
href="#xmlNextElementSibling">xmlNextElementSibling</a>      (<a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node);
-void   <a href="#xmlNodeAddContent">xmlNodeAddContent</a>              (<a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br/>                                        const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
-void   <a href="#xmlNodeAddContentLen">xmlNodeAddContentLen</a>                (<a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br/>                                        const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content, <br/>                                     int 
len);
-int    <a href="#xmlNodeBufGetContent">xmlNodeBufGetContent</a>                (<a 
href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buffer, <br/>                                         
const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * cur);
-int    <a href="#xmlNodeDump">xmlNodeDump</a>                  (<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#xmlNodePtr">xmlNodePtr</a> cur, <br/>                                        int 
level, <br/>                                        int format);
-void   <a href="#xmlNodeDumpOutput">xmlNodeDumpOutput</a>              (<a 
href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf, <br/>                                 
       <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>                                  <a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br/>                                        int 
level, <br/>                                        int format, <br/>                                       
const char * encoding);
-<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * <a href="#xmlNodeGetBase">xmlNodeGetBase</a>          
  (const <a href="libxml2-tree.html#xmlDoc">xmlDoc</a> * doc, <br/>                                        
const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * cur);
+void   <a href="#xmlNodeAddContent">xmlNodeAddContent</a>              (<a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br>                                         const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
+void   <a href="#xmlNodeAddContentLen">xmlNodeAddContentLen</a>                (<a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br>                                         const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content, <br>                                      int 
len);
+int    <a href="#xmlNodeBufGetContent">xmlNodeBufGetContent</a>                (<a 
href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buffer, <br>                                  const <a 
href="libxml2-tree.html#xmlNode">xmlNode</a> * cur);
+int    <a href="#xmlNodeDump">xmlNodeDump</a>                  (<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#xmlNodePtr">xmlNodePtr</a> cur, <br>                                         int 
level, <br>                                         int format);
+void   <a href="#xmlNodeDumpOutput">xmlNodeDumpOutput</a>              (<a 
href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf, <br>                                  
       <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>                                   <a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br>                                         int 
level, <br>                                         int format, <br>                                        
const char * encoding);
+<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * <a href="#xmlNodeGetBase">xmlNodeGetBase</a>          
  (const <a href="libxml2-tree.html#xmlDoc">xmlDoc</a> * doc, <br>                                         
const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * cur);
 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * <a href="#xmlNodeGetContent">xmlNodeGetContent</a>    
  (const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * cur);
 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * <a href="#xmlNodeGetLang">xmlNodeGetLang</a>          
  (const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * cur);
 int    <a href="#xmlNodeGetSpacePreserve">xmlNodeGetSpacePreserve</a>          (const <a 
href="libxml2-tree.html#xmlNode">xmlNode</a> * cur);
 int    <a href="#xmlNodeIsText">xmlNodeIsText</a>                      (const <a 
href="libxml2-tree.html#xmlNode">xmlNode</a> * node);
-<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * <a 
href="#xmlNodeListGetRawString">xmlNodeListGetRawString</a>  (const <a 
href="libxml2-tree.html#xmlDoc">xmlDoc</a> * doc, <br/>                                        const <a 
href="libxml2-tree.html#xmlNode">xmlNode</a> * list, <br/>                                     int inLine);
-<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * <a 
href="#xmlNodeListGetString">xmlNodeListGetString</a>        (<a 
href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>                                  const <a 
href="libxml2-tree.html#xmlNode">xmlNode</a> * list, <br/>                                     int inLine);
-void   <a href="#xmlNodeSetBase">xmlNodeSetBase</a>                    (<a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br/>                                        const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * uri);
-void   <a href="#xmlNodeSetContent">xmlNodeSetContent</a>              (<a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br/>                                        const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
-void   <a href="#xmlNodeSetContentLen">xmlNodeSetContentLen</a>                (<a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br/>                                        const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content, <br/>                                     int 
len);
-void   <a href="#xmlNodeSetLang">xmlNodeSetLang</a>                    (<a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br/>                                        const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * lang);
-void   <a href="#xmlNodeSetName">xmlNodeSetName</a>                    (<a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br/>                                        const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
-void   <a href="#xmlNodeSetSpacePreserve">xmlNodeSetSpacePreserve</a>          (<a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br/>                                        int val);
+<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * <a 
href="#xmlNodeListGetRawString">xmlNodeListGetRawString</a>  (const <a 
href="libxml2-tree.html#xmlDoc">xmlDoc</a> * doc, <br>                                         const <a 
href="libxml2-tree.html#xmlNode">xmlNode</a> * list, <br>                                      int inLine);
+<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * <a 
href="#xmlNodeListGetString">xmlNodeListGetString</a>        (<a 
href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>                                   const <a 
href="libxml2-tree.html#xmlNode">xmlNode</a> * list, <br>                                      int inLine);
+void   <a href="#xmlNodeSetBase">xmlNodeSetBase</a>                    (<a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br>                                         const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * uri);
+void   <a href="#xmlNodeSetContent">xmlNodeSetContent</a>              (<a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br>                                         const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
+void   <a href="#xmlNodeSetContentLen">xmlNodeSetContentLen</a>                (<a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br>                                         const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content, <br>                                      int 
len);
+void   <a href="#xmlNodeSetLang">xmlNodeSetLang</a>                    (<a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br>                                         const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * lang);
+void   <a href="#xmlNodeSetName">xmlNodeSetName</a>                    (<a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br>                                         const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
+void   <a href="#xmlNodeSetSpacePreserve">xmlNodeSetSpacePreserve</a>          (<a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br>                                         int val);
 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>  <a 
href="#xmlPreviousElementSibling">xmlPreviousElementSibling</a>      (<a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node);
-int    <a href="#xmlReconciliateNs">xmlReconciliateNs</a>              (<a 
href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>                                  <a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> tree);
+int    <a href="#xmlReconciliateNs">xmlReconciliateNs</a>              (<a 
href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>                                   <a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> tree);
 int    <a href="#xmlRemoveProp">xmlRemoveProp</a>                      (<a 
href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a> cur);
-<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>  <a href="#xmlReplaceNode">xmlReplaceNode</a>          
  (<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> old, <br/>                                        <a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
-int    <a href="#xmlSaveFile">xmlSaveFile</a>                  (const char * filename, <br/>                 
                   <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur);
-int    <a href="#xmlSaveFileEnc">xmlSaveFileEnc</a>                    (const char * filename, <br/>         
                           <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br/>                     
             const char * encoding);
-int    <a href="#xmlSaveFileTo">xmlSaveFileTo</a>                      (<a 
href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf, <br/>                                 
       <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br/>                                  const 
char * encoding);
-int    <a href="#xmlSaveFormatFile">xmlSaveFormatFile</a>              (const char * filename, <br/>         
                           <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br/>                     
             int format);
-int    <a href="#xmlSaveFormatFileEnc">xmlSaveFormatFileEnc</a>                (const char * filename, <br/> 
                                   <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br/>             
                     const char * encoding, <br/>                                    int format);
-int    <a href="#xmlSaveFormatFileTo">xmlSaveFormatFileTo</a>          (<a 
href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf, <br/>                                 
       <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br/>                                  const 
char * encoding, <br/>                                    int format);
-<a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a>      <a href="#xmlSearchNs">xmlSearchNs</a>          (<a 
href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>                                  <a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br/>                                       const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * nameSpace);
-<a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a>      <a href="#xmlSearchNsByHref">xmlSearchNsByHref</a>    
  (<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>                                  <a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br/>                                       const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * href);
+<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>  <a href="#xmlReplaceNode">xmlReplaceNode</a>          
  (<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> old, <br>                                         <a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
+int    <a href="#xmlSaveFile">xmlSaveFile</a>                  (const char * filename, <br>                  
                   <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur);
+int    <a href="#xmlSaveFileEnc">xmlSaveFileEnc</a>                    (const char * filename, <br>          
                           <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br>                      
             const char * encoding);
+int    <a href="#xmlSaveFileTo">xmlSaveFileTo</a>                      (<a 
href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf, <br>                                  
       <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br>                                   const 
char * encoding);
+int    <a href="#xmlSaveFormatFile">xmlSaveFormatFile</a>              (const char * filename, <br>          
                           <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br>                      
             int format);
+int    <a href="#xmlSaveFormatFileEnc">xmlSaveFormatFileEnc</a>                (const char * filename, <br>  
                                   <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br>              
                     const char * encoding, <br>                                     int format);
+int    <a href="#xmlSaveFormatFileTo">xmlSaveFormatFileTo</a>          (<a 
href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf, <br>                                  
       <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br>                                   const 
char * encoding, <br>                                     int format);
+<a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a>      <a href="#xmlSearchNs">xmlSearchNs</a>          (<a 
href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>                                   <a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>                                        const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * nameSpace);
+<a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a>      <a href="#xmlSearchNsByHref">xmlSearchNsByHref</a>    
  (<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>                                   <a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>                                        const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * href);
 void   <a href="#xmlSetBufferAllocationScheme">xmlSetBufferAllocationScheme</a>        (<a 
href="libxml2-tree.html#xmlBufferAllocationScheme">xmlBufferAllocationScheme</a> scheme);
 void   <a href="#xmlSetCompressMode">xmlSetCompressMode</a>            (int mode);
-void   <a href="#xmlSetDocCompressMode">xmlSetDocCompressMode</a>              (<a 
href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>                                  int mode);
-void   <a href="#xmlSetListDoc">xmlSetListDoc</a>                      (<a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> list, <br/>                                       <a 
href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc);
-void   <a href="#xmlSetNs">xmlSetNs</a>                        (<a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br/>                                       <a 
href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> ns);
-<a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a>  <a href="#xmlSetNsProp">xmlSetNsProp</a>              
  (<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);
-<a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a>  <a href="#xmlSetProp">xmlSetProp</a>            (<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);
-void   <a href="#xmlSetTreeDoc">xmlSetTreeDoc</a>                      (<a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> tree, <br/>                                       <a 
href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc);
-<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * <a href="#xmlSplitQName2">xmlSplitQName2</a>          
  (const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>                                   
     <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** prefix);
-const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *   <a href="#xmlSplitQName3">xmlSplitQName3</a>  
          (const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>                           
             int * len);
-<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>  <a 
href="#xmlStringGetNodeList">xmlStringGetNodeList</a>        (const <a 
href="libxml2-tree.html#xmlDoc">xmlDoc</a> * doc, <br/>                                        const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value);
-<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);
+void   <a href="#xmlSetDocCompressMode">xmlSetDocCompressMode</a>              (<a 
href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>                                   int mode);
+void   <a href="#xmlSetListDoc">xmlSetListDoc</a>                      (<a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> list, <br>                                        <a 
href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc);
+void   <a href="#xmlSetNs">xmlSetNs</a>                        (<a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>                                        <a 
href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> ns);
+<a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a>  <a href="#xmlSetNsProp">xmlSetNsProp</a>              
  (<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);
+<a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a>  <a href="#xmlSetProp">xmlSetProp</a>            (<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);
+void   <a href="#xmlSetTreeDoc">xmlSetTreeDoc</a>                      (<a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> tree, <br>                                        <a 
href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc);
+<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * <a href="#xmlSplitQName2">xmlSplitQName2</a>          
  (const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>                                    
     <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** prefix);
+const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *   <a href="#xmlSplitQName3">xmlSplitQName3</a>  
          (const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>                            
             int * len);
+<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>  <a 
href="#xmlStringGetNodeList">xmlStringGetNodeList</a>        (const <a 
href="libxml2-tree.html#xmlDoc">xmlDoc</a> * doc, <br>                                         const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value);
+<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);
 void   <a href="#xmlUnlinkNode">xmlUnlinkNode</a>                      (<a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
-int    <a href="#xmlUnsetNsProp">xmlUnsetNsProp</a>                    (<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);
-int    <a href="#xmlUnsetProp">xmlUnsetProp</a>                        (<a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br/>                                       const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
-int    <a href="#xmlValidateNCName">xmlValidateNCName</a>              (const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br/>                                       int 
space);
-int    <a href="#xmlValidateNMToken">xmlValidateNMToken</a>            (const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br/>                                       int 
space);
-int    <a href="#xmlValidateName">xmlValidateName</a>                  (const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br/>                                       int 
space);
-int    <a href="#xmlValidateQName">xmlValidateQName</a>                (const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br/>                                       int 
space);
-</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="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><p>Macro used to express that the API use the new buffers for <a 
href="libxml2-tree.html#xmlParserInputBuffer">xmlParserInputBuffer</a> and xmlOutputBuffer. The change was 
introduced in 2.9.0.</p>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_GET_CONTENT">Macro </a>XML_GET_CONTENT</h3><pre 
class="programlisting">#define <a href="#XML_GET_CONTENT">XML_GET_CONTENT</a>;
-</pre><p>Macro to extract the content pointer of a node.</p>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_GET_LINE">Macro </a>XML_GET_LINE</h3><pre 
class="programlisting">#define <a href="#XML_GET_LINE">XML_GET_LINE</a>;
-</pre><p>Macro to extract the line number of an element node.</p>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_LOCAL_NAMESPACE">Macro 
</a>XML_LOCAL_NAMESPACE</h3><pre class="programlisting">#define <a 
href="#XML_LOCAL_NAMESPACE">XML_LOCAL_NAMESPACE</a>;
-</pre><p>A namespace declaration node.</p>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><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>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_XML_NAMESPACE">Macro </a>XML_XML_NAMESPACE</h3><pre 
class="programlisting">#define <a href="#XML_XML_NAMESPACE">XML_XML_NAMESPACE</a>;
-</pre><p>This is the namespace for the special xml: prefix predefined in the XML Namespace specification.</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><p>Macro for compatibility naming layer with libxml1. Maps to "children."</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><p>Macro for compatibility naming layer with libxml1. Maps to "children".</p>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlAttr">Structure </a>xmlAttr</h3><pre 
class="programlisting">struct _xmlAttr {
+int    <a href="#xmlUnsetNsProp">xmlUnsetNsProp</a>                    (<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);
+int    <a href="#xmlUnsetProp">xmlUnsetProp</a>                        (<a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>                                        const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
+int    <a href="#xmlValidateNCName">xmlValidateNCName</a>              (const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br>                                        int 
space);
+int    <a href="#xmlValidateNMToken">xmlValidateNMToken</a>            (const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br>                                        int 
space);
+int    <a href="#xmlValidateName">xmlValidateName</a>                  (const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br>                                        int 
space);
+int    <a href="#xmlValidateQName">xmlValidateQName</a>                (const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br>                                        int 
space);
+</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="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>
+<p>Macro used to express that the API use the new buffers for <a 
href="libxml2-tree.html#xmlParserInputBuffer">xmlParserInputBuffer</a> and xmlOutputBuffer. The change was 
introduced in 2.9.0.</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_GET_CONTENT">Macro </a>XML_GET_CONTENT</h3>
+<pre class="programlisting">#define <a href="#XML_GET_CONTENT">XML_GET_CONTENT</a>;
+</pre>
+<p>Macro to extract the content pointer of a node.</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_GET_LINE">Macro </a>XML_GET_LINE</h3>
+<pre class="programlisting">#define <a href="#XML_GET_LINE">XML_GET_LINE</a>;
+</pre>
+<p>Macro to extract the line number of an element node.</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_LOCAL_NAMESPACE">Macro </a>XML_LOCAL_NAMESPACE</h3>
+<pre class="programlisting">#define <a href="#XML_LOCAL_NAMESPACE">XML_LOCAL_NAMESPACE</a>;
+</pre>
+<p>A namespace declaration node.</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_XML_NAMESPACE">Macro </a>XML_XML_NAMESPACE</h3>
+<pre class="programlisting">#define <a href="#XML_XML_NAMESPACE">XML_XML_NAMESPACE</a>;
+</pre>
+<p>This is the namespace for the special xml: prefix predefined in the XML Namespace specification.</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>
+<p>Macro for compatibility naming layer with libxml1. Maps to "children."</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>
+<p>Macro for compatibility naming layer with libxml1. Maps to "children".</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<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
@@ -328,14 +344,22 @@ int       <a href="#xmlValidateQName">xmlValidateQName</a>                (const <a 
href="libxml2-xm
     <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
 } xmlAttr;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlAttrPtr">Typedef </a>xmlAttrPtr</h3><pre 
class="programlisting"><a href="libxml2-tree.html#xmlAttr">xmlAttr</a> * xmlAttrPtr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlAttrPtr">Typedef </a>xmlAttrPtr</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlAttr">xmlAttr</a> * xmlAttrPtr;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlAttribute">Structure </a>xmlAttribute</h3><pre 
class="programlisting">struct _xmlAttribute {
+<hr>
+<div class="refsect2" lang="en">
+<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
@@ -353,23 +377,35 @@ int       <a href="#xmlValidateQName">xmlValidateQName</a>                (const <a 
href="libxml2-xm
     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>
 } xmlAttribute;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlAttributeDefault">Enum 
</a>xmlAttributeDefault</h3><pre class="programlisting">enum <a 
href="#xmlAttributeDefault">xmlAttributeDefault</a> {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlAttributeDefault">Enum </a>xmlAttributeDefault</h3>
+<pre class="programlisting">enum <a href="#xmlAttributeDefault">xmlAttributeDefault</a> {
     <a name="XML_ATTRIBUTE_NONE">XML_ATTRIBUTE_NONE</a> = 1
     <a name="XML_ATTRIBUTE_REQUIRED">XML_ATTRIBUTE_REQUIRED</a> = 2
     <a name="XML_ATTRIBUTE_IMPLIED">XML_ATTRIBUTE_IMPLIED</a> = 3
     <a name="XML_ATTRIBUTE_FIXED">XML_ATTRIBUTE_FIXED</a> = 4
 };
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlAttributePtr">Typedef </a>xmlAttributePtr</h3><pre 
class="programlisting"><a href="libxml2-tree.html#xmlAttribute">xmlAttribute</a> * xmlAttributePtr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlAttributePtr">Typedef </a>xmlAttributePtr</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlAttribute">xmlAttribute</a> * xmlAttributePtr;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlAttributeType">Enum </a>xmlAttributeType</h3><pre 
class="programlisting">enum <a href="#xmlAttributeType">xmlAttributeType</a> {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlAttributeType">Enum </a>xmlAttributeType</h3>
+<pre class="programlisting">enum <a href="#xmlAttributeType">xmlAttributeType</a> {
     <a name="XML_ATTRIBUTE_CDATA">XML_ATTRIBUTE_CDATA</a> = 1
     <a name="XML_ATTRIBUTE_ID">XML_ATTRIBUTE_ID</a> = 2
     <a name="XML_ATTRIBUTE_IDREF">XML_ATTRIBUTE_IDREF</a> = 3
@@ -381,30 +417,46 @@ int       <a href="#xmlValidateQName">xmlValidateQName</a>                (const <a 
href="libxml2-xm
     <a name="XML_ATTRIBUTE_ENUMERATION">XML_ATTRIBUTE_ENUMERATION</a> = 9
     <a name="XML_ATTRIBUTE_NOTATION">XML_ATTRIBUTE_NOTATION</a> = 10
 };
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlBuf">Structure </a>xmlBuf</h3><pre 
class="programlisting">struct _xmlBuf {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlBuf">Structure </a>xmlBuf</h3>
+<pre class="programlisting">struct _xmlBuf {
 The content of this structure is not made public by the API.
 } xmlBuf;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlBufPtr">Typedef </a>xmlBufPtr</h3><pre 
class="programlisting"><a href="libxml2-tree.html#xmlBuf">xmlBuf</a> * xmlBufPtr;
-</pre><p>A pointer to a buffer structure, the actual structure internals are not public</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlBufPtr">Typedef </a>xmlBufPtr</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlBuf">xmlBuf</a> * xmlBufPtr;
+</pre>
+<p>A pointer to a buffer structure, the actual structure internals are not public</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlBuffer">Structure </a>xmlBuffer</h3><pre 
class="programlisting">struct _xmlBuffer {
+<hr>
+<div class="refsect2" lang="en">
+<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
 } xmlBuffer;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlBufferAllocationScheme">Enum 
</a>xmlBufferAllocationScheme</h3><pre class="programlisting">enum <a 
href="#xmlBufferAllocationScheme">xmlBufferAllocationScheme</a> {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlBufferAllocationScheme">Enum </a>xmlBufferAllocationScheme</h3>
+<pre class="programlisting">enum <a href="#xmlBufferAllocationScheme">xmlBufferAllocationScheme</a> {
     <a name="XML_BUFFER_ALLOC_DOUBLEIT">XML_BUFFER_ALLOC_DOUBLEIT</a> = 1 /* double each time one need to 
grow */
     <a name="XML_BUFFER_ALLOC_EXACT">XML_BUFFER_ALLOC_EXACT</a> = 2 /* grow only to the minimal size */
     <a name="XML_BUFFER_ALLOC_IMMUTABLE">XML_BUFFER_ALLOC_IMMUTABLE</a> = 3 /* immutable buffer */
@@ -412,27 +464,43 @@ The content of this structure is not made public by the API.
     <a name="XML_BUFFER_ALLOC_HYBRID">XML_BUFFER_ALLOC_HYBRID</a> = 5 /* exact up to a threshold, and 
doubleit thereafter */
     <a name="XML_BUFFER_ALLOC_BOUNDED">XML_BUFFER_ALLOC_BOUNDED</a> = 6 /*  limit the upper size of the 
buffer */
 };
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlBufferPtr">Typedef </a>xmlBufferPtr</h3><pre 
class="programlisting"><a href="libxml2-tree.html#xmlBuffer">xmlBuffer</a> * xmlBufferPtr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlBufferPtr">Typedef </a>xmlBufferPtr</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlBuffer">xmlBuffer</a> * xmlBufferPtr;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlDOMWrapCtxt">Structure </a>xmlDOMWrapCtxt</h3><pre 
class="programlisting">struct _xmlDOMWrapCtxt {
+<hr>
+<div class="refsect2" lang="en">
+<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
     <a href="libxml2-tree.html#xmlDOMWrapAcquireNsFunction">xmlDOMWrapAcquireNsFunction</a>    
getNsForNodeFunc
 } xmlDOMWrapCtxt;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlDOMWrapCtxtPtr">Typedef 
</a>xmlDOMWrapCtxtPtr</h3><pre class="programlisting"><a 
href="libxml2-tree.html#xmlDOMWrapCtxt">xmlDOMWrapCtxt</a> * xmlDOMWrapCtxtPtr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlDOMWrapCtxtPtr">Typedef </a>xmlDOMWrapCtxtPtr</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlDOMWrapCtxt">xmlDOMWrapCtxt</a> * 
xmlDOMWrapCtxtPtr;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlDoc">Structure </a>xmlDoc</h3><pre 
class="programlisting">struct _xmlDoc {
+<hr>
+<div class="refsect2" lang="en">
+<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
@@ -458,10 +526,14 @@ The content of this structure is not made public by the API.
     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
 } xmlDoc;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlDocProperties">Enum </a>xmlDocProperties</h3><pre 
class="programlisting">enum <a href="#xmlDocProperties">xmlDocProperties</a> {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlDocProperties">Enum </a>xmlDocProperties</h3>
+<pre class="programlisting">enum <a href="#xmlDocProperties">xmlDocProperties</a> {
     <a name="XML_DOC_WELLFORMED">XML_DOC_WELLFORMED</a> = 1 /* document is XML well formed */
     <a name="XML_DOC_NSVALID">XML_DOC_NSVALID</a> = 2 /* document is Namespace valid */
     <a name="XML_DOC_OLD10">XML_DOC_OLD10</a> = 4 /* parsed with old XML-1.0 parser */
@@ -471,14 +543,22 @@ The content of this structure is not made public by the API.
     <a name="XML_DOC_INTERNAL">XML_DOC_INTERNAL</a> = 64 /* built for internal processing */
     <a name="XML_DOC_HTML">XML_DOC_HTML</a> = 128 /*  parsed or built HTML document */
 };
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlDocPtr">Typedef </a>xmlDocPtr</h3><pre 
class="programlisting"><a href="libxml2-tree.html#xmlDoc">xmlDoc</a> * xmlDocPtr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlDocPtr">Typedef </a>xmlDocPtr</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlDoc">xmlDoc</a> * xmlDocPtr;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlDtd">Structure </a>xmlDtd</h3><pre 
class="programlisting">struct _xmlDtd {
+<hr>
+<div class="refsect2" lang="en">
+<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
@@ -496,14 +576,22 @@ The content of this structure is not made public by the API.
     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
 } xmlDtd;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlDtdPtr">Typedef </a>xmlDtdPtr</h3><pre 
class="programlisting"><a href="libxml2-tree.html#xmlDtd">xmlDtd</a> * xmlDtdPtr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlDtdPtr">Typedef </a>xmlDtdPtr</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlDtd">xmlDtd</a> * xmlDtdPtr;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlElement">Structure </a>xmlElement</h3><pre 
class="programlisting">struct _xmlElement {
+<hr>
+<div class="refsect2" lang="en">
+<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
@@ -520,10 +608,14 @@ The content of this structure is not made public by the API.
     <a href="libxml2-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a>     contModel       : the validating 
regexp
     void *     contModel
 } xmlElement;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlElementContent">Structure 
</a>xmlElementContent</h3><pre class="programlisting">struct _xmlElementContent {
+<hr>
+<div class="refsect2" lang="en">
+<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
@@ -532,36 +624,56 @@ The content of this structure is not made public by the API.
     struct _xmlElementContent *        parent  : parent
     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *       prefix  : Namespace prefix
 } xmlElementContent;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlElementContentOccur">Enum 
</a>xmlElementContentOccur</h3><pre class="programlisting">enum <a 
href="#xmlElementContentOccur">xmlElementContentOccur</a> {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlElementContentOccur">Enum </a>xmlElementContentOccur</h3>
+<pre class="programlisting">enum <a href="#xmlElementContentOccur">xmlElementContentOccur</a> {
     <a name="XML_ELEMENT_CONTENT_ONCE">XML_ELEMENT_CONTENT_ONCE</a> = 1
     <a name="XML_ELEMENT_CONTENT_OPT">XML_ELEMENT_CONTENT_OPT</a> = 2
     <a name="XML_ELEMENT_CONTENT_MULT">XML_ELEMENT_CONTENT_MULT</a> = 3
     <a name="XML_ELEMENT_CONTENT_PLUS">XML_ELEMENT_CONTENT_PLUS</a> = 4
 };
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlElementContentPtr">Typedef 
</a>xmlElementContentPtr</h3><pre class="programlisting"><a 
href="libxml2-tree.html#xmlElementContent">xmlElementContent</a> * xmlElementContentPtr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlElementContentPtr">Typedef </a>xmlElementContentPtr</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlElementContent">xmlElementContent</a> * 
xmlElementContentPtr;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlElementContentType">Enum 
</a>xmlElementContentType</h3><pre class="programlisting">enum <a 
href="#xmlElementContentType">xmlElementContentType</a> {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlElementContentType">Enum </a>xmlElementContentType</h3>
+<pre class="programlisting">enum <a href="#xmlElementContentType">xmlElementContentType</a> {
     <a name="XML_ELEMENT_CONTENT_PCDATA">XML_ELEMENT_CONTENT_PCDATA</a> = 1
     <a name="XML_ELEMENT_CONTENT_ELEMENT">XML_ELEMENT_CONTENT_ELEMENT</a> = 2
     <a name="XML_ELEMENT_CONTENT_SEQ">XML_ELEMENT_CONTENT_SEQ</a> = 3
     <a name="XML_ELEMENT_CONTENT_OR">XML_ELEMENT_CONTENT_OR</a> = 4
 };
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlElementPtr">Typedef </a>xmlElementPtr</h3><pre 
class="programlisting"><a href="libxml2-tree.html#xmlElement">xmlElement</a> * xmlElementPtr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlElementPtr">Typedef </a>xmlElementPtr</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlElement">xmlElement</a> * xmlElementPtr;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlElementType">Enum </a>xmlElementType</h3><pre 
class="programlisting">enum <a href="#xmlElementType">xmlElementType</a> {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlElementType">Enum </a>xmlElementType</h3>
+<pre class="programlisting">enum <a href="#xmlElementType">xmlElementType</a> {
     <a name="XML_ELEMENT_NODE">XML_ELEMENT_NODE</a> = 1
     <a name="XML_ATTRIBUTE_NODE">XML_ATTRIBUTE_NODE</a> = 2
     <a name="XML_TEXT_NODE">XML_TEXT_NODE</a> = 3
@@ -583,20 +695,28 @@ The content of this structure is not made public by the API.
     <a name="XML_XINCLUDE_START">XML_XINCLUDE_START</a> = 19
     <a name="XML_XINCLUDE_END">XML_XINCLUDE_END</a> = 20 /*  XML_DOCB_DOCUMENT_NODE= 21 removed */
 };
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlElementTypeVal">Enum </a>xmlElementTypeVal</h3><pre 
class="programlisting">enum <a href="#xmlElementTypeVal">xmlElementTypeVal</a> {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlElementTypeVal">Enum </a>xmlElementTypeVal</h3>
+<pre class="programlisting">enum <a href="#xmlElementTypeVal">xmlElementTypeVal</a> {
     <a name="XML_ELEMENT_TYPE_UNDEFINED">XML_ELEMENT_TYPE_UNDEFINED</a> = 0
     <a name="XML_ELEMENT_TYPE_EMPTY">XML_ELEMENT_TYPE_EMPTY</a> = 1
     <a name="XML_ELEMENT_TYPE_ANY">XML_ELEMENT_TYPE_ANY</a> = 2
     <a name="XML_ELEMENT_TYPE_MIXED">XML_ELEMENT_TYPE_MIXED</a> = 3
     <a name="XML_ELEMENT_TYPE_ELEMENT">XML_ELEMENT_TYPE_ELEMENT</a> = 4
 };
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlEntity">Structure </a>xmlEntity</h3><pre 
class="programlisting">struct _xmlEntity {
+<hr>
+<div class="refsect2" lang="en">
+<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
@@ -617,25 +737,41 @@ The content of this structure is not made public by the API.
     int        owner   : does the entity own the childrens
     int        checked : was the entity content checked this is also used to count entities *
 } xmlEntity;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlEntityPtr">Typedef </a>xmlEntityPtr</h3><pre 
class="programlisting"><a href="libxml2-tree.html#xmlEntity">xmlEntity</a> * xmlEntityPtr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlEntityPtr">Typedef </a>xmlEntityPtr</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlEntity">xmlEntity</a> * xmlEntityPtr;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlEnumeration">Structure </a>xmlEnumeration</h3><pre 
class="programlisting">struct _xmlEnumeration {
+<hr>
+<div class="refsect2" lang="en">
+<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
 } xmlEnumeration;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlEnumerationPtr">Typedef 
</a>xmlEnumerationPtr</h3><pre class="programlisting"><a 
href="libxml2-tree.html#xmlEnumeration">xmlEnumeration</a> * xmlEnumerationPtr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlEnumerationPtr">Typedef </a>xmlEnumerationPtr</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlEnumeration">xmlEnumeration</a> * 
xmlEnumerationPtr;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlID">Structure </a>xmlID</h3><pre 
class="programlisting">struct _xmlID {
+<hr>
+<div class="refsect2" lang="en">
+<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
@@ -643,14 +779,22 @@ The content of this structure is not made public by the API.
     int        lineno  : The line number if attr is not available
     struct _xmlDoc *   doc     : The document holding the ID
 } xmlID;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlIDPtr">Typedef </a>xmlIDPtr</h3><pre 
class="programlisting"><a href="libxml2-tree.html#xmlID">xmlID</a> * xmlIDPtr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlIDPtr">Typedef </a>xmlIDPtr</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlID">xmlID</a> * xmlIDPtr;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNode">Structure </a>xmlNode</h3><pre 
class="programlisting">struct _xmlNode {
+<hr>
+<div class="refsect2" lang="en">
+<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
@@ -668,26 +812,42 @@ The content of this structure is not made public by the API.
     unsigned short     line    : line number
     unsigned short     extra   : extra data for XPath/XSLT
 } xmlNode;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNodePtr">Typedef </a>xmlNodePtr</h3><pre 
class="programlisting"><a href="libxml2-tree.html#xmlNode">xmlNode</a> * xmlNodePtr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNodePtr">Typedef </a>xmlNodePtr</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlNode">xmlNode</a> * xmlNodePtr;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNotation">Structure </a>xmlNotation</h3><pre 
class="programlisting">struct _xmlNotation {
+<hr>
+<div class="refsect2" lang="en">
+<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
 } xmlNotation;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNotationPtr">Typedef </a>xmlNotationPtr</h3><pre 
class="programlisting"><a href="libxml2-tree.html#xmlNotation">xmlNotation</a> * xmlNotationPtr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNotationPtr">Typedef </a>xmlNotationPtr</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlNotation">xmlNotation</a> * xmlNotationPtr;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNs">Structure </a>xmlNs</h3><pre 
class="programlisting">struct _xmlNs {
+<hr>
+<div class="refsect2" lang="en">
+<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
@@ -695,18 +855,30 @@ The content of this structure is not made public by the API.
     void *     _private        : application data
     struct _xmlDoc *   context : normally an <a href="libxml2-tree.html#xmlDoc">xmlDoc</a>
 } xmlNs;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNsPtr">Typedef </a>xmlNsPtr</h3><pre 
class="programlisting"><a href="libxml2-tree.html#xmlNs">xmlNs</a> * xmlNsPtr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNsPtr">Typedef </a>xmlNsPtr</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlNs">xmlNs</a> * xmlNsPtr;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNsType">Typedef </a>xmlNsType</h3><pre 
class="programlisting"><a href="libxml2-tree.html#xmlElementType">xmlElementType</a> xmlNsType;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNsType">Typedef </a>xmlNsType</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlElementType">xmlElementType</a> xmlNsType;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlOutputBuffer">Structure </a>xmlOutputBuffer</h3><pre 
class="programlisting">struct _xmlOutputBuffer {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlOutputBuffer">Structure </a>xmlOutputBuffer</h3>
+<pre class="programlisting">struct _xmlOutputBuffer {
     void *     context
     <a href="libxml2-xmlIO.html#xmlOutputWriteCallback">xmlOutputWriteCallback</a>     writecallback
     <a href="libxml2-xmlIO.html#xmlOutputCloseCallback">xmlOutputCloseCallback</a>     closecallback
@@ -716,14 +888,22 @@ The content of this structure is not made public by the API.
     int        written : total number of byte written
     int        error
 } xmlOutputBuffer;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlOutputBufferPtr">Typedef 
</a>xmlOutputBufferPtr</h3><pre class="programlisting"><a 
href="libxml2-tree.html#xmlOutputBuffer">xmlOutputBuffer</a> * xmlOutputBufferPtr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlOutputBufferPtr">Typedef </a>xmlOutputBufferPtr</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlOutputBuffer">xmlOutputBuffer</a> * 
xmlOutputBufferPtr;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParserCtxt">Structure </a>xmlParserCtxt</h3><pre 
class="programlisting">struct _xmlParserCtxt {
+<hr>
+<div class="refsect2" lang="en">
+<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
@@ -814,14 +994,22 @@ The content of this structure is not made public by the API.
     int        input_id        : we need to label inputs
     unsigned long      sizeentcopy     : volume of entity copy
 } xmlParserCtxt;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParserCtxtPtr">Typedef </a>xmlParserCtxtPtr</h3><pre 
class="programlisting"><a href="libxml2-tree.html#xmlParserCtxt">xmlParserCtxt</a> * xmlParserCtxtPtr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParserCtxtPtr">Typedef </a>xmlParserCtxtPtr</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlParserCtxt">xmlParserCtxt</a> * xmlParserCtxtPtr;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParserInput">Structure </a>xmlParserInput</h3><pre 
class="programlisting">struct _xmlParserInput {
+<hr>
+<div class="refsect2" lang="en">
+<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       : the directory/base of the file
@@ -838,10 +1026,14 @@ The content of this structure is not made public by the API.
     int        standalone      : Was that entity marked standalone
     int        id      : an unique identifier for the entity
 } xmlParserInput;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParserInputBuffer">Structure 
</a>xmlParserInputBuffer</h3><pre class="programlisting">struct _xmlParserInputBuffer {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParserInputBuffer">Structure </a>xmlParserInputBuffer</h3>
+<pre class="programlisting">struct _xmlParserInputBuffer {
     void *     context
     <a href="libxml2-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a> readcallback
     <a href="libxml2-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a>       closecallback
@@ -852,32 +1044,52 @@ The content of this structure is not made public by the API.
     int        error
     unsigned long      rawconsumed     : amount consumed from raw
 } xmlParserInputBuffer;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParserInputBufferPtr">Typedef 
</a>xmlParserInputBufferPtr</h3><pre class="programlisting"><a 
href="libxml2-tree.html#xmlParserInputBuffer">xmlParserInputBuffer</a> * xmlParserInputBufferPtr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParserInputBufferPtr">Typedef </a>xmlParserInputBufferPtr</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlParserInputBuffer">xmlParserInputBuffer</a> * 
xmlParserInputBufferPtr;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParserInputPtr">Typedef 
</a>xmlParserInputPtr</h3><pre class="programlisting"><a 
href="libxml2-tree.html#xmlParserInput">xmlParserInput</a> * xmlParserInputPtr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParserInputPtr">Typedef </a>xmlParserInputPtr</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlParserInput">xmlParserInput</a> * 
xmlParserInputPtr;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlRef">Structure </a>xmlRef</h3><pre 
class="programlisting">struct _xmlRef {
+<hr>
+<div class="refsect2" lang="en">
+<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
 } xmlRef;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlRefPtr">Typedef </a>xmlRefPtr</h3><pre 
class="programlisting"><a href="libxml2-tree.html#xmlRef">xmlRef</a> * xmlRefPtr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlRefPtr">Typedef </a>xmlRefPtr</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlRef">xmlRef</a> * xmlRefPtr;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSAXHandler">Structure </a>xmlSAXHandler</h3><pre 
class="programlisting">struct _xmlSAXHandler {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSAXHandler">Structure </a>xmlSAXHandler</h3>
+<pre class="programlisting">struct _xmlSAXHandler {
     <a href="libxml2-parser.html#internalSubsetSAXFunc">internalSubsetSAXFunc</a>      internalSubset
     <a href="libxml2-parser.html#isStandaloneSAXFunc">isStandaloneSAXFunc</a>  isStandalone
     <a href="libxml2-parser.html#hasInternalSubsetSAXFunc">hasInternalSubsetSAXFunc</a>        
hasInternalSubset
@@ -911,687 +1123,4136 @@ The content of this structure is not made public by the API.
     <a href="libxml2-parser.html#endElementNsSAX2Func">endElementNsSAX2Func</a>        endElementNs
     <a href="libxml2-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a>  serror
 } xmlSAXHandler;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSAXHandlerPtr">Typedef </a>xmlSAXHandlerPtr</h3><pre 
class="programlisting"><a href="libxml2-tree.html#xmlSAXHandler">xmlSAXHandler</a> * xmlSAXHandlerPtr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSAXHandlerPtr">Typedef </a>xmlSAXHandlerPtr</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlSAXHandler">xmlSAXHandler</a> * xmlSAXHandlerPtr;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSAXLocator">Structure </a>xmlSAXLocator</h3><pre 
class="programlisting">struct _xmlSAXLocator {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSAXLocator">Structure </a>xmlSAXLocator</h3>
+<pre class="programlisting">struct _xmlSAXLocator {
     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *(*getPublicId) getPublicId
     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *(*getSystemId) getSystemId
     int(*getLineNumber)        getLineNumber
     int(*getColumnNumber)      getColumnNumber
 } xmlSAXLocator;
-</pre><p/>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSAXLocatorPtr">Typedef </a>xmlSAXLocatorPtr</h3><pre 
class="programlisting"><a href="libxml2-tree.html#xmlSAXLocator">xmlSAXLocator</a> * xmlSAXLocatorPtr;
-</pre><p/>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlDOMWrapAcquireNsFunction"/>Function type 
xmlDOMWrapAcquireNsFunction</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> 
xmlDOMWrapAcquireNsFunction     (<a href="libxml2-tree.html#xmlDOMWrapCtxtPtr">xmlDOMWrapCtxtPtr</a> ctxt, 
<br/>                                                 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> 
node, <br/>                                               const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * nsName, <br/>                                             
 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * nsPrefix)<br/>
-</pre><p>A function called to acquire namespaces (xmlNs) from the wrapper.</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 DOM wrapper context</td></tr><tr><td><span 
class="term"><i><tt>node</tt></i>:</span></td><td>the context node (element or 
attribute)</td></tr><tr><td><span class="term"><i><tt>nsName</tt></i>:</span></td><td>the requested namespace 
name</td></tr><tr><td><span class="term"><i><tt>nsPrefix</tt></i>:</span></td><td>the requested namespace 
prefix</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>an <a 
href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> or NULL in case of an 
error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlAddChild"/>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>Add a new node to @parent, at the end of the child (or property) list merging adjacent TEXT nodes 
(in which case @cur is freed) If the new node is ATTRIBUTE, it is added into properties instead of children. 
If there is an <a href="libxml2-SAX.html#attribute">attribute</a> with equal name, it is first destroyed. All 
tree manipulation functions can safely move nodes within a document. But when moving nodes from one document 
to another, references to namespaces in element or <a href="libxml2-SAX.html#attribute">attribute</a> nodes 
are NOT fixed. In this case, you MUST call <a 
href="libxml2-tree.html#xmlReconciliateNs">xmlReconciliateNs</a> after the move operation to avoid memory 
errors.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>parent</tt></i>:</span></td><td>the parent node</td></tr><tr><td><span 
class="term"><i><tt>cur</tt></i>:</span></td><td>the child node</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the child or NULL in case of 
error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlAddChildList"/>xmlAddChildList ()</h3><pre 
class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>        xmlAddChildList         
(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> parent, <br/>                                     <a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur)<br/>
-</pre><p>Add a list of node at the end of the child list of the parent merging adjacent TEXT nodes (@cur may 
be freed) See the note regarding namespaces in xmlAddChild.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>parent</tt></i>:</span></td><td>the parent node</td></tr><tr><td><span 
class="term"><i><tt>cur</tt></i>:</span></td><td>the first node in the list</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the last child or NULL in case of 
error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlAddNextSibling"/>xmlAddNextSibling ()</h3><pre 
class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>    xmlAddNextSibling       (<a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br/>                                        <a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem)<br/>
-</pre><p>Add a new node @elem as the next sibling of @cur If the new node was already inserted in a document 
it is first unlinked from its existing context. As a result of text merging @elem may be freed. If the new 
node is ATTRIBUTE, it is added into properties instead of children. If there is an <a 
href="libxml2-SAX.html#attribute">attribute</a> with equal name, it is first destroyed. See the note 
regarding namespaces in xmlAddChild.</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 child node</td></tr><tr><td><span 
class="term"><i><tt>elem</tt></i>:</span></td><td>the new node</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the new node or NULL in case of 
error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlAddPrevSibling"/>xmlAddPrevSibling ()</h3><pre 
class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>    xmlAddPrevSibling       (<a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br/>                                        <a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem)<br/>
-</pre><p>Add a new node @elem as the previous sibling of @cur merging adjacent TEXT nodes (@elem may be 
freed) If the new node was already inserted in a document it is first unlinked from its existing context. If 
the new node is ATTRIBUTE, it is added into properties instead of children. If there is an <a 
href="libxml2-SAX.html#attribute">attribute</a> with equal name, it is first destroyed. See the note 
regarding namespaces in xmlAddChild.</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 child node</td></tr><tr><td><span 
class="term"><i><tt>elem</tt></i>:</span></td><td>the new node</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the new node or NULL in case of 
error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlAddSibling"/>xmlAddSibling ()</h3><pre 
class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>    xmlAddSibling           (<a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br/>                                        <a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem)<br/>
-</pre><p>Add a new element @elem to the list of siblings of @cur merging adjacent TEXT nodes (@elem may be 
freed) If the new element was already inserted in a document it is first unlinked from its existing context. 
See the note regarding namespaces in xmlAddChild.</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 child node</td></tr><tr><td><span 
class="term"><i><tt>elem</tt></i>:</span></td><td>the new node</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the new element or NULL in case of 
error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlAttrSerializeTxtContent"/>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>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>buf</tt></i>:</span></td><td>the XML buffer output</td></tr><tr><td><span 
class="term"><i><tt>doc</tt></i>:</span></td><td>the document</td></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></tr><tr><td><span class="term"><i><tt>string</tt></i>:</span></td><td>the text 
content</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlBufContent"/>xmlBufContent ()</h3><pre 
class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *   xmlBufContent           
(const <a href="libxml2-tree.html#xmlBuf">xmlBuf</a> * buf)<br/>
-</pre><p>Function to extract the content of a 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>the buffer</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the internal 
content</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlBufEnd"/>xmlBufEnd ()</h3><pre 
class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *   xmlBufEnd               (<a 
href="libxml2-tree.html#xmlBufPtr">xmlBufPtr</a> buf)<br/>
-</pre><p>Function to extract the end of the content of a 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>the buffer</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the end of the internal content or NULL in case of 
error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlBufGetNodeContent"/>xmlBufGetNodeContent ()</h3><pre 
class="programlisting">int        xmlBufGetNodeContent            (<a 
href="libxml2-tree.html#xmlBufPtr">xmlBufPtr</a> buf, <br/>                                  const <a 
href="libxml2-tree.html#xmlNode">xmlNode</a> * cur)<br/>
-</pre><p>Read the value of a node @cur, this can be either the text carried directly by this node if it's a 
TEXT node or the aggregate string of the values carried by this node child's (TEXT and ENTITY_REF). Entity 
references are substituted. Fills up the buffer @buf with this value</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 <a 
href="libxml2-tree.html#xmlBufPtr">xmlBufPtr</a></td></tr><tr><td><span 
class="term"><i><tt>cur</tt></i>:</span></td><td>the node being read</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success and -1 in case of 
error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlBufNodeDump"/>xmlBufNodeDump ()</h3><pre 
class="programlisting">size_t xmlBufNodeDump                  (<a 
href="libxml2-tree.html#xmlBufPtr">xmlBufPtr</a> buf, <br/>                                  <a 
href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>                                  <a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br/>                                        int 
level, <br/>                                        int format)<br/>
-</pre><p>Dump an XML node, recursive behaviour,children are printed too. Note that @format = 1 provide node 
indenting only if <a href="libxml2-globals.html#xmlIndentTreeOutput">xmlIndentTreeOutput</a> = 1 or 
xmlKeepBlanksDefault(0) was called</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>buf</tt></i>:</span></td><td>the XML buffer output</td></tr><tr><td><span 
class="term"><i><tt>doc</tt></i>:</span></td><td>the document</td></tr><tr><td><span 
class="term"><i><tt>cur</tt></i>:</span></td><td>the current node</td></tr><tr><td><span 
class="term"><i><tt>level</tt></i>:</span></td><td>the imbrication level for indenting</td></tr><tr><td><span 
class="term"><i><tt>format</tt></i>:</span></td><td>is formatting allowed</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of bytes written to the buffer, in case of 
error 0 is returned or @buf stores the error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlBufShrink"/>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>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>buf</tt></i>:</span></td><td>the buffer to dump</td></tr><tr><td><span 
class="term"><i><tt>len</tt></i>:</span></td><td>the number of <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> to remove</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of byte removed or 0 in case of 
failure</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlBufUse"/>xmlBufUse ()</h3><pre 
class="programlisting">size_t   xmlBufUse                       (const <a 
href="libxml2-tree.html#xmlBufPtr">xmlBufPtr</a> buf)<br/>
-</pre><p>Function to get the length of a 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>the buffer</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the length of data in the internal 
content</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlBufferAdd"/>xmlBufferAdd ()</h3><pre 
class="programlisting">int        xmlBufferAdd                    (<a 
href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br/>                                    const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br/>                                         int 
len)<br/>
-</pre><p>Add a string range to an XML buffer. if len == -1, the length of str is recomputed.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>buf</tt></i>:</span></td><td>the buffer to dump</td></tr><tr><td><span 
class="term"><i><tt>str</tt></i>:</span></td><td>the #xmlChar string</td></tr><tr><td><span 
class="term"><i><tt>len</tt></i>:</span></td><td>the number of #xmlChar to add</td></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></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlBufferAddHead"/>xmlBufferAddHead ()</h3><pre 
class="programlisting">int        xmlBufferAddHead                (<a 
href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br/>                                    const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br/>                                         int 
len)<br/>
-</pre><p>Add a string range to the beginning of an XML buffer. if len == -1, the length of @str is 
recomputed.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>buf</tt></i>:</span></td><td>the buffer</td></tr><tr><td><span 
class="term"><i><tt>str</tt></i>:</span></td><td>the #xmlChar string</td></tr><tr><td><span 
class="term"><i><tt>len</tt></i>:</span></td><td>the number of #xmlChar to add</td></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></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlBufferCCat"/>xmlBufferCCat ()</h3><pre 
class="programlisting">int      xmlBufferCCat                   (<a 
href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br/>                                    const 
char * str)<br/>
-</pre><p>Append a zero terminated C string to an XML 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>the buffer to dump</td></tr><tr><td><span 
class="term"><i><tt>str</tt></i>:</span></td><td>the C char string</td></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></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlBufferCat"/>xmlBufferCat ()</h3><pre 
class="programlisting">int        xmlBufferCat                    (<a 
href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br/>                                    const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str)<br/>
-</pre><p>Append a zero terminated string to an XML 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>the buffer to add to</td></tr><tr><td><span 
class="term"><i><tt>str</tt></i>:</span></td><td>the #xmlChar string</td></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></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlBufferContent"/>xmlBufferContent ()</h3><pre 
class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *       xmlBufferContent    
    (const <a href="libxml2-tree.html#xmlBuffer">xmlBuffer</a> * buf)<br/>
-</pre><p>Function to extract the content of a 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>the buffer</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the internal 
content</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlBufferCreate"/>xmlBufferCreate ()</h3><pre 
class="programlisting"><a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a>    xmlBufferCreate         
(void)<br/>
-</pre><p>routine to create an XML buffer.</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 new structure.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlBufferCreateSize"/>xmlBufferCreateSize ()</h3><pre 
class="programlisting"><a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a>    xmlBufferCreateSize     
(size_t size)<br/>
-</pre><p>routine to create an XML buffer.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>size</tt></i>:</span></td><td>initial size of buffer</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the new structure.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlBufferCreateStatic"/>xmlBufferCreateStatic 
()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a>        
xmlBufferCreateStatic   (void * mem, <br/>                                       size_t size)<br/>
-</pre><p>routine to create an XML buffer from an immutable memory area. The area won't be modified nor 
copied, and is expected to be present until the end of the buffer lifetime.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>mem</tt></i>:</span></td><td>the memory area</td></tr><tr><td><span 
class="term"><i><tt>size</tt></i>:</span></td><td>the size in byte</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the new structure.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlBufferDetach"/>xmlBufferDetach ()</h3><pre 
class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *       xmlBufferDetach         
(<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf)<br/>
-</pre><p>Remove the string contained in a buffer and gie it back to the caller. The buffer is reset to an 
empty content. This doesn't work with immutable buffers as they can't be reset.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>buf</tt></i>:</span></td><td>the buffer</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the previous string contained by the 
buffer.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlBufferDump"/>xmlBufferDump ()</h3><pre 
class="programlisting">int      xmlBufferDump                   (FILE * file, <br/>                           
           <a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf)<br/>
-</pre><p>Dumps an XML buffer to a FILE *.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>file</tt></i>:</span></td><td>the file output</td></tr><tr><td><span 
class="term"><i><tt>buf</tt></i>:</span></td><td>the buffer to dump</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of #xmlChar 
written</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlBufferEmpty"/>xmlBufferEmpty ()</h3><pre 
class="programlisting">void   xmlBufferEmpty                  (<a 
href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf)<br/>
-</pre><p>empty a 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>the buffer</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlBufferFree"/>xmlBufferFree ()</h3><pre 
class="programlisting">void     xmlBufferFree                   (<a 
href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf)<br/>
-</pre><p>Frees an XML buffer. It frees both the content and the structure which encapsulate it.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>buf</tt></i>:</span></td><td>the buffer to free</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlBufferGrow"/>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>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>buf</tt></i>:</span></td><td>the buffer</td></tr><tr><td><span 
class="term"><i><tt>len</tt></i>:</span></td><td>the minimum free size to allocate</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the new available space or -1 in case of 
error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlBufferLength"/>xmlBufferLength ()</h3><pre 
class="programlisting">int  xmlBufferLength                 (const <a 
href="libxml2-tree.html#xmlBuffer">xmlBuffer</a> * buf)<br/>
-</pre><p>Function to get the length of a 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>the buffer</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the length of data in the internal 
content</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlBufferResize"/>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>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>buf</tt></i>:</span></td><td>the buffer to resize</td></tr><tr><td><span 
class="term"><i><tt>size</tt></i>:</span></td><td>the desired size</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of problems, 1 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlBufferSetAllocationScheme"/>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>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>buf</tt></i>:</span></td><td>the buffer to tune</td></tr><tr><td><span 
class="term"><i><tt>scheme</tt></i>:</span></td><td>allocation scheme to 
use</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlBufferShrink"/>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>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>buf</tt></i>:</span></td><td>the buffer to dump</td></tr><tr><td><span 
class="term"><i><tt>len</tt></i>:</span></td><td>the number of <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> to remove</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of #xmlChar removed, or -1 in case of 
failure.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlBufferWriteCHAR"/>xmlBufferWriteCHAR ()</h3><pre 
class="programlisting">void   xmlBufferWriteCHAR              (<a 
href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br/>                                    const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * string)<br/>
-</pre><p>routine which manages and grows an output buffer. This one adds xmlChars at the end of 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>the XML buffer</td></tr><tr><td><span 
class="term"><i><tt>string</tt></i>:</span></td><td>the string to add</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlBufferWriteChar"/>xmlBufferWriteChar ()</h3><pre 
class="programlisting">void   xmlBufferWriteChar              (<a 
href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br/>                                    const 
char * string)<br/>
-</pre><p>routine which manage and grows an output buffer. This one add C chars at the end of the array.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>buf</tt></i>:</span></td><td>the XML buffer output</td></tr><tr><td><span 
class="term"><i><tt>string</tt></i>:</span></td><td>the string to add</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlBufferWriteQuotedString"/>xmlBufferWriteQuotedString 
()</h3><pre class="programlisting">void   xmlBufferWriteQuotedString      (<a 
href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br/>                                    const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * string)<br/>
-</pre><p>routine which manage and grows an output buffer. This one writes a quoted or double quoted #xmlChar 
string, checking first if it holds quote or double-quotes internally</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>buf</tt></i>:</span></td><td>the XML buffer output</td></tr><tr><td><span 
class="term"><i><tt>string</tt></i>:</span></td><td>the string to add</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlBuildQName"/>xmlBuildQName ()</h3><pre 
class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *   xmlBuildQName           
(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ncname, <br/>                                   
   const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br/>                                 
     <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * memory, <br/>                                    
int len)<br/>
-</pre><p>Builds the QName @prefix:@ncname in @memory if there is enough space and prefix is not NULL nor 
empty, otherwise allocate a new string. If prefix is NULL or empty it returns ncname.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ncname</tt></i>:</span></td><td>the Name</td></tr><tr><td><span 
class="term"><i><tt>prefix</tt></i>:</span></td><td>the prefix</td></tr><tr><td><span 
class="term"><i><tt>memory</tt></i>:</span></td><td>preallocated memory</td></tr><tr><td><span 
class="term"><i><tt>len</tt></i>:</span></td><td>preallocated memory length</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the new string which must be freed by the caller if 
different from @memory and @ncname or NULL in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlChildElementCount"/>xmlChildElementCount ()</h3><pre 
class="programlisting">unsigned long      xmlChildElementCount    (<a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> parent)<br/>
-</pre><p>Finds the current number of child nodes of that element which are element nodes. Note the handling 
of entities references is different than in the W3C DOM element traversal spec since we don't have back <a 
href="libxml2-SAX.html#reference">reference</a> from entities content to entities references.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>parent</tt></i>:</span></td><td>the parent node</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the count of element child or 0 if not 
available</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCopyDoc"/>xmlCopyDoc ()</h3><pre 
class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>    xmlCopyDoc              (<a 
href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>                                  int 
recursive)<br/>
-</pre><p>Do a copy of the document info. If recursive, the content tree will be copied too as well as DTD, 
namespaces and entities.</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</td></tr><tr><td><span 
class="term"><i><tt>recursive</tt></i>:</span></td><td>if not zero do a recursive 
copy.</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a new #xmlDocPtr, or NULL 
in case of error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCopyDtd"/>xmlCopyDtd ()</h3><pre 
class="programlisting"><a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a>    xmlCopyDtd              (<a 
href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd)<br/>
-</pre><p>Do a copy of the dtd.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>dtd</tt></i>:</span></td><td>the dtd</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>a new #xmlDtdPtr, or NULL in case of 
error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCopyNamespace"/>xmlCopyNamespace ()</h3><pre 
class="programlisting"><a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a>  xmlCopyNamespace        (<a 
href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> cur)<br/>
-</pre><p>Do a copy of the namespace.</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 namespace</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>a new #xmlNsPtr, or NULL in case of 
error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCopyNamespaceList"/>xmlCopyNamespaceList ()</h3><pre 
class="programlisting"><a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a>  xmlCopyNamespaceList    (<a 
href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> cur)<br/>
-</pre><p>Do a copy of an namespace 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 first namespace</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>a new #xmlNsPtr, or NULL in case of 
error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCopyNode"/>xmlCopyNode ()</h3><pre 
class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>        xmlCopyNode             
(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br/>                                       int 
extended)<br/>
-</pre><p>Do a copy of the 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</td></tr><tr><td><span 
class="term"><i><tt>extended</tt></i>:</span></td><td>if 1 do a recursive copy (properties, namespaces and 
children when applicable) if 2 copy properties and namespaces (when applicable)</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>a new #xmlNodePtr, or NULL in case of 
error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCopyNodeList"/>xmlCopyNodeList ()</h3><pre 
class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>        xmlCopyNodeList         
(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br/>
-</pre><p>Do a recursive copy of the node list. Use xmlDocCopyNodeList() if possible to ensure string 
interning.</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 first node in the list.</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>a new #xmlNodePtr, or NULL in case of 
error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCopyProp"/>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>Do a copy of the attribute.</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></tr><tr><td><span 
class="term"><i><tt>cur</tt></i>:</span></td><td>the <a 
href="libxml2-SAX.html#attribute">attribute</a></td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>a new #xmlAttrPtr, or NULL in case of 
error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCopyPropList"/>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>Do a copy of an <a href="libxml2-SAX.html#attribute">attribute</a> list.</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 attributes will be 
grafted</td></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></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>a new #xmlAttrPtr, or NULL in case of 
error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCreateIntSubset"/>xmlCreateIntSubset ()</h3><pre 
class="programlisting"><a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a>    xmlCreateIntSubset      (<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)<br/>
-</pre><p>Create the internal subset of a document</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 pointer</td></tr><tr><td><span 
class="term"><i><tt>name</tt></i>:</span></td><td>the DTD name</td></tr><tr><td><span 
class="term"><i><tt>ExternalID</tt></i>:</span></td><td>the external (PUBLIC) ID</td></tr><tr><td><span 
class="term"><i><tt>SystemID</tt></i>:</span></td><td>the system ID</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the new DTD 
structure</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlDOMWrapAdoptNode"/>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>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctxt</tt></i>:</span></td><td>the optional context for custom 
processing</td></tr><tr><td><span class="term"><i><tt>sourceDoc</tt></i>:</span></td><td>the optional 
sourceDoc</td></tr><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>the node to start 
with</td></tr><tr><td><span class="term"><i><tt>destDoc</tt></i>:</span></td><td>the destination 
doc</td></tr><tr><td><span class="term"><i><tt>destParent</tt></i>:</span></td><td>the optional new parent of 
@node in @destDoc</td></tr><tr><td><span class="term"><i><tt>options</tt></i>:</span></td><td>option 
flags</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if the operation 
succeeded, 1 if a node of unsupported type was given, 2 if a node of not yet supported type was given and -1 
on API/internal errors.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlDOMWrapCloneNode"/>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>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctxt</tt></i>:</span></td><td>the optional context for custom 
processing</td></tr><tr><td><span class="term"><i><tt>sourceDoc</tt></i>:</span></td><td>the optional 
sourceDoc</td></tr><tr><td><span class="term"><i><tt>node</tt></i>:</span></td><td>the node to start 
with</td></tr><tr><td><span class="term"><i><tt>resNode</tt></i>:</span></td><td>the clone of the given 
@node</td></tr><tr><td><span class="term"><i><tt>destDoc</tt></i>:</span></td><td>the destination 
doc</td></tr><tr><td><span class="term"><i><tt>destParent</tt></i>:</span></td><td>the optional new parent of 
@node in @destDoc</td></tr><tr><td><span class="term"><i><tt>deep</tt></i>:</span></td><td>descend into child 
if set</td></tr><tr><td><span class="term"><i><tt>options</tt></i>:</span></td><td>option 
flags</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if the operation 
succeeded, 1 if
  a node of unsupported (or not yet supported) type was given, -1 on API/internal 
errors.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlDOMWrapFreeCtxt"/>xmlDOMWrapFreeCtxt ()</h3><pre 
class="programlisting">void   xmlDOMWrapFreeCtxt              (<a 
href="libxml2-tree.html#xmlDOMWrapCtxtPtr">xmlDOMWrapCtxtPtr</a> ctxt)<br/>
-</pre><p>Frees the DOM-wrapper 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 DOM-wrapper 
context</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlDOMWrapNewCtxt"/>xmlDOMWrapNewCtxt ()</h3><pre 
class="programlisting"><a href="libxml2-tree.html#xmlDOMWrapCtxtPtr">xmlDOMWrapCtxtPtr</a>      
xmlDOMWrapNewCtxt       (void)<br/>
-</pre><p>Allocates and initializes a new DOM-wrapper context.</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 <a 
href="libxml2-tree.html#xmlDOMWrapCtxtPtr">xmlDOMWrapCtxtPtr</a> or NULL in case of an internal 
error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlDOMWrapReconcileNamespaces"/>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>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctxt</tt></i>:</span></td><td>DOM wrapper context, unused at the 
moment</td></tr><tr><td><span class="term"><i><tt>elem</tt></i>:</span></td><td>the 
element-node</td></tr><tr><td><span class="term"><i><tt>options</tt></i>:</span></td><td>option 
flags</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if succeeded, -1 
otherwise and on API/internal errors.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlDOMWrapRemoveNode"/>xmlDOMWrapRemoveNode ()</h3><pre 
class="programlisting">int        xmlDOMWrapRemoveNode            (<a 
href="libxml2-tree.html#xmlDOMWrapCtxtPtr">xmlDOMWrapCtxtPtr</a> ctxt, <br/>                                  
       <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>                                  <a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br/>                                       int 
options)<br/>
-</pre><p>Unlinks the given node from its owner. This will substitute ns-references to node-&gt;nsDef for 
ns-references to doc-&gt;oldNs, thus ensuring the removed branch to be autark wrt ns-references. NOTE: This 
function was not intensively tested.</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 DOM wrapper context</td></tr><tr><td><span 
class="term"><i><tt>doc</tt></i>:</span></td><td>the doc</td></tr><tr><td><span 
class="term"><i><tt>node</tt></i>:</span></td><td>the node to be removed.</td></tr><tr><td><span 
class="term"><i><tt>options</tt></i>:</span></td><td>set of options, unused at the 
moment</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 on success, 1 if the 
node is not supported, -1 on API and internal errors.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlDocCopyNode"/>xmlDocCopyNode ()</h3><pre 
class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>  xmlDocCopyNode          (<a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br/>                                       <a 
href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>                                  int 
extended)<br/>
-</pre><p>Do a copy of the node to a given document.</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</td></tr><tr><td><span 
class="term"><i><tt>doc</tt></i>:</span></td><td>the document</td></tr><tr><td><span 
class="term"><i><tt>extended</tt></i>:</span></td><td>if 1 do a recursive copy (properties, namespaces and 
children when applicable) if 2 copy properties and namespaces (when applicable)</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>a new #xmlNodePtr, or NULL in case of 
error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlDocCopyNodeList"/>xmlDocCopyNodeList ()</h3><pre 
class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>  xmlDocCopyNodeList      (<a 
href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>                                  <a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br/>
-</pre><p>Do a recursive copy of the node list.</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 target document</td></tr><tr><td><span 
class="term"><i><tt>node</tt></i>:</span></td><td>the first node in the list.</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>a new #xmlNodePtr, or NULL in case of 
error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlDocDump"/>xmlDocDump ()</h3><pre 
class="programlisting">int    xmlDocDump                      (FILE * f, <br/>                                
         <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur)<br/>
-</pre><p>Dump an XML document to an open FILE.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>f</tt></i>:</span></td><td>the FILE*</td></tr><tr><td><span 
class="term"><i><tt>cur</tt></i>:</span></td><td>the document</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of bytes written or -1 in case of 
failure.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlDocDumpFormatMemory"/>xmlDocDumpFormatMemory 
()</h3><pre class="programlisting">void   xmlDocDumpFormatMemory          (<a 
href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br/>                                  <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** mem, <br/>                                      int * 
size, <br/>                                       int format)<br/>
-</pre><p>Dump an XML document in memory and return the #xmlChar * and it's size. It's up to the caller to 
free the memory with xmlFree(). Note that @format = 1 provide node indenting only if <a 
href="libxml2-globals.html#xmlIndentTreeOutput">xmlIndentTreeOutput</a> = 1 or xmlKeepBlanksDefault(0) was 
called</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 document</td></tr><tr><td><span 
class="term"><i><tt>mem</tt></i>:</span></td><td>OUT: the memory pointer</td></tr><tr><td><span 
class="term"><i><tt>size</tt></i>:</span></td><td>OUT: the memory length</td></tr><tr><td><span 
class="term"><i><tt>format</tt></i>:</span></td><td>should formatting spaces been 
added</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlDocDumpFormatMemoryEnc"/>xmlDocDumpFormatMemoryEnc 
()</h3><pre class="programlisting">void     xmlDocDumpFormatMemoryEnc       (<a 
href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> out_doc, <br/>                                      <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** doc_txt_ptr, <br/>                                      
int * doc_txt_len, <br/>                                        const char * txt_encoding, <br/>              
                          int format)<br/>
-</pre><p>Dump the current DOM tree into memory using the character encoding specified by the caller. Note it 
is up to the caller of this function to free the allocated memory with xmlFree(). Note that @format = 1 
provide node indenting only if <a href="libxml2-globals.html#xmlIndentTreeOutput">xmlIndentTreeOutput</a> = 1 
or xmlKeepBlanksDefault(0) was called</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>out_doc</tt></i>:</span></td><td>Document to generate XML text 
from</td></tr><tr><td><span class="term"><i><tt>doc_txt_ptr</tt></i>:</span></td><td>Memory pointer for 
allocated XML text</td></tr><tr><td><span class="term"><i><tt>doc_txt_len</tt></i>:</span></td><td>Length of 
the generated XML text</td></tr><tr><td><span 
class="term"><i><tt>txt_encoding</tt></i>:</span></td><td>Character encoding to use when generating XML 
text</td></tr><tr><td><span class="term"><i><tt>format</tt></i>:</span></td><td>should formatting spaces been 
added</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlDocDumpMemory"/>xmlDocDumpMemory ()</h3><pre 
class="programlisting">void       xmlDocDumpMemory                (<a 
href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br/>                                  <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** mem, <br/>                                      int * 
size)<br/>
-</pre><p>Dump an XML document in memory and return the #xmlChar * and it's size in bytes. It's up to the 
caller to free the memory with xmlFree(). The resulting byte array is zero terminated, though the last 0 is 
not included in the returned size.</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 document</td></tr><tr><td><span 
class="term"><i><tt>mem</tt></i>:</span></td><td>OUT: the memory pointer</td></tr><tr><td><span 
class="term"><i><tt>size</tt></i>:</span></td><td>OUT: the memory length</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlDocDumpMemoryEnc"/>xmlDocDumpMemoryEnc ()</h3><pre 
class="programlisting">void xmlDocDumpMemoryEnc             (<a 
href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> out_doc, <br/>                                      <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** doc_txt_ptr, <br/>                                      
int * doc_txt_len, <br/>                                        const char * txt_encoding)<br/>
-</pre><p>Dump the current DOM tree into memory using the character encoding specified by the caller. Note it 
is up to the caller of this function to free the allocated memory with xmlFree().</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>out_doc</tt></i>:</span></td><td>Document to generate XML text 
from</td></tr><tr><td><span class="term"><i><tt>doc_txt_ptr</tt></i>:</span></td><td>Memory pointer for 
allocated XML text</td></tr><tr><td><span class="term"><i><tt>doc_txt_len</tt></i>:</span></td><td>Length of 
the generated XML text</td></tr><tr><td><span 
class="term"><i><tt>txt_encoding</tt></i>:</span></td><td>Character encoding to use when generating XML 
text</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlDocFormatDump"/>xmlDocFormatDump ()</h3><pre 
class="programlisting">int        xmlDocFormatDump                (FILE * f, <br/>                            
             <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br/>                                  
int format)<br/>
-</pre><p>Dump an XML document to an open FILE.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>f</tt></i>:</span></td><td>the FILE*</td></tr><tr><td><span 
class="term"><i><tt>cur</tt></i>:</span></td><td>the document</td></tr><tr><td><span 
class="term"><i><tt>format</tt></i>:</span></td><td>should formatting spaces been 
added</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of bytes written 
or -1 in case of failure. Note that @format = 1 provide node indenting only if <a 
href="libxml2-globals.html#xmlIndentTreeOutput">xmlIndentTreeOutput</a> = 1 or xmlKeepBlanksDefault(0) was 
called</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlDocGetRootElement"/>xmlDocGetRootElement ()</h3><pre 
class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>      xmlDocGetRootElement    
(const <a href="libxml2-tree.html#xmlDoc">xmlDoc</a> * doc)<br/>
-</pre><p>Get the root element of the document (doc-&gt;children is a list containing possibly comments, PIs, 
etc ...).</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</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the #xmlNodePtr for the root or 
NULL</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlDocSetRootElement"/>xmlDocSetRootElement ()</h3><pre 
class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>      xmlDocSetRootElement    (<a 
href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>                                  <a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> root)<br/>
-</pre><p>Set the root element of the document (doc-&gt;children is a list containing possibly comments, PIs, 
etc ...).</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</td></tr><tr><td><span 
class="term"><i><tt>root</tt></i>:</span></td><td>the new document root element, if root is NULL no action is 
taken, to remove a node from a document use xmlUnlinkNode(root) instead.</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the old root element if any was found, NULL if root was 
NULL</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlElemDump"/>xmlElemDump ()</h3><pre 
class="programlisting">void xmlElemDump                     (FILE * f, <br/>                                  
       <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>                                  <a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur)<br/>
-</pre><p>Dump an XML/HTML node, recursive behaviour, children are printed too.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>f</tt></i>:</span></td><td>the FILE * for the output</td></tr><tr><td><span 
class="term"><i><tt>doc</tt></i>:</span></td><td>the document</td></tr><tr><td><span 
class="term"><i><tt>cur</tt></i>:</span></td><td>the current node</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlFirstElementChild"/>xmlFirstElementChild ()</h3><pre 
class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>      xmlFirstElementChild    (<a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> parent)<br/>
-</pre><p>Finds the first child node of that element which is a Element node Note the handling of entities 
references is different than in the W3C DOM element traversal spec since we don't have back <a 
href="libxml2-SAX.html#reference">reference</a> from entities content to entities references.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>parent</tt></i>:</span></td><td>the parent node</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the first element child or NULL if not 
available</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlFreeDoc"/>xmlFreeDoc ()</h3><pre 
class="programlisting">void   xmlFreeDoc                      (<a 
href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur)<br/>
-</pre><p>Free up all the structures used by a document, tree included.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>cur</tt></i>:</span></td><td>pointer to the document</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlFreeDtd"/>xmlFreeDtd ()</h3><pre 
class="programlisting">void   xmlFreeDtd                      (<a 
href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a> cur)<br/>
-</pre><p>Free a DTD structure.</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 DTD structure to free 
up</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlFreeNode"/>xmlFreeNode ()</h3><pre 
class="programlisting">void xmlFreeNode                     (<a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur)<br/>
-</pre><p>Free a node, this is a recursive behaviour, all the children are freed too. This doesn't unlink the 
child from the list, use xmlUnlinkNode() first.</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 node</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlFreeNodeList"/>xmlFreeNodeList ()</h3><pre 
class="programlisting">void xmlFreeNodeList                 (<a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur)<br/>
-</pre><p>Free a node and all its siblings, this is a recursive behaviour, all the children are freed too.</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 node in the 
list</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlFreeNs"/>xmlFreeNs ()</h3><pre 
class="programlisting">void     xmlFreeNs                       (<a 
href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> cur)<br/>
-</pre><p>Free up the structures associated to a namespace</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 namespace pointer</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlFreeNsList"/>xmlFreeNsList ()</h3><pre 
class="programlisting">void     xmlFreeNsList                   (<a 
href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> cur)<br/>
-</pre><p>Free up all the structures associated to the chained namespaces.</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 namespace 
pointer</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlFreeProp"/>xmlFreeProp ()</h3><pre 
class="programlisting">void xmlFreeProp                     (<a 
href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a> cur)<br/>
-</pre><p>Free one attribute, all the content is freed too</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></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlFreePropList"/>xmlFreePropList ()</h3><pre 
class="programlisting">void xmlFreePropList                 (<a 
href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a> cur)<br/>
-</pre><p>Free a property and all its siblings, all the children are freed too.</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 property in the 
list</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlGetBufferAllocationScheme"/>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>
-<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 allocation 
scheme</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlGetCompressMode"/>xmlGetCompressMode ()</h3><pre 
class="programlisting">int    xmlGetCompressMode              (void)<br/>
-</pre><p>get the default compression mode used, ZLIB based.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>0 (uncompressed) to 9 (max 
compression)</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlGetDocCompressMode"/>xmlGetDocCompressMode 
()</h3><pre class="programlisting">int      xmlGetDocCompressMode           (const <a 
href="libxml2-tree.html#xmlDoc">xmlDoc</a> * doc)<br/>
-</pre><p>get the compression ratio for a document, ZLIB based</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</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>0 (uncompressed) to 9 (max 
compression)</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlGetIntSubset"/>xmlGetIntSubset ()</h3><pre 
class="programlisting"><a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a>  xmlGetIntSubset         (const <a 
href="libxml2-tree.html#xmlDoc">xmlDoc</a> * doc)<br/>
-</pre><p>Get the internal subset of a document</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 pointer</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the DTD structure or NULL if not 
found</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlGetLastChild"/>xmlGetLastChild ()</h3><pre 
class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>        xmlGetLastChild         
(const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * parent)<br/>
-</pre><p>Search the last child of a node.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>parent</tt></i>:</span></td><td>the parent node</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the last child or NULL if 
none.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlGetLineNo"/>xmlGetLineNo ()</h3><pre 
class="programlisting">long       xmlGetLineNo                    (const <a 
href="libxml2-tree.html#xmlNode">xmlNode</a> * node)<br/>
-</pre><p>Get line number of @node. Try to override the limitation of lines being store in 16 bits ints if <a 
href="libxml2-parser.html#XML_PARSE_BIG_LINES">XML_PARSE_BIG_LINES</a> parser option was used</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>node</tt></i>:</span></td><td>valid node</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the line number if successful, -1 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlGetNoNsProp"/>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 unless 
DTD use has been turned off. 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.</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</td></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></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. It's up to the caller to free the 
memory with xmlFree().</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlGetNodePath"/>xmlGetNodePath ()</h3><pre 
class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * xmlGetNodePath          (const 
<a href="libxml2-tree.html#xmlNode">xmlNode</a> * node)<br/>
-</pre><p>Build a structure based Path for the given 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>a node</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the new path or NULL in case of error. The caller must 
free the returned string</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlGetNsList"/>xmlGetNsList ()</h3><pre 
class="programlisting"><a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> *        xmlGetNsList            
(const <a href="libxml2-tree.html#xmlDoc">xmlDoc</a> * doc, <br/>                                        
const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * node)<br/>
-</pre><p>Search all the namespace applying to a given element.</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</td></tr><tr><td><span 
class="term"><i><tt>node</tt></i>:</span></td><td>the current node</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>an NULL terminated array of all the #xmlNsPtr found that 
need to be freed by the caller or NULL if no namespace if defined</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlGetNsProp"/>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 unless 
DTD use has been turned off.</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</td></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></tr><tr><td><span class="term"><i><tt>nameSpace</tt></i>:</span></td><td>the URI of the 
namespace</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. It's up to the caller to free the 
memory with xmlFree().</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlGetProp"/>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 unless 
DTD use has been turned off. NOTE: this function acts independently of namespaces associated to the 
attribute. Use xmlGetNsProp() or xmlGetNoNsProp() for namespace aware processing.</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</td></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></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. It's up to the caller to free the 
memory with xmlFree().</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlHasNsProp"/>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 unless DTD use has been turned off. Note that a 
namespace of NULL indicates to use the default namespace.</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</td></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></tr><tr><td><span class="term"><i><tt>nameSpace</tt></i>:</span></td><td>the URI of the 
namespace</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.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlHasProp"/>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 unless DTD use has been turned off.</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</td></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></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.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlIsBlankNode"/>xmlIsBlankNode ()</h3><pre 
class="programlisting">int    xmlIsBlankNode                  (const <a 
href="libxml2-tree.html#xmlNode">xmlNode</a> * node)<br/>
-</pre><p>Checks whether this node is an empty or whitespace only (and possibly ignorable) text-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</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 yes, 0 no</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlIsXHTML"/>xmlIsXHTML ()</h3><pre 
class="programlisting">int    xmlIsXHTML                      (const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * systemID, <br/>                                    const 
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * publicID)<br/>
-</pre><p>Try to find if the document correspond to an XHTML DTD</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>systemID</tt></i>:</span></td><td>the system identifier</td></tr><tr><td><span 
class="term"><i><tt>publicID</tt></i>:</span></td><td>the public identifier</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true, 0 if not and -1 in case of 
error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlLastElementChild"/>xmlLastElementChild ()</h3><pre 
class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>        xmlLastElementChild     
(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> parent)<br/>
-</pre><p>Finds the last child node of that element which is a Element node Note the handling of entities 
references is different than in the W3C DOM element traversal spec since we don't have back <a 
href="libxml2-SAX.html#reference">reference</a> from entities content to entities references.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>parent</tt></i>:</span></td><td>the parent node</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the last element child or NULL if not 
available</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNewCDataBlock"/>xmlNewCDataBlock ()</h3><pre 
class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>      xmlNewCDataBlock        (<a 
href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>                                  const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content, <br/>                                     int 
len)<br/>
-</pre><p>Creation of a new node containing a CDATA block.</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</td></tr><tr><td><span 
class="term"><i><tt>content</tt></i>:</span></td><td>the CDATA block content content</td></tr><tr><td><span 
class="term"><i><tt>len</tt></i>:</span></td><td>the length of the block</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the new node 
object.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNewCharRef"/>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>Creation of a new character <a href="libxml2-SAX.html#reference">reference</a> node.</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</td></tr><tr><td><span 
class="term"><i><tt>name</tt></i>:</span></td><td>the char ref string, starting with # or "&amp;# ... 
;"</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the new node 
object.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNewChild"/>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>Creation of a new child element, added at the end of @parent children list. @ns and @content 
parameters are optional (NULL). If @ns is NULL, the newly created element inherits the namespace of @parent. 
If @content is non NULL, a child list containing the TEXTs and ENTITY_REFs node will be created. NOTE: 
@content is supposed to be a piece of XML CDATA, so it allows entity references. XML special chars must be 
escaped first by using xmlEncodeEntitiesReentrant(), or xmlNewTextChild() should be used.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>parent</tt></i>:</span></td><td>the parent node</td></tr><tr><td><span 
class="term"><i><tt>ns</tt></i>:</span></td><td>a namespace if any</td></tr><tr><td><span 
class="term"><i><tt>name</tt></i>:</span></td><td>the name of the child</td></tr><tr><td><span 
class="term"><i><tt>content</tt></i>:</span></td><td>the XML content of the child if 
any.</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the new node 
object.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNewComment"/>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 xmlNewDocComment. Creation of a new node containing 
a comment.</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</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the new node 
object.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNewDoc"/>xmlNewDoc ()</h3><pre 
class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>      xmlNewDoc               
(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * version)<br/>
-</pre><p>Creates a new XML document</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>version</tt></i>:</span></td><td><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> 
string giving the version of XML "1.0"</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>a new document</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNewDocComment"/>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>Creation of a new node containing a <a href="libxml2-SAX.html#comment">comment</a> within a 
document.</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</td></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></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the new node 
object.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNewDocFragment"/>xmlNewDocFragment ()</h3><pre 
class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>    xmlNewDocFragment       (<a 
href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br/>
-</pre><p>Creation of a new Fragment node.</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 owning the fragment</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the new node 
object.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNewDocNode"/>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>Creation of a new node element within a document. @ns and @content are optional (NULL). NOTE: 
@content is supposed to be a piece of XML CDATA, so it allow entities references, but XML special chars need 
to be escaped first by using xmlEncodeEntitiesReentrant(). Use xmlNewDocRawNode() if you don't need entities 
support.</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</td></tr><tr><td><span 
class="term"><i><tt>ns</tt></i>:</span></td><td>namespace if any</td></tr><tr><td><span 
class="term"><i><tt>name</tt></i>:</span></td><td>the node name</td></tr><tr><td><span 
class="term"><i><tt>content</tt></i>:</span></td><td>the XML text content if any</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the new node 
object.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNewDocNodeEatName"/>xmlNewDocNodeEatName ()</h3><pre 
class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>      xmlNewDocNodeEatName    (<a 
href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>                                  <a 
href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> ns, <br/>                                     <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>                                      const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br/>
-</pre><p>Creation of a new node element within a document. @ns and @content are optional (NULL). NOTE: 
@content is supposed to be a piece of XML CDATA, so it allow entities references, but XML special chars need 
to be escaped first by using xmlEncodeEntitiesReentrant(). Use xmlNewDocRawNode() if you don't need entities 
support.</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</td></tr><tr><td><span 
class="term"><i><tt>ns</tt></i>:</span></td><td>namespace if any</td></tr><tr><td><span 
class="term"><i><tt>name</tt></i>:</span></td><td>the node name</td></tr><tr><td><span 
class="term"><i><tt>content</tt></i>:</span></td><td>the XML text content if any</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the new node 
object.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNewDocPI"/>xmlNewDocPI ()</h3><pre 
class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>        xmlNewDocPI             
(<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> * content)<br/>
-</pre><p>Creation of a processing instruction element.</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 target document</td></tr><tr><td><span 
class="term"><i><tt>name</tt></i>:</span></td><td>the processing instruction name</td></tr><tr><td><span 
class="term"><i><tt>content</tt></i>:</span></td><td>the PI content</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the new node 
object.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNewDocProp"/>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 a new property carried by a document. NOTE: @value is supposed to be a piece of XML CDATA, 
so it allows entity references, but XML special chars need to be escaped first by using 
xmlEncodeEntitiesReentrant(). Use xmlNewProp() if you don't need entities support.</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</td></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></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></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></td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNewDocRawNode"/>xmlNewDocRawNode ()</h3><pre 
class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>      xmlNewDocRawNode        (<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>Creation of a new node element within a document. @ns and @content are optional (NULL).</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</td></tr><tr><td><span 
class="term"><i><tt>ns</tt></i>:</span></td><td>namespace if any</td></tr><tr><td><span 
class="term"><i><tt>name</tt></i>:</span></td><td>the node name</td></tr><tr><td><span 
class="term"><i><tt>content</tt></i>:</span></td><td>the text content if any</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the new node 
object.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNewDocText"/>xmlNewDocText ()</h3><pre 
class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>    xmlNewDocText           
(const <a href="libxml2-tree.html#xmlDoc">xmlDoc</a> * doc, <br/>                                        
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br/>
-</pre><p>Creation of a new text node within a document.</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</td></tr><tr><td><span 
class="term"><i><tt>content</tt></i>:</span></td><td>the text content</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the new node 
object.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNewDocTextLen"/>xmlNewDocTextLen ()</h3><pre 
class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>      xmlNewDocTextLen        (<a 
href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>                                  const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content, <br/>                                     int 
len)<br/>
-</pre><p>Creation of a new text node with an extra content length parameter. The text node pertain to a 
given document.</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</td></tr><tr><td><span 
class="term"><i><tt>content</tt></i>:</span></td><td>the text content</td></tr><tr><td><span 
class="term"><i><tt>len</tt></i>:</span></td><td>the text len.</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the new node 
object.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNewDtd"/>xmlNewDtd ()</h3><pre 
class="programlisting"><a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a>      xmlNewDtd               (<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)<br/>
-</pre><p>Creation of a new DTD for the external subset. To create an internal subset, use 
xmlCreateIntSubset().</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 pointer</td></tr><tr><td><span 
class="term"><i><tt>name</tt></i>:</span></td><td>the DTD name</td></tr><tr><td><span 
class="term"><i><tt>ExternalID</tt></i>:</span></td><td>the external ID</td></tr><tr><td><span 
class="term"><i><tt>SystemID</tt></i>:</span></td><td>the system ID</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the new DTD 
structure</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNewGlobalNs"/>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"/>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><p>Creation of a new node element. @ns is optional (NULL). Use of this function is DISCOURAGED in 
favor of xmlNewDocNode.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ns</tt></i>:</span></td><td>namespace if any</td></tr><tr><td><span 
class="term"><i><tt>name</tt></i>:</span></td><td>the node name</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the new node object. Uses xmlStrdup() to 
make copy of @name.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNewNodeEatName"/>xmlNewNodeEatName ()</h3><pre 
class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>    xmlNewNodeEatName       (<a 
href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> ns, <br/>                                     <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br/>
-</pre><p>Creation of a new node element. @ns is optional (NULL). Use of this function is DISCOURAGED in 
favor of xmlNewDocNodeEatName.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ns</tt></i>:</span></td><td>namespace if any</td></tr><tr><td><span 
class="term"><i><tt>name</tt></i>:</span></td><td>the node name</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the new node object, with pointer @name as 
new node's name. Use xmlNewNode() if a copy of @name string is is needed as new node's 
name.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNewNs"/>xmlNewNs ()</h3><pre 
class="programlisting"><a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a>  xmlNewNs                (<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)<br/>
-</pre><p>Creation of a new Namespace. This function will refuse to create a namespace with a similar prefix 
than an existing one present on this node. Note that for a default namespace, @prefix should be NULL. We use 
href==NULL in the case of an element creation where the namespace was not defined.</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 element 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>a new namespace pointer or 
NULL</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNewNsProp"/>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 a new property tagged with a namespace and carried by a 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 holding node</td></tr><tr><td><span 
class="term"><i><tt>ns</tt></i>:</span></td><td>the namespace</td></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></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></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></td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNewNsPropEatName"/>xmlNewNsPropEatName ()</h3><pre 
class="programlisting"><a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a>        xmlNewNsPropEatName     
(<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br/>                                       <a 
href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> ns, <br/>                                     <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>                                      const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value)<br/>
-</pre><p>Create a new property tagged with a namespace and carried by a 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 holding node</td></tr><tr><td><span 
class="term"><i><tt>ns</tt></i>:</span></td><td>the namespace</td></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></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></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></td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNewPI"/>xmlNewPI ()</h3><pre 
class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>      xmlNewPI                
(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>                                     
   const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br/>
-</pre><p>Creation of a processing instruction element. Use of this function is DISCOURAGED in favor of 
xmlNewDocPI.</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 processing instruction name</td></tr><tr><td><span 
class="term"><i><tt>content</tt></i>:</span></td><td>the PI content</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the new node 
object.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNewProp"/>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 a new property carried by a 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 holding node</td></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></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></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></td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNewReference"/>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>Creation of a new <a href="libxml2-SAX.html#reference">reference</a> node.</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</td></tr><tr><td><span 
class="term"><i><tt>name</tt></i>:</span></td><td>the <a href="libxml2-SAX.html#reference">reference</a> 
name, or the <a href="libxml2-SAX.html#reference">reference</a> string with &amp; and 
;</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the new node 
object.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNewText"/>xmlNewText ()</h3><pre 
class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>  xmlNewText              (const 
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br/>
-</pre><p>Creation of a new text node. Use of this function is DISCOURAGED in favor of xmlNewDocText.</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 text content</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the new node 
object.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNewTextChild"/>xmlNewTextChild ()</h3><pre 
class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>        xmlNewTextChild         
(<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>Creation of a new child element, added at the end of @parent children list. @ns and @content 
parameters are optional (NULL). If @ns is NULL, the newly created element inherits the namespace of @parent. 
If @content is non NULL, a child TEXT node will be created containing the string @content. NOTE: Use 
xmlNewChild() if @content will contain entities that need to be preserved. Use this function, 
xmlNewTextChild(), if you need to ensure that reserved XML chars that might appear in @content, such as the 
ampersand, greater-than or less-than signs, are automatically replaced by their XML escaped entity 
representations.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>parent</tt></i>:</span></td><td>the parent node</td></tr><tr><td><span 
class="term"><i><tt>ns</tt></i>:</span></td><td>a namespace if any</td></tr><tr><td><span 
class="term"><i><tt>name</tt></i>:</span></td><td>the name of the child</td></tr><tr><td><span 
class="term"><i><tt>content</tt></i>:</span></td><td>the text content of the child if 
any.</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the new node 
object.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNewTextLen"/>xmlNewTextLen ()</h3><pre 
class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>    xmlNewTextLen           
(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content, <br/>                                  
   int len)<br/>
-</pre><p>Use of this function is DISCOURAGED in favor of xmlNewDocTextLen. Creation of a new text node with 
an extra parameter for the content's length</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 text content</td></tr><tr><td><span 
class="term"><i><tt>len</tt></i>:</span></td><td>the text len.</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the new node 
object.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNextElementSibling"/>xmlNextElementSibling 
()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>    
xmlNextElementSibling   (<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br/>
-</pre><p>Finds the first closest next sibling of the node which is an element node. Note the handling of 
entities references is different than in the W3C DOM element traversal spec since we don't have back <a 
href="libxml2-SAX.html#reference">reference</a> from entities content to entities references.</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 current node</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the next element sibling or NULL if not 
available</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNodeAddContent"/>xmlNodeAddContent ()</h3><pre 
class="programlisting">void     xmlNodeAddContent               (<a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br/>                                        const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br/>
-</pre><p>Append the extra substring to the node content. NOTE: In contrast to xmlNodeSetContent(), @content 
is supposed to be raw text, so unescaped XML special chars are allowed, entity references are not 
supported.</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 node being modified</td></tr><tr><td><span 
class="term"><i><tt>content</tt></i>:</span></td><td>extra content</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNodeAddContentLen"/>xmlNodeAddContentLen ()</h3><pre 
class="programlisting">void       xmlNodeAddContentLen            (<a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br/>                                        const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content, <br/>                                     int 
len)<br/>
-</pre><p>Append the extra substring to the node content. NOTE: In contrast to xmlNodeSetContentLen(), 
@content is supposed to be raw text, so unescaped XML special chars are allowed, entity references are not 
supported.</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 node being modified</td></tr><tr><td><span 
class="term"><i><tt>content</tt></i>:</span></td><td>extra content</td></tr><tr><td><span 
class="term"><i><tt>len</tt></i>:</span></td><td>the size of @content</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNodeBufGetContent"/>xmlNodeBufGetContent ()</h3><pre 
class="programlisting">int        xmlNodeBufGetContent            (<a 
href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buffer, <br/>                                         
const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * cur)<br/>
-</pre><p>Read the value of a node @cur, this can be either the text carried directly by this node if it's a 
TEXT node or the aggregate string of the values carried by this node child's (TEXT and ENTITY_REF). Entity 
references are substituted. Fills up the buffer @buffer with this value</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>buffer</tt></i>:</span></td><td>a buffer</td></tr><tr><td><span 
class="term"><i><tt>cur</tt></i>:</span></td><td>the node being read</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success and -1 in case of 
error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNodeDump"/>xmlNodeDump ()</h3><pre 
class="programlisting">int  xmlNodeDump                     (<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#xmlNodePtr">xmlNodePtr</a> cur, <br/>                                        int 
level, <br/>                                        int format)<br/>
-</pre><p>Dump an XML node, recursive behaviour,children are printed too. Note that @format = 1 provide node 
indenting only if <a href="libxml2-globals.html#xmlIndentTreeOutput">xmlIndentTreeOutput</a> = 1 or 
xmlKeepBlanksDefault(0) was called. Since this is using <a href="libxml2-tree.html#xmlBuffer">xmlBuffer</a> 
structures it is limited to 2GB and somehow deprecated, use xmlNodeDumpOutput() instead.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>buf</tt></i>:</span></td><td>the XML buffer output</td></tr><tr><td><span 
class="term"><i><tt>doc</tt></i>:</span></td><td>the document</td></tr><tr><td><span 
class="term"><i><tt>cur</tt></i>:</span></td><td>the current node</td></tr><tr><td><span 
class="term"><i><tt>level</tt></i>:</span></td><td>the imbrication level for indenting</td></tr><tr><td><span 
class="term"><i><tt>format</tt></i>:</span></td><td>is formatting allowed</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of bytes written to the buffer or -1 in case 
of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNodeDumpOutput"/>xmlNodeDumpOutput ()</h3><pre 
class="programlisting">void     xmlNodeDumpOutput               (<a 
href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf, <br/>                                 
       <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>                                  <a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br/>                                        int 
level, <br/>                                        int format, <br/>                                       
const char * encoding)<br/>
-</pre><p>Dump an XML node, recursive behaviour, children are printed too. Note that @format = 1 provide node 
indenting only if <a href="libxml2-globals.html#xmlIndentTreeOutput">xmlIndentTreeOutput</a> = 1 or 
xmlKeepBlanksDefault(0) was called</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>buf</tt></i>:</span></td><td>the XML buffer output</td></tr><tr><td><span 
class="term"><i><tt>doc</tt></i>:</span></td><td>the document</td></tr><tr><td><span 
class="term"><i><tt>cur</tt></i>:</span></td><td>the current node</td></tr><tr><td><span 
class="term"><i><tt>level</tt></i>:</span></td><td>the imbrication level for indenting</td></tr><tr><td><span 
class="term"><i><tt>format</tt></i>:</span></td><td>is formatting allowed</td></tr><tr><td><span 
class="term"><i><tt>encoding</tt></i>:</span></td><td>an optional encoding 
string</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNodeGetBase"/>xmlNodeGetBase ()</h3><pre 
class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * xmlNodeGetBase          (const 
<a href="libxml2-tree.html#xmlDoc">xmlDoc</a> * doc, <br/>                                        const <a 
href="libxml2-tree.html#xmlNode">xmlNode</a> * cur)<br/>
-</pre><p>Searches for the BASE URL. The code should work on both XML and HTML document even if base 
mechanisms are completely different. It returns the base as defined in RFC 2396 sections 5.1.1. Base URI 
within Document Content and 5.1.2. Base URI from the Encapsulating Entity However it does not return the 
document base (5.1.3), use doc-&gt;URL in this case</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 the node pertains to</td></tr><tr><td><span 
class="term"><i><tt>cur</tt></i>:</span></td><td>the node being checked</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the base URL, or NULL if not found It's up 
to the caller to free the memory with xmlFree().</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNodeGetContent"/>xmlNodeGetContent ()</h3><pre 
class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *   xmlNodeGetContent       
(const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * cur)<br/>
-</pre><p>Read the value of a node, this can be either the text carried directly by this node if it's a TEXT 
node or the aggregate string of the values carried by this node child's (TEXT and ENTITY_REF). Entity 
references are substituted.</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 node being read</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>a new #xmlChar * or NULL if no content is available. 
It's up to the caller to free the memory with xmlFree().</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNodeGetLang"/>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>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>cur</tt></i>:</span></td><td>the node being checked</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the lang value, or NULL if not found It's 
up to the caller to free the memory with xmlFree().</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNodeGetSpacePreserve"/>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>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>cur</tt></i>:</span></td><td>the node being checked</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 if xml:space is not inherited, 0 if "default", 1 if 
"preserve"</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNodeIsText"/>xmlNodeIsText ()</h3><pre 
class="programlisting">int      xmlNodeIsText                   (const <a 
href="libxml2-tree.html#xmlNode">xmlNode</a> * node)<br/>
-</pre><p>Is this node a Text 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</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 yes, 0 no</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNodeListGetRawString"/>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>Builds the string equivalent to the text contained in the Node list made of TEXTs and ENTITY_REFs, 
contrary to xmlNodeListGetString() this function doesn't do any character encoding handling.</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</td></tr><tr><td><span 
class="term"><i><tt>list</tt></i>:</span></td><td>a Node list</td></tr><tr><td><span 
class="term"><i><tt>inLine</tt></i>:</span></td><td>should we replace entity contents or show their external 
form</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the string 
copy, the caller must free it with xmlFree().</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNodeListGetString"/>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>Build the string equivalent to the text contained in the Node list made of TEXTs and ENTITY_REFs</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</td></tr><tr><td><span 
class="term"><i><tt>list</tt></i>:</span></td><td>a Node list</td></tr><tr><td><span 
class="term"><i><tt>inLine</tt></i>:</span></td><td>should we replace entity contents or show their external 
form</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the string 
copy, the caller must free it with xmlFree().</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNodeSetBase"/>xmlNodeSetBase ()</h3><pre 
class="programlisting">void   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 attribute.</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 node being changed</td></tr><tr><td><span 
class="term"><i><tt>uri</tt></i>:</span></td><td>the new base URI</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNodeSetContent"/>xmlNodeSetContent ()</h3><pre 
class="programlisting">void     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 content of a node. NOTE: @content is supposed to be a piece of XML CDATA, so it allows 
entity references, but XML special chars need to be escaped first by using xmlEncodeEntitiesReentrant() resp. 
xmlEncodeSpecialChars().</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 node being modified</td></tr><tr><td><span 
class="term"><i><tt>content</tt></i>:</span></td><td>the new value of the 
content</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNodeSetContentLen"/>xmlNodeSetContentLen ()</h3><pre 
class="programlisting">void       xmlNodeSetContentLen            (<a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br/>                                        const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content, <br/>                                     int 
len)<br/>
-</pre><p>Replace the content of a node. NOTE: @content is supposed to be a piece of XML CDATA, so it allows 
entity references, but XML special chars need to be escaped first by using xmlEncodeEntitiesReentrant() resp. 
xmlEncodeSpecialChars().</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 node being modified</td></tr><tr><td><span 
class="term"><i><tt>content</tt></i>:</span></td><td>the new value of the content</td></tr><tr><td><span 
class="term"><i><tt>len</tt></i>:</span></td><td>the size of @content</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNodeSetLang"/>xmlNodeSetLang ()</h3><pre 
class="programlisting">void   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 attribute.</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 node being changed</td></tr><tr><td><span 
class="term"><i><tt>lang</tt></i>:</span></td><td>the language 
description</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNodeSetName"/>xmlNodeSetName ()</h3><pre 
class="programlisting">void   xmlNodeSetName                  (<a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br/>                                        const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br/>
-</pre><p>Set (or reset) the name of a node.</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 node being changed</td></tr><tr><td><span 
class="term"><i><tt>name</tt></i>:</span></td><td>the new tag name</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNodeSetSpacePreserve"/>xmlNodeSetSpacePreserve 
()</h3><pre class="programlisting">void 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 
attribute.</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 node being changed</td></tr><tr><td><span 
class="term"><i><tt>val</tt></i>:</span></td><td>the xml:space value ("0": default, 1: 
"preserve")</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlPreviousElementSibling"/>xmlPreviousElementSibling 
()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>    
xmlPreviousElementSibling       (<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br/>
-</pre><p>Finds the first closest previous sibling of the node which is an element node. Note the handling of 
entities references is different than in the W3C DOM element traversal spec since we don't have back <a 
href="libxml2-SAX.html#reference">reference</a> from entities content to entities references.</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 current node</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the previous element sibling or NULL if not 
available</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlReconciliateNs"/>xmlReconciliateNs ()</h3><pre 
class="programlisting">int      xmlReconciliateNs               (<a 
href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>                                  <a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> tree)<br/>
-</pre><p>This function checks that all the namespaces declared within the given tree are properly declared. 
This is needed for example after Copy or Cut and then paste operations. The subtree may still hold pointers 
to namespace declarations outside the subtree or invalid/masked. As much as possible the function try to 
reuse the existing namespaces found in the new environment. If not possible the new namespaces are redeclared 
on @tree at the top of the given subtree.</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</td></tr><tr><td><span 
class="term"><i><tt>tree</tt></i>:</span></td><td>a node defining the subtree to 
reconciliate</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of 
namespace declarations created or -1 in case of error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlRemoveProp"/>xmlRemoveProp ()</h3><pre 
class="programlisting">int      xmlRemoveProp                   (<a 
href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a> cur)<br/>
-</pre><p>Unlink and free one attribute, all the content is freed too Note this doesn't work for namespace 
definition attributes</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></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if success and -1 in case of 
error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlReplaceNode"/>xmlReplaceNode ()</h3><pre 
class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>  xmlReplaceNode          (<a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> old, <br/>                                        <a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur)<br/>
-</pre><p>Unlink the old node from its current context, prune the new one at the same place. If @cur was 
already inserted in a document it is first unlinked from its existing context. See the note regarding 
namespaces in xmlAddChild.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>old</tt></i>:</span></td><td>the old node</td></tr><tr><td><span 
class="term"><i><tt>cur</tt></i>:</span></td><td>the node</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the @old node</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSaveFile"/>xmlSaveFile ()</h3><pre 
class="programlisting">int  xmlSaveFile                     (const char * filename, <br/>                     
               <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur)<br/>
-</pre><p>Dump an XML document to a file. Will use compression if compiled in and enabled. If @filename is 
"-" the stdout file is used.</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 (or URL)</td></tr><tr><td><span 
class="term"><i><tt>cur</tt></i>:</span></td><td>the document</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of bytes written or -1 in case of 
failure.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSaveFileEnc"/>xmlSaveFileEnc ()</h3><pre 
class="programlisting">int    xmlSaveFileEnc                  (const char * filename, <br/>                   
                 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br/>                               
   const char * encoding)<br/>
-</pre><p>Dump an XML document, converting it to the given encoding</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 (or URL)</td></tr><tr><td><span 
class="term"><i><tt>cur</tt></i>:</span></td><td>the document</td></tr><tr><td><span 
class="term"><i><tt>encoding</tt></i>:</span></td><td>the name of an encoding (or 
NULL)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of bytes written 
or -1 in case of failure.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSaveFileTo"/>xmlSaveFileTo ()</h3><pre 
class="programlisting">int      xmlSaveFileTo                   (<a 
href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf, <br/>                                 
       <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br/>                                  const 
char * encoding)<br/>
-</pre><p>Dump an XML document to an I/O buffer. Warning ! This call xmlOutputBufferClose() on buf which is 
not available after this call.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>buf</tt></i>:</span></td><td>an output I/O buffer</td></tr><tr><td><span 
class="term"><i><tt>cur</tt></i>:</span></td><td>the document</td></tr><tr><td><span 
class="term"><i><tt>encoding</tt></i>:</span></td><td>the encoding if any assuming the I/O layer handles the 
transcoding</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of bytes 
written or -1 in case of failure.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSaveFormatFile"/>xmlSaveFormatFile ()</h3><pre 
class="programlisting">int      xmlSaveFormatFile               (const char * filename, <br/>                 
                   <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br/>                             
     int format)<br/>
-</pre><p>Dump an XML document to a file. Will use compression if compiled in and enabled. If @filename is 
"-" the stdout file is used. If @format is set then the document will be indented on output. Note that 
@format = 1 provide node indenting only if <a 
href="libxml2-globals.html#xmlIndentTreeOutput">xmlIndentTreeOutput</a> = 1 or xmlKeepBlanksDefault(0) was 
called</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 (or URL)</td></tr><tr><td><span 
class="term"><i><tt>cur</tt></i>:</span></td><td>the document</td></tr><tr><td><span 
class="term"><i><tt>format</tt></i>:</span></td><td>should formatting spaces been 
added</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of bytes written 
or -1 in case of failure.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSaveFormatFileEnc"/>xmlSaveFormatFileEnc ()</h3><pre 
class="programlisting">int        xmlSaveFormatFileEnc            (const char * filename, <br/>               
                     <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br/>                           
       const char * encoding, <br/>                                    int format)<br/>
-</pre><p>Dump an XML document to a file or an URL.</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 or URL to output</td></tr><tr><td><span 
class="term"><i><tt>cur</tt></i>:</span></td><td>the document being saved</td></tr><tr><td><span 
class="term"><i><tt>encoding</tt></i>:</span></td><td>the name of the encoding to use or 
NULL.</td></tr><tr><td><span class="term"><i><tt>format</tt></i>:</span></td><td>should formatting spaces be 
added.</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of bytes 
written or -1 in case of error. Note that @format = 1 provide node indenting only if <a 
href="libxml2-globals.html#xmlIndentTreeOutput">xmlIndentTreeOutput</a> = 1 or xmlKeepBlanksDefault(0) was 
called</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSaveFormatFileTo"/>xmlSaveFormatFileTo ()</h3><pre 
class="programlisting">int  xmlSaveFormatFileTo             (<a 
href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf, <br/>                                 
       <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br/>                                  const 
char * encoding, <br/>                                    int format)<br/>
-</pre><p>Dump an XML document to an I/O buffer. Warning ! This call xmlOutputBufferClose() on buf which is 
not available after this call.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>buf</tt></i>:</span></td><td>an output I/O buffer</td></tr><tr><td><span 
class="term"><i><tt>cur</tt></i>:</span></td><td>the document</td></tr><tr><td><span 
class="term"><i><tt>encoding</tt></i>:</span></td><td>the encoding if any assuming the I/O layer handles the 
transcoding</td></tr><tr><td><span class="term"><i><tt>format</tt></i>:</span></td><td>should formatting 
spaces been added</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of 
bytes written or -1 in case of failure.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSearchNs"/>xmlSearchNs ()</h3><pre 
class="programlisting"><a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a>    xmlSearchNs             (<a 
href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>                                  <a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br/>                                       const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * nameSpace)<br/>
-</pre><p>Search a Ns registered under a given name space for a document. recurse on the parents until it 
finds the defined namespace or return NULL otherwise. @nameSpace can be NULL, this is a search for the 
default namespace. We don't allow to cross entities boundaries. If you don't declare the namespace within 
those you will be in troubles !!! A warning is generated to cover this case.</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</td></tr><tr><td><span 
class="term"><i><tt>node</tt></i>:</span></td><td>the current node</td></tr><tr><td><span 
class="term"><i><tt>nameSpace</tt></i>:</span></td><td>the namespace prefix</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the namespace pointer or 
NULL.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSearchNsByHref"/>xmlSearchNsByHref ()</h3><pre 
class="programlisting"><a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a>        xmlSearchNsByHref       (<a 
href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>                                  <a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br/>                                       const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * href)<br/>
-</pre><p>Search a Ns aliasing a given URI. Recurse on the parents until it finds the defined namespace or 
return NULL otherwise.</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</td></tr><tr><td><span 
class="term"><i><tt>node</tt></i>:</span></td><td>the current node</td></tr><tr><td><span 
class="term"><i><tt>href</tt></i>:</span></td><td>the namespace value</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the namespace pointer or 
NULL.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlSetBufferAllocationScheme"/>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>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>scheme</tt></i>:</span></td><td>allocation method to 
use</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSetCompressMode"/>xmlSetCompressMode ()</h3><pre 
class="programlisting">void   xmlSetCompressMode              (int mode)<br/>
-</pre><p>set the default compression mode used, ZLIB based Correct values: 0 (uncompressed) to 9 (max 
compression)</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>mode</tt></i>:</span></td><td>the compression ratio</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSetDocCompressMode"/>xmlSetDocCompressMode 
()</h3><pre class="programlisting">void     xmlSetDocCompressMode           (<a 
href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>                                  int mode)<br/>
-</pre><p>set the compression ratio for a document, ZLIB based Correct values: 0 (uncompressed) to 9 (max 
compression)</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</td></tr><tr><td><span 
class="term"><i><tt>mode</tt></i>:</span></td><td>the compression ratio</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSetListDoc"/>xmlSetListDoc ()</h3><pre 
class="programlisting">void     xmlSetListDoc                   (<a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> list, <br/>                                       <a 
href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br/>
-</pre><p>update all nodes in the list to point to the right document</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>list</tt></i>:</span></td><td>the first element</td></tr><tr><td><span 
class="term"><i><tt>doc</tt></i>:</span></td><td>the document</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSetNs"/>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>Associate a namespace to a node, a posteriori.</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 node in the document</td></tr><tr><td><span 
class="term"><i><tt>ns</tt></i>:</span></td><td>a namespace pointer</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSetNsProp"/>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>
-<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</td></tr><tr><td><span 
class="term"><i><tt>ns</tt></i>:</span></td><td>the namespace definition</td></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></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></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></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSetProp"/>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>
-<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</td></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></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></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></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSetTreeDoc"/>xmlSetTreeDoc ()</h3><pre 
class="programlisting">void     xmlSetTreeDoc                   (<a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> tree, <br/>                                       <a 
href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br/>
-</pre><p>update all nodes under the tree to point to the right document</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>tree</tt></i>:</span></td><td>the top element</td></tr><tr><td><span 
class="term"><i><tt>doc</tt></i>:</span></td><td>the document</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSplitQName2"/>xmlSplitQName2 ()</h3><pre 
class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * xmlSplitQName2          (const 
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>                                        <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** prefix)<br/>
-</pre><p>parse an 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><tr><td><span 
class="term"><i><tt>name</tt></i>:</span></td><td>the full QName</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>NULL if the name doesn't have 
a prefix. Otherwise, returns the local part, and prefix is updated to get the Prefix. Both the return value 
and the prefix must be freed by the caller.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSplitQName3"/>xmlSplitQName3 ()</h3><pre 
class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *   xmlSplitQName3          
(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>                                     
   int * len)<br/>
-</pre><p>parse an XML qualified name string,i</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 full QName</td></tr><tr><td><span 
class="term"><i><tt>len</tt></i>:</span></td><td>an int *</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>NULL if it is not a Qualified Name, otherwise, update 
len with the length in byte of the prefix and return a pointer to the start of the name without the 
prefix</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlStringGetNodeList"/>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>Parse the value string and build the node list associated. Should produce a flat tree with only 
TEXTs and ENTITY_REFs.</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</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></td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the first 
child</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlStringLenGetNodeList"/>xmlStringLenGetNodeList 
()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>        
xmlStringLenGetNodeList (const <a href="libxml2-tree.html#xmlDoc">xmlDoc</a> * doc, <br/>                     
                   const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br/>                  
                     int len)<br/>
-</pre><p>Parse the value string and build the node list associated. Should produce a flat tree with only 
TEXTs and ENTITY_REFs.</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</td></tr><tr><td><span 
class="term"><i><tt>value</tt></i>:</span></td><td>the value of the text</td></tr><tr><td><span 
class="term"><i><tt>len</tt></i>:</span></td><td>the length of the string value</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the first 
child</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextConcat"/>xmlTextConcat ()</h3><pre 
class="programlisting">int      xmlTextConcat                   (<a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br/>                                       const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content, <br/>                                     int 
len)<br/>
-</pre><p>Concat the given string at the end of the existing node content</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</td></tr><tr><td><span 
class="term"><i><tt>content</tt></i>:</span></td><td>the content</td></tr><tr><td><span 
class="term"><i><tt>len</tt></i>:</span></td><td>@content length</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 in case of error, 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextMerge"/>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 two text nodes into one</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>first</tt></i>:</span></td><td>the first text node</td></tr><tr><td><span 
class="term"><i><tt>second</tt></i>:</span></td><td>the second text node being merged</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the first text node 
augmented</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUnlinkNode"/>xmlUnlinkNode ()</h3><pre 
class="programlisting">void     xmlUnlinkNode                   (<a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur)<br/>
-</pre><p>Unlink a node from it's current context, the node is not freed If one need to free the node, use 
xmlFreeNode() routine after the unlink to discard it. Note that namespace nodes can't be unlinked as they do 
not have pointer to their parent.</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 node</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUnsetNsProp"/>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>
-<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</td></tr><tr><td><span 
class="term"><i><tt>ns</tt></i>:</span></td><td>the namespace definition</td></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></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if successful, -1 if not 
found</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUnsetProp"/>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>
-<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</td></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></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if successful, -1 if not 
found</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlValidateNCName"/>xmlValidateNCName ()</h3><pre 
class="programlisting">int      xmlValidateNCName               (const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br/>                                       int 
space)<br/>
-</pre><p>Check that a value conforms to the lexical space of NCName</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>value</tt></i>:</span></td><td>the value to check</td></tr><tr><td><span 
class="term"><i><tt>space</tt></i>:</span></td><td>allow spaces in front and end of the 
string</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if this validates, a 
positive error code number otherwise and -1 in case of internal or API 
error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlValidateNMToken"/>xmlValidateNMToken ()</h3><pre 
class="programlisting">int    xmlValidateNMToken              (const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br/>                                       int 
space)<br/>
-</pre><p>Check that a value conforms to the lexical space of NMToken</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>value</tt></i>:</span></td><td>the value to check</td></tr><tr><td><span 
class="term"><i><tt>space</tt></i>:</span></td><td>allow spaces in front and end of the 
string</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if this validates, a 
positive error code number otherwise and -1 in case of internal or API 
error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlValidateName"/>xmlValidateName ()</h3><pre 
class="programlisting">int  xmlValidateName                 (const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br/>                                       int 
space)<br/>
-</pre><p>Check that a value conforms to the lexical space of Name</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>value</tt></i>:</span></td><td>the value to check</td></tr><tr><td><span 
class="term"><i><tt>space</tt></i>:</span></td><td>allow spaces in front and end of the 
string</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if this validates, a 
positive error code number otherwise and -1 in case of internal or API 
error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlValidateQName"/>xmlValidateQName ()</h3><pre 
class="programlisting">int        xmlValidateQName                (const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br/>                                       int 
space)<br/>
-</pre><p>Check that a value conforms to the lexical space of QName</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>value</tt></i>:</span></td><td>the value to check</td></tr><tr><td><span 
class="term"><i><tt>space</tt></i>:</span></td><td>allow spaces in front and end of the 
string</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if this validates, a 
positive error code number otherwise and -1 in case of internal or API 
error.</td></tr></tbody></table></div></div>
-        <hr/>
-      </div>
-    </div>
-  </body>
+</pre>
+<p></p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSAXLocatorPtr">Typedef </a>xmlSAXLocatorPtr</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlSAXLocator">xmlSAXLocator</a> * xmlSAXLocatorPtr;
+</pre>
+<p></p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlDOMWrapAcquireNsFunction"></a>Function type xmlDOMWrapAcquireNsFunction</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a>  xmlDOMWrapAcquireNsFunction   
  (<a href="libxml2-tree.html#xmlDOMWrapCtxtPtr">xmlDOMWrapCtxtPtr</a> ctxt, <br>                             
             <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>                                 
               const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * nsName, <br>                      
                         const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * nsPrefix)<br>
+</pre>
+<p>A function called to acquire namespaces (xmlNs) from the wrapper.</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 DOM wrapper context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>node</tt></i>:</span></td>
+<td>the context node (element or attribute)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>nsName</tt></i>:</span></td>
+<td>the requested namespace name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>nsPrefix</tt></i>:</span></td>
+<td>the requested namespace prefix</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>an <a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> or NULL in case of an error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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>Add a new node to @parent, at the end of the child (or property) list merging adjacent TEXT nodes (in 
which case @cur is freed) If the new node is ATTRIBUTE, it is added into properties instead of children. If 
there is an <a href="libxml2-SAX.html#attribute">attribute</a> with equal name, it is first destroyed. All 
tree manipulation functions can safely move nodes within a document. But when moving nodes from one document 
to another, references to namespaces in element or <a href="libxml2-SAX.html#attribute">attribute</a> nodes 
are NOT fixed. In this case, you MUST call <a 
href="libxml2-tree.html#xmlReconciliateNs">xmlReconciliateNs</a> after the move operation to avoid memory 
errors.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>parent</tt></i>:</span></td>
+<td>the parent node</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>the child node</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the child or NULL in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlAddChildList"></a>xmlAddChildList ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>      xmlAddChildList       
  (<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> parent, <br>                                      <a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur)<br>
+</pre>
+<p>Add a list of node at the end of the child list of the parent merging adjacent TEXT nodes (@cur may be 
freed) See the note regarding namespaces in xmlAddChild.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>parent</tt></i>:</span></td>
+<td>the parent node</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>the first node in the list</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the last child or NULL in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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> cur, <br>                                         <a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem)<br>
+</pre>
+<p>Add a new node @elem as the next sibling of @cur If the new node was already inserted in a document it is 
first unlinked from its existing context. As a result of text merging @elem may be freed. If the new node is 
ATTRIBUTE, it is added into properties instead of children. If there is an <a 
href="libxml2-SAX.html#attribute">attribute</a> with equal name, it is first destroyed. See the note 
regarding namespaces in xmlAddChild.</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 child node</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>elem</tt></i>:</span></td>
+<td>the new node</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the new node or NULL in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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> cur, <br>                                         <a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem)<br>
+</pre>
+<p>Add a new node @elem as the previous sibling of @cur merging adjacent TEXT nodes (@elem may be freed) If 
the new node was already inserted in a document it is first unlinked from its existing context. If the new 
node is ATTRIBUTE, it is added into properties instead of children. If there is an <a 
href="libxml2-SAX.html#attribute">attribute</a> with equal name, it is first destroyed. See the note 
regarding namespaces in xmlAddChild.</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 child node</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>elem</tt></i>:</span></td>
+<td>the new node</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the new node or NULL in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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> cur, <br>                                         <a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem)<br>
+</pre>
+<p>Add a new element @elem to the list of siblings of @cur merging adjacent TEXT nodes (@elem may be freed) 
If the new element was already inserted in a document it is first unlinked from its existing context. See the 
note regarding namespaces in xmlAddChild.</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 child node</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>elem</tt></i>:</span></td>
+<td>the new node</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the new element or NULL in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>buf</tt></i>:</span></td>
+<td>the XML buffer output</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>doc</tt></i>:</span></td>
+<td>the document</td>
+</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>
+</tr>
+<tr>
+<td><span class="term"><i><tt>string</tt></i>:</span></td>
+<td>the text content</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlBufContent"></a>xmlBufContent ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *     xmlBufContent         
  (const <a href="libxml2-tree.html#xmlBuf">xmlBuf</a> * buf)<br>
+</pre>
+<p>Function to extract the content of a 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>the buffer</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the internal content</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlBufEnd"></a>xmlBufEnd ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *     xmlBufEnd             
  (<a href="libxml2-tree.html#xmlBufPtr">xmlBufPtr</a> buf)<br>
+</pre>
+<p>Function to extract the end of the content of a 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>the buffer</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the end of the internal content or NULL in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlBufGetNodeContent"></a>xmlBufGetNodeContent ()</h3>
+<pre class="programlisting">int        xmlBufGetNodeContent            (<a 
href="libxml2-tree.html#xmlBufPtr">xmlBufPtr</a> buf, <br>                                   const <a 
href="libxml2-tree.html#xmlNode">xmlNode</a> * cur)<br>
+</pre>
+<p>Read the value of a node @cur, this can be either the text carried directly by this node if it's a TEXT 
node or the aggregate string of the values carried by this node child's (TEXT and ENTITY_REF). Entity 
references are substituted. Fills up the buffer @buf with this value</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 <a href="libxml2-tree.html#xmlBufPtr">xmlBufPtr</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>the node being read</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 in case of success and -1 in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlBufNodeDump"></a>xmlBufNodeDump ()</h3>
+<pre class="programlisting">size_t     xmlBufNodeDump                  (<a 
href="libxml2-tree.html#xmlBufPtr">xmlBufPtr</a> buf, <br>                                   <a 
href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>                                   <a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br>                                         int 
level, <br>                                         int format)<br>
+</pre>
+<p>Dump an XML node, recursive behaviour,children are printed too. Note that @format = 1 provide node 
indenting only if <a href="libxml2-globals.html#xmlIndentTreeOutput">xmlIndentTreeOutput</a> = 1 or 
xmlKeepBlanksDefault(0) was called</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>buf</tt></i>:</span></td>
+<td>the XML buffer output</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>doc</tt></i>:</span></td>
+<td>the document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>the current node</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>level</tt></i>:</span></td>
+<td>the imbrication level for indenting</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>format</tt></i>:</span></td>
+<td>is formatting allowed</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the number of bytes written to the buffer, in case of error 0 is returned or @buf stores the error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>buf</tt></i>:</span></td>
+<td>the buffer to dump</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>len</tt></i>:</span></td>
+<td>the number of <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> to remove</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the number of byte removed or 0 in case of failure</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlBufUse"></a>xmlBufUse ()</h3>
+<pre class="programlisting">size_t     xmlBufUse                       (const <a 
href="libxml2-tree.html#xmlBufPtr">xmlBufPtr</a> buf)<br>
+</pre>
+<p>Function to get the length of a 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>the buffer</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the length of data in the internal content</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlBufferAdd"></a>xmlBufferAdd ()</h3>
+<pre class="programlisting">int        xmlBufferAdd                    (<a 
href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>                                     const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br>                                  int len)<br>
+</pre>
+<p>Add a string range to an XML buffer. if len == -1, the length of str is recomputed.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>buf</tt></i>:</span></td>
+<td>the buffer to dump</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>str</tt></i>:</span></td>
+<td>the #xmlChar string</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>len</tt></i>:</span></td>
+<td>the number of #xmlChar to add</td>
+</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>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlBufferAddHead"></a>xmlBufferAddHead ()</h3>
+<pre class="programlisting">int        xmlBufferAddHead                (<a 
href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>                                     const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br>                                  int len)<br>
+</pre>
+<p>Add a string range to the beginning of an XML buffer. if len == -1, the length of @str is recomputed.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>buf</tt></i>:</span></td>
+<td>the buffer</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>str</tt></i>:</span></td>
+<td>the #xmlChar string</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>len</tt></i>:</span></td>
+<td>the number of #xmlChar to add</td>
+</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>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlBufferCCat"></a>xmlBufferCCat ()</h3>
+<pre class="programlisting">int        xmlBufferCCat                   (<a 
href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>                                     const 
char * str)<br>
+</pre>
+<p>Append a zero terminated C string to an XML 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>the buffer to dump</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>str</tt></i>:</span></td>
+<td>the C char string</td>
+</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>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlBufferCat"></a>xmlBufferCat ()</h3>
+<pre class="programlisting">int        xmlBufferCat                    (<a 
href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>                                     const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str)<br>
+</pre>
+<p>Append a zero terminated string to an XML 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>the buffer to add to</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>str</tt></i>:</span></td>
+<td>the #xmlChar string</td>
+</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>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlBufferContent"></a>xmlBufferContent ()</h3>
+<pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *       
xmlBufferContent        (const <a href="libxml2-tree.html#xmlBuffer">xmlBuffer</a> * buf)<br>
+</pre>
+<p>Function to extract the content of a 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>the buffer</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the internal content</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlBufferCreate"></a>xmlBufferCreate ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a>  xmlBufferCreate       
  (void)<br>
+</pre>
+<p>routine to create an XML buffer.</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 new structure.</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlBufferCreateSize"></a>xmlBufferCreateSize ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a>  xmlBufferCreateSize   
  (size_t size)<br>
+</pre>
+<p>routine to create an XML buffer.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>size</tt></i>:</span></td>
+<td>initial size of buffer</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the new structure.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlBufferCreateStatic"></a>xmlBufferCreateStatic ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a>  xmlBufferCreateStatic 
  (void * mem, <br>                                        size_t size)<br>
+</pre>
+<p>routine to create an XML buffer from an immutable memory area. The area won't be modified nor copied, and 
is expected to be present until the end of the buffer lifetime.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>mem</tt></i>:</span></td>
+<td>the memory area</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>size</tt></i>:</span></td>
+<td>the size in byte</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the new structure.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlBufferDetach"></a>xmlBufferDetach ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *     xmlBufferDetach       
  (<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf)<br>
+</pre>
+<p>Remove the string contained in a buffer and gie it back to the caller. The buffer is reset to an empty 
content. This doesn't work with immutable buffers as they can't be reset.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>buf</tt></i>:</span></td>
+<td>the buffer</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the previous string contained by the buffer.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlBufferDump"></a>xmlBufferDump ()</h3>
+<pre class="programlisting">int        xmlBufferDump                   (FILE * file, <br>                    
                   <a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf)<br>
+</pre>
+<p>Dumps an XML buffer to a FILE *.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>file</tt></i>:</span></td>
+<td>the file output</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>buf</tt></i>:</span></td>
+<td>the buffer to dump</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the number of #xmlChar written</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlBufferEmpty"></a>xmlBufferEmpty ()</h3>
+<pre class="programlisting">void       xmlBufferEmpty                  (<a 
href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf)<br>
+</pre>
+<p>empty a 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>the buffer</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlBufferFree"></a>xmlBufferFree ()</h3>
+<pre class="programlisting">void       xmlBufferFree                   (<a 
href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf)<br>
+</pre>
+<p>Frees an XML buffer. It frees both the content and the structure which encapsulate it.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>buf</tt></i>:</span></td>
+<td>the buffer to free</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>buf</tt></i>:</span></td>
+<td>the buffer</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>len</tt></i>:</span></td>
+<td>the minimum free size to allocate</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the new available space or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlBufferLength"></a>xmlBufferLength ()</h3>
+<pre class="programlisting">int        xmlBufferLength                 (const <a 
href="libxml2-tree.html#xmlBuffer">xmlBuffer</a> * buf)<br>
+</pre>
+<p>Function to get the length of a 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>the buffer</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the length of data in the internal content</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>buf</tt></i>:</span></td>
+<td>the buffer to resize</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>size</tt></i>:</span></td>
+<td>the desired size</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 in case of problems, 1 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>buf</tt></i>:</span></td>
+<td>the buffer to tune</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>scheme</tt></i>:</span></td>
+<td>allocation scheme to use</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>buf</tt></i>:</span></td>
+<td>the buffer to dump</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>len</tt></i>:</span></td>
+<td>the number of <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> to remove</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the number of #xmlChar removed, or -1 in case of failure.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlBufferWriteCHAR"></a>xmlBufferWriteCHAR ()</h3>
+<pre class="programlisting">void       xmlBufferWriteCHAR              (<a 
href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>                                     const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * string)<br>
+</pre>
+<p>routine which manages and grows an output buffer. This one adds xmlChars at the end of 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>the XML buffer</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>string</tt></i>:</span></td>
+<td>the string to add</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlBufferWriteChar"></a>xmlBufferWriteChar ()</h3>
+<pre class="programlisting">void       xmlBufferWriteChar              (<a 
href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>                                     const 
char * string)<br>
+</pre>
+<p>routine which manage and grows an output buffer. This one add C chars at the end of the array.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>buf</tt></i>:</span></td>
+<td>the XML buffer output</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>string</tt></i>:</span></td>
+<td>the string to add</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlBufferWriteQuotedString"></a>xmlBufferWriteQuotedString ()</h3>
+<pre class="programlisting">void       xmlBufferWriteQuotedString      (<a 
href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>                                     const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * string)<br>
+</pre>
+<p>routine which manage and grows an output buffer. This one writes a quoted or double quoted #xmlChar 
string, checking first if it holds quote or double-quotes internally</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>buf</tt></i>:</span></td>
+<td>the XML buffer output</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>string</tt></i>:</span></td>
+<td>the string to add</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlBuildQName"></a>xmlBuildQName ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *     xmlBuildQName         
  (const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ncname, <br>                                  
     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br>                                
       <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * memory, <br>                                    
 int len)<br>
+</pre>
+<p>Builds the QName @prefix:@ncname in @memory if there is enough space and prefix is not NULL nor empty, 
otherwise allocate a new string. If prefix is NULL or empty it returns ncname.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ncname</tt></i>:</span></td>
+<td>the Name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>prefix</tt></i>:</span></td>
+<td>the prefix</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>memory</tt></i>:</span></td>
+<td>preallocated memory</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>len</tt></i>:</span></td>
+<td>preallocated memory length</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the new string which must be freed by the caller if different from @memory and @ncname or NULL in case 
of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlChildElementCount"></a>xmlChildElementCount ()</h3>
+<pre class="programlisting">unsigned long      xmlChildElementCount    (<a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> parent)<br>
+</pre>
+<p>Finds the current number of child nodes of that element which are element nodes. Note the handling of 
entities references is different than in the W3C DOM element traversal spec since we don't have back <a 
href="libxml2-SAX.html#reference">reference</a> from entities content to entities references.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>parent</tt></i>:</span></td>
+<td>the parent node</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the count of element child or 0 if not available</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCopyDoc"></a>xmlCopyDoc ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>        xmlCopyDoc            
  (<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>                                   int 
recursive)<br>
+</pre>
+<p>Do a copy of the document info. If recursive, the content tree will be copied too as well as DTD, 
namespaces and entities.</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</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>recursive</tt></i>:</span></td>
+<td>if not zero do a recursive copy.</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a new #xmlDocPtr, or NULL in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCopyDtd"></a>xmlCopyDtd ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a>        xmlCopyDtd            
  (<a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd)<br>
+</pre>
+<p>Do a copy of the dtd.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>dtd</tt></i>:</span></td>
+<td>the dtd</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a new #xmlDtdPtr, or NULL in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCopyNamespace"></a>xmlCopyNamespace ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a>  xmlCopyNamespace        (<a 
href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> cur)<br>
+</pre>
+<p>Do a copy of the namespace.</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 namespace</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a new #xmlNsPtr, or NULL in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCopyNamespaceList"></a>xmlCopyNamespaceList ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a>  xmlCopyNamespaceList    (<a 
href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> cur)<br>
+</pre>
+<p>Do a copy of an namespace 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 first namespace</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a new #xmlNsPtr, or NULL in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCopyNode"></a>xmlCopyNode ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>      xmlCopyNode           
  (<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>                                        
int extended)<br>
+</pre>
+<p>Do a copy of the 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</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>extended</tt></i>:</span></td>
+<td>if 1 do a recursive copy (properties, namespaces and children when applicable) if 2 copy properties and 
namespaces (when applicable)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a new #xmlNodePtr, or NULL in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCopyNodeList"></a>xmlCopyNodeList ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>      xmlCopyNodeList       
  (<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br>
+</pre>
+<p>Do a recursive copy of the node list. Use xmlDocCopyNodeList() if possible to ensure string interning.</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 first node in the list.</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a new #xmlNodePtr, or NULL in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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>Do a copy of the attribute.</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>
+</tr>
+<tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>the <a href="libxml2-SAX.html#attribute">attribute</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a new #xmlAttrPtr, or NULL in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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>Do a copy of an <a href="libxml2-SAX.html#attribute">attribute</a> list.</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 attributes will be grafted</td>
+</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>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a new #xmlAttrPtr, or NULL in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCreateIntSubset"></a>xmlCreateIntSubset ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a>        xmlCreateIntSubset    
  (<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)<br>
+</pre>
+<p>Create the internal subset of a document</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 pointer</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the DTD name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ExternalID</tt></i>:</span></td>
+<td>the external (PUBLIC) ID</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>SystemID</tt></i>:</span></td>
+<td>the system ID</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a pointer to the new DTD structure</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the optional context for custom processing</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>sourceDoc</tt></i>:</span></td>
+<td>the optional sourceDoc</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>node</tt></i>:</span></td>
+<td>the node to start with</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>destDoc</tt></i>:</span></td>
+<td>the destination doc</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>destParent</tt></i>:</span></td>
+<td>the optional new parent of @node in @destDoc</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>options</tt></i>:</span></td>
+<td>option flags</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 if the operation succeeded, 1 if a node of unsupported type was given, 2 if a node of not yet 
supported type was given and -1 on API/internal errors.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the optional context for custom processing</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>sourceDoc</tt></i>:</span></td>
+<td>the optional sourceDoc</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>node</tt></i>:</span></td>
+<td>the node to start with</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>resNode</tt></i>:</span></td>
+<td>the clone of the given @node</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>destDoc</tt></i>:</span></td>
+<td>the destination doc</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>destParent</tt></i>:</span></td>
+<td>the optional new parent of @node in @destDoc</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>deep</tt></i>:</span></td>
+<td>descend into child if set</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>options</tt></i>:</span></td>
+<td>option flags</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 if the operation succeeded, 1 if a node of unsupported (or not yet supported) type was given, -1 on 
API/internal errors.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlDOMWrapFreeCtxt"></a>xmlDOMWrapFreeCtxt ()</h3>
+<pre class="programlisting">void       xmlDOMWrapFreeCtxt              (<a 
href="libxml2-tree.html#xmlDOMWrapCtxtPtr">xmlDOMWrapCtxtPtr</a> ctxt)<br>
+</pre>
+<p>Frees the DOM-wrapper 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 DOM-wrapper context</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlDOMWrapNewCtxt"></a>xmlDOMWrapNewCtxt ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlDOMWrapCtxtPtr">xmlDOMWrapCtxtPtr</a>        
xmlDOMWrapNewCtxt       (void)<br>
+</pre>
+<p>Allocates and initializes a new DOM-wrapper context.</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 <a href="libxml2-tree.html#xmlDOMWrapCtxtPtr">xmlDOMWrapCtxtPtr</a> or NULL in case of an internal 
error.</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>DOM wrapper context, unused at the moment</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>elem</tt></i>:</span></td>
+<td>the element-node</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>options</tt></i>:</span></td>
+<td>option flags</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 if succeeded, -1 otherwise and on API/internal errors.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlDOMWrapRemoveNode"></a>xmlDOMWrapRemoveNode ()</h3>
+<pre class="programlisting">int        xmlDOMWrapRemoveNode            (<a 
href="libxml2-tree.html#xmlDOMWrapCtxtPtr">xmlDOMWrapCtxtPtr</a> ctxt, <br>                                  
<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>                                   <a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>                                        int 
options)<br>
+</pre>
+<p>Unlinks the given node from its owner. This will substitute ns-references to node-&gt;nsDef for 
ns-references to doc-&gt;oldNs, thus ensuring the removed branch to be autark wrt ns-references. NOTE: This 
function was not intensively tested.</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 DOM wrapper context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>doc</tt></i>:</span></td>
+<td>the doc</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>node</tt></i>:</span></td>
+<td>the node to be removed.</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>options</tt></i>:</span></td>
+<td>set of options, unused at the moment</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 on success, 1 if the node is not supported, -1 on API and internal errors.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlDocCopyNode"></a>xmlDocCopyNode ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>      xmlDocCopyNode        
  (<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>                                        <a 
href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>                                   int extended)<br>
+</pre>
+<p>Do a copy of the node to a given document.</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</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>doc</tt></i>:</span></td>
+<td>the document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>extended</tt></i>:</span></td>
+<td>if 1 do a recursive copy (properties, namespaces and children when applicable) if 2 copy properties and 
namespaces (when applicable)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a new #xmlNodePtr, or NULL in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlDocCopyNodeList"></a>xmlDocCopyNodeList ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>      xmlDocCopyNodeList    
  (<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>                                   <a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br>
+</pre>
+<p>Do a recursive copy of the node list.</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 target document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>node</tt></i>:</span></td>
+<td>the first node in the list.</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a new #xmlNodePtr, or NULL in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlDocDump"></a>xmlDocDump ()</h3>
+<pre class="programlisting">int        xmlDocDump                      (FILE * f, <br>                       
           <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur)<br>
+</pre>
+<p>Dump an XML document to an open FILE.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>f</tt></i>:</span></td>
+<td>the FILE*</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>the document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the number of bytes written or -1 in case of failure.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlDocDumpFormatMemory"></a>xmlDocDumpFormatMemory ()</h3>
+<pre class="programlisting">void       xmlDocDumpFormatMemory          (<a 
href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br>                                   <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** mem, <br>                                       int * 
size, <br>                                        int format)<br>
+</pre>
+<p>Dump an XML document in memory and return the #xmlChar * and it's size. It's up to the caller to free the 
memory with xmlFree(). Note that @format = 1 provide node indenting only if <a 
href="libxml2-globals.html#xmlIndentTreeOutput">xmlIndentTreeOutput</a> = 1 or xmlKeepBlanksDefault(0) was 
called</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 document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>mem</tt></i>:</span></td>
+<td>OUT: the memory pointer</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>size</tt></i>:</span></td>
+<td>OUT: the memory length</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>format</tt></i>:</span></td>
+<td>should formatting spaces been added</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlDocDumpFormatMemoryEnc"></a>xmlDocDumpFormatMemoryEnc ()</h3>
+<pre class="programlisting">void       xmlDocDumpFormatMemoryEnc       (<a 
href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> out_doc, <br>                                       <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** doc_txt_ptr, <br>                                       
int * doc_txt_len, <br>                                         const char * txt_encoding, <br>               
                          int format)<br>
+</pre>
+<p>Dump the current DOM tree into memory using the character encoding specified by the caller. Note it is up 
to the caller of this function to free the allocated memory with xmlFree(). Note that @format = 1 provide 
node indenting only if <a href="libxml2-globals.html#xmlIndentTreeOutput">xmlIndentTreeOutput</a> = 1 or 
xmlKeepBlanksDefault(0) was called</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>out_doc</tt></i>:</span></td>
+<td>Document to generate XML text from</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>doc_txt_ptr</tt></i>:</span></td>
+<td>Memory pointer for allocated XML text</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>doc_txt_len</tt></i>:</span></td>
+<td>Length of the generated XML text</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>txt_encoding</tt></i>:</span></td>
+<td>Character encoding to use when generating XML text</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>format</tt></i>:</span></td>
+<td>should formatting spaces been added</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlDocDumpMemory"></a>xmlDocDumpMemory ()</h3>
+<pre class="programlisting">void       xmlDocDumpMemory                (<a 
href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br>                                   <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** mem, <br>                                       int * 
size)<br>
+</pre>
+<p>Dump an XML document in memory and return the #xmlChar * and it's size in bytes. It's up to the caller to 
free the memory with xmlFree(). The resulting byte array is zero terminated, though the last 0 is not 
included in the returned size.</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 document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>mem</tt></i>:</span></td>
+<td>OUT: the memory pointer</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>size</tt></i>:</span></td>
+<td>OUT: the memory length</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlDocDumpMemoryEnc"></a>xmlDocDumpMemoryEnc ()</h3>
+<pre class="programlisting">void       xmlDocDumpMemoryEnc             (<a 
href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> out_doc, <br>                                       <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** doc_txt_ptr, <br>                                       
int * doc_txt_len, <br>                                         const char * txt_encoding)<br>
+</pre>
+<p>Dump the current DOM tree into memory using the character encoding specified by the caller. Note it is up 
to the caller of this function to free the allocated memory with xmlFree().</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>out_doc</tt></i>:</span></td>
+<td>Document to generate XML text from</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>doc_txt_ptr</tt></i>:</span></td>
+<td>Memory pointer for allocated XML text</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>doc_txt_len</tt></i>:</span></td>
+<td>Length of the generated XML text</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>txt_encoding</tt></i>:</span></td>
+<td>Character encoding to use when generating XML text</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlDocFormatDump"></a>xmlDocFormatDump ()</h3>
+<pre class="programlisting">int        xmlDocFormatDump                (FILE * f, <br>                       
           <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br>                                   
int format)<br>
+</pre>
+<p>Dump an XML document to an open FILE.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>f</tt></i>:</span></td>
+<td>the FILE*</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>the document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>format</tt></i>:</span></td>
+<td>should formatting spaces been added</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the number of bytes written or -1 in case of failure. Note that @format = 1 provide node indenting only 
if <a href="libxml2-globals.html#xmlIndentTreeOutput">xmlIndentTreeOutput</a> = 1 or xmlKeepBlanksDefault(0) 
was called</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlDocGetRootElement"></a>xmlDocGetRootElement ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>      xmlDocGetRootElement  
  (const <a href="libxml2-tree.html#xmlDoc">xmlDoc</a> * doc)<br>
+</pre>
+<p>Get the root element of the document (doc-&gt;children is a list containing possibly comments, PIs, etc 
...).</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</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the #xmlNodePtr for the root or NULL</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlDocSetRootElement"></a>xmlDocSetRootElement ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>      xmlDocSetRootElement  
  (<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>                                   <a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> root)<br>
+</pre>
+<p>Set the root element of the document (doc-&gt;children is a list containing possibly comments, PIs, etc 
...).</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</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>root</tt></i>:</span></td>
+<td>the new document root element, if root is NULL no action is taken, to remove a node from a document use 
xmlUnlinkNode(root) instead.</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the old root element if any was found, NULL if root was NULL</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlElemDump"></a>xmlElemDump ()</h3>
+<pre class="programlisting">void       xmlElemDump                     (FILE * f, <br>                       
           <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>                                   <a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur)<br>
+</pre>
+<p>Dump an XML/HTML node, recursive behaviour, children are printed too.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>f</tt></i>:</span></td>
+<td>the FILE * for the output</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>doc</tt></i>:</span></td>
+<td>the document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>the current node</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlFirstElementChild"></a>xmlFirstElementChild ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>      xmlFirstElementChild  
  (<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> parent)<br>
+</pre>
+<p>Finds the first child node of that element which is a Element node Note the handling of entities 
references is different than in the W3C DOM element traversal spec since we don't have back <a 
href="libxml2-SAX.html#reference">reference</a> from entities content to entities references.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>parent</tt></i>:</span></td>
+<td>the parent node</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the first element child or NULL if not available</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlFreeDoc"></a>xmlFreeDoc ()</h3>
+<pre class="programlisting">void       xmlFreeDoc                      (<a 
href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur)<br>
+</pre>
+<p>Free up all the structures used by a document, tree included.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>pointer to the document</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlFreeDtd"></a>xmlFreeDtd ()</h3>
+<pre class="programlisting">void       xmlFreeDtd                      (<a 
href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a> cur)<br>
+</pre>
+<p>Free a DTD structure.</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 DTD structure to free up</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlFreeNode"></a>xmlFreeNode ()</h3>
+<pre class="programlisting">void       xmlFreeNode                     (<a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur)<br>
+</pre>
+<p>Free a node, this is a recursive behaviour, all the children are freed too. This doesn't unlink the child 
from the list, use xmlUnlinkNode() first.</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 node</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlFreeNodeList"></a>xmlFreeNodeList ()</h3>
+<pre class="programlisting">void       xmlFreeNodeList                 (<a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur)<br>
+</pre>
+<p>Free a node and all its siblings, this is a recursive behaviour, all the children are freed too.</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 node in the list</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlFreeNs"></a>xmlFreeNs ()</h3>
+<pre class="programlisting">void       xmlFreeNs                       (<a 
href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> cur)<br>
+</pre>
+<p>Free up the structures associated to a namespace</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 namespace pointer</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlFreeNsList"></a>xmlFreeNsList ()</h3>
+<pre class="programlisting">void       xmlFreeNsList                   (<a 
href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> cur)<br>
+</pre>
+<p>Free up all the structures associated to the chained namespaces.</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 namespace pointer</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlFreeProp"></a>xmlFreeProp ()</h3>
+<pre class="programlisting">void       xmlFreeProp                     (<a 
href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a> cur)<br>
+</pre>
+<p>Free one attribute, all the content is freed too</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>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlFreePropList"></a>xmlFreePropList ()</h3>
+<pre class="programlisting">void       xmlFreePropList                 (<a 
href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a> cur)<br>
+</pre>
+<p>Free a property and all its siblings, all the children are freed too.</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 property in the list</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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>
+<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 allocation scheme</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlGetCompressMode"></a>xmlGetCompressMode ()</h3>
+<pre class="programlisting">int        xmlGetCompressMode              (void)<br>
+</pre>
+<p>get the default compression mode used, ZLIB based.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 (uncompressed) to 9 (max compression)</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlGetDocCompressMode"></a>xmlGetDocCompressMode ()</h3>
+<pre class="programlisting">int        xmlGetDocCompressMode           (const <a 
href="libxml2-tree.html#xmlDoc">xmlDoc</a> * doc)<br>
+</pre>
+<p>get the compression ratio for a document, ZLIB based</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</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 (uncompressed) to 9 (max compression)</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlGetIntSubset"></a>xmlGetIntSubset ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a>        xmlGetIntSubset       
  (const <a href="libxml2-tree.html#xmlDoc">xmlDoc</a> * doc)<br>
+</pre>
+<p>Get the internal subset of a document</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 pointer</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a pointer to the DTD structure or NULL if not found</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlGetLastChild"></a>xmlGetLastChild ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>      xmlGetLastChild       
  (const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * parent)<br>
+</pre>
+<p>Search the last child of a node.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>parent</tt></i>:</span></td>
+<td>the parent node</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the last child or NULL if none.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlGetLineNo"></a>xmlGetLineNo ()</h3>
+<pre class="programlisting">long       xmlGetLineNo                    (const <a 
href="libxml2-tree.html#xmlNode">xmlNode</a> * node)<br>
+</pre>
+<p>Get line number of @node. Try to override the limitation of lines being store in 16 bits ints if <a 
href="libxml2-parser.html#XML_PARSE_BIG_LINES">XML_PARSE_BIG_LINES</a> parser option was used</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>node</tt></i>:</span></td>
+<td>valid node</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the line number if successful, -1 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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 unless 
DTD use has been turned off. 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.</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</td>
+</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>
+</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. It's up to the caller 
to free the memory with xmlFree().</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlGetNodePath"></a>xmlGetNodePath ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *     xmlGetNodePath        
  (const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * node)<br>
+</pre>
+<p>Build a structure based Path for the given 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>a node</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the new path or NULL in case of error. The caller must free the returned string</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlGetNsList"></a>xmlGetNsList ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> *        xmlGetNsList          
  (const <a href="libxml2-tree.html#xmlDoc">xmlDoc</a> * doc, <br>                                         
const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * node)<br>
+</pre>
+<p>Search all the namespace applying to a given element.</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</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>node</tt></i>:</span></td>
+<td>the current node</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>an NULL terminated array of all the #xmlNsPtr found that need to be freed by the caller or NULL if no 
namespace if defined</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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 unless DTD use has been turned off.</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</td>
+</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>
+</tr>
+<tr>
+<td><span class="term"><i><tt>nameSpace</tt></i>:</span></td>
+<td>the URI of the namespace</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. It's up to the caller 
to free the memory with xmlFree().</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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 unless 
DTD use has been turned off. NOTE: this function acts independently of namespaces associated to the 
attribute. Use xmlGetNsProp() or xmlGetNoNsProp() for namespace aware processing.</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</td>
+</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>
+</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. It's up to the caller 
to free the memory with xmlFree().</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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 unless DTD use has been turned off. Note that a 
namespace of NULL indicates to use the default namespace.</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</td>
+</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>
+</tr>
+<tr>
+<td><span class="term"><i><tt>nameSpace</tt></i>:</span></td>
+<td>the URI of the namespace</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.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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 unless DTD use has been turned off.</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</td>
+</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>
+</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.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlIsBlankNode"></a>xmlIsBlankNode ()</h3>
+<pre class="programlisting">int        xmlIsBlankNode                  (const <a 
href="libxml2-tree.html#xmlNode">xmlNode</a> * node)<br>
+</pre>
+<p>Checks whether this node is an empty or whitespace only (and possibly ignorable) text-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</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 yes, 0 no</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlIsXHTML"></a>xmlIsXHTML ()</h3>
+<pre class="programlisting">int        xmlIsXHTML                      (const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * systemID, <br>                                     const 
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * publicID)<br>
+</pre>
+<p>Try to find if the document correspond to an XHTML DTD</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>systemID</tt></i>:</span></td>
+<td>the system identifier</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>publicID</tt></i>:</span></td>
+<td>the public identifier</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true, 0 if not and -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlLastElementChild"></a>xmlLastElementChild ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>      xmlLastElementChild   
  (<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> parent)<br>
+</pre>
+<p>Finds the last child node of that element which is a Element node Note the handling of entities 
references is different than in the W3C DOM element traversal spec since we don't have back <a 
href="libxml2-SAX.html#reference">reference</a> from entities content to entities references.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>parent</tt></i>:</span></td>
+<td>the parent node</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the last element child or NULL if not available</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNewCDataBlock"></a>xmlNewCDataBlock ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>      xmlNewCDataBlock      
  (<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>                                   const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content, <br>                                      int 
len)<br>
+</pre>
+<p>Creation of a new node containing a CDATA block.</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</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>content</tt></i>:</span></td>
+<td>the CDATA block content content</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>len</tt></i>:</span></td>
+<td>the length of the block</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a pointer to the new node object.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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>Creation of a new character <a href="libxml2-SAX.html#reference">reference</a> node.</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</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the char ref string, starting with # or "&amp;# ... ;"</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a pointer to the new node object.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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>Creation of a new child element, added at the end of @parent children list. @ns and @content parameters 
are optional (NULL). If @ns is NULL, the newly created element inherits the namespace of @parent. If @content 
is non NULL, a child list containing the TEXTs and ENTITY_REFs node will be created. NOTE: @content is 
supposed to be a piece of XML CDATA, so it allows entity references. XML special chars must be escaped first 
by using xmlEncodeEntitiesReentrant(), or xmlNewTextChild() should be used.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>parent</tt></i>:</span></td>
+<td>the parent node</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ns</tt></i>:</span></td>
+<td>a namespace if any</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the name of the child</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>content</tt></i>:</span></td>
+<td>the XML content of the child if any.</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a pointer to the new node object.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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 xmlNewDocComment. Creation of a new node containing a 
comment.</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</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a pointer to the new node object.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNewDoc"></a>xmlNewDoc ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>        xmlNewDoc             
  (const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * version)<br>
+</pre>
+<p>Creates a new XML document</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>version</tt></i>:</span></td>
+<td>
+<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> string giving the version of XML "1.0"</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a new document</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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>Creation of a new node containing a <a href="libxml2-SAX.html#comment">comment</a> within a document.</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</td>
+</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>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a pointer to the new node object.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNewDocFragment"></a>xmlNewDocFragment ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>      xmlNewDocFragment     
  (<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br>
+</pre>
+<p>Creation of a new Fragment node.</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 owning the fragment</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a pointer to the new node object.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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>Creation of a new node element within a document. @ns and @content are optional (NULL). NOTE: @content is 
supposed to be a piece of XML CDATA, so it allow entities references, but XML special chars need to be 
escaped first by using xmlEncodeEntitiesReentrant(). Use xmlNewDocRawNode() if you don't need entities 
support.</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</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ns</tt></i>:</span></td>
+<td>namespace if any</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the node name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>content</tt></i>:</span></td>
+<td>the XML text content if any</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a pointer to the new node object.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNewDocNodeEatName"></a>xmlNewDocNodeEatName ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>      xmlNewDocNodeEatName  
  (<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>                                   <a 
href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> ns, <br>                                      <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>                                       const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br>
+</pre>
+<p>Creation of a new node element within a document. @ns and @content are optional (NULL). NOTE: @content is 
supposed to be a piece of XML CDATA, so it allow entities references, but XML special chars need to be 
escaped first by using xmlEncodeEntitiesReentrant(). Use xmlNewDocRawNode() if you don't need entities 
support.</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</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ns</tt></i>:</span></td>
+<td>namespace if any</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the node name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>content</tt></i>:</span></td>
+<td>the XML text content if any</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a pointer to the new node object.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNewDocPI"></a>xmlNewDocPI ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>      xmlNewDocPI           
  (<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> * content)<br>
+</pre>
+<p>Creation of a processing instruction element.</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 target document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the processing instruction name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>content</tt></i>:</span></td>
+<td>the PI content</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a pointer to the new node object.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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 a new property carried by a document. NOTE: @value is supposed to be a piece of XML CDATA, so it 
allows entity references, but XML special chars need to be escaped first by using 
xmlEncodeEntitiesReentrant(). Use xmlNewProp() if you don't need entities support.</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</td>
+</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>
+</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>
+</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>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNewDocRawNode"></a>xmlNewDocRawNode ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>      xmlNewDocRawNode      
  (<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>Creation of a new node element within a document. @ns and @content are optional (NULL).</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</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ns</tt></i>:</span></td>
+<td>namespace if any</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the node name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>content</tt></i>:</span></td>
+<td>the text content if any</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a pointer to the new node object.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNewDocText"></a>xmlNewDocText ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>      xmlNewDocText         
  (const <a href="libxml2-tree.html#xmlDoc">xmlDoc</a> * doc, <br>                                         
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br>
+</pre>
+<p>Creation of a new text node within a document.</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</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>content</tt></i>:</span></td>
+<td>the text content</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a pointer to the new node object.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNewDocTextLen"></a>xmlNewDocTextLen ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>      xmlNewDocTextLen      
  (<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>                                   const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content, <br>                                      int 
len)<br>
+</pre>
+<p>Creation of a new text node with an extra content length parameter. The text node pertain to a given 
document.</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</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>content</tt></i>:</span></td>
+<td>the text content</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>len</tt></i>:</span></td>
+<td>the text len.</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a pointer to the new node object.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNewDtd"></a>xmlNewDtd ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a>        xmlNewDtd             
  (<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)<br>
+</pre>
+<p>Creation of a new DTD for the external subset. To create an internal subset, use xmlCreateIntSubset().</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 pointer</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the DTD name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ExternalID</tt></i>:</span></td>
+<td>the external ID</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>SystemID</tt></i>:</span></td>
+<td>the system ID</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a pointer to the new DTD structure</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<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>
+<p>Creation of a new node element. @ns is optional (NULL). Use of this function is DISCOURAGED in favor of 
xmlNewDocNode.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ns</tt></i>:</span></td>
+<td>namespace if any</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the node name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a pointer to the new node object. Uses xmlStrdup() to make copy of @name.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNewNodeEatName"></a>xmlNewNodeEatName ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>      xmlNewNodeEatName     
  (<a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> ns, <br>                                      <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
+</pre>
+<p>Creation of a new node element. @ns is optional (NULL). Use of this function is DISCOURAGED in favor of 
xmlNewDocNodeEatName.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ns</tt></i>:</span></td>
+<td>namespace if any</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the node name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a pointer to the new node object, with pointer @name as new node's name. Use xmlNewNode() if a copy of 
@name string is is needed as new node's name.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNewNs"></a>xmlNewNs ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a>  xmlNewNs                (<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)<br>
+</pre>
+<p>Creation of a new Namespace. This function will refuse to create a namespace with a similar prefix than 
an existing one present on this node. Note that for a default namespace, @prefix should be NULL. We use 
href==NULL in the case of an element creation where the namespace was not defined.</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 element 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>a new namespace pointer or NULL</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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 a new property tagged with a namespace and carried by a 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 holding node</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ns</tt></i>:</span></td>
+<td>the namespace</td>
+</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>
+</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>
+</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>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNewNsPropEatName"></a>xmlNewNsPropEatName ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a>      xmlNewNsPropEatName   
  (<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>                                        <a 
href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> ns, <br>                                      <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>                                       const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value)<br>
+</pre>
+<p>Create a new property tagged with a namespace and carried by a 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 holding node</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ns</tt></i>:</span></td>
+<td>the namespace</td>
+</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>
+</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>
+</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>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNewPI"></a>xmlNewPI ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>      xmlNewPI              
  (const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>                                    
     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br>
+</pre>
+<p>Creation of a processing instruction element. Use of this function is DISCOURAGED in favor of 
xmlNewDocPI.</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 processing instruction name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>content</tt></i>:</span></td>
+<td>the PI content</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a pointer to the new node object.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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 a new property carried by a 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 holding node</td>
+</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>
+</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>
+</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>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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>Creation of a new <a href="libxml2-SAX.html#reference">reference</a> node.</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</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the <a href="libxml2-SAX.html#reference">reference</a> name, or the <a 
href="libxml2-SAX.html#reference">reference</a> string with &amp; and ;</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a pointer to the new node object.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNewText"></a>xmlNewText ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>      xmlNewText            
  (const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br>
+</pre>
+<p>Creation of a new text node. Use of this function is DISCOURAGED in favor of xmlNewDocText.</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 text content</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a pointer to the new node object.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNewTextChild"></a>xmlNewTextChild ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>      xmlNewTextChild       
  (<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>Creation of a new child element, added at the end of @parent children list. @ns and @content parameters 
are optional (NULL). If @ns is NULL, the newly created element inherits the namespace of @parent. If @content 
is non NULL, a child TEXT node will be created containing the string @content. NOTE: Use xmlNewChild() if 
@content will contain entities that need to be preserved. Use this function, xmlNewTextChild(), if you need 
to ensure that reserved XML chars that might appear in @content, such as the ampersand, greater-than or 
less-than signs, are automatically replaced by their XML escaped entity representations.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>parent</tt></i>:</span></td>
+<td>the parent node</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ns</tt></i>:</span></td>
+<td>a namespace if any</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the name of the child</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>content</tt></i>:</span></td>
+<td>the text content of the child if any.</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a pointer to the new node object.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNewTextLen"></a>xmlNewTextLen ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>      xmlNewTextLen         
  (const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content, <br>                                 
     int len)<br>
+</pre>
+<p>Use of this function is DISCOURAGED in favor of xmlNewDocTextLen. Creation of a new text node with an 
extra parameter for the content's length</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 text content</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>len</tt></i>:</span></td>
+<td>the text len.</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a pointer to the new node object.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNextElementSibling"></a>xmlNextElementSibling ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>      xmlNextElementSibling 
  (<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br>
+</pre>
+<p>Finds the first closest next sibling of the node which is an element node. Note the handling of entities 
references is different than in the W3C DOM element traversal spec since we don't have back <a 
href="libxml2-SAX.html#reference">reference</a> from entities content to entities references.</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 current node</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the next element sibling or NULL if not available</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNodeAddContent"></a>xmlNodeAddContent ()</h3>
+<pre class="programlisting">void       xmlNodeAddContent               (<a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br>                                         const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br>
+</pre>
+<p>Append the extra substring to the node content. NOTE: In contrast to xmlNodeSetContent(), @content is 
supposed to be raw text, so unescaped XML special chars are allowed, entity references are not supported.</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 node being modified</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>content</tt></i>:</span></td>
+<td>extra content</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNodeAddContentLen"></a>xmlNodeAddContentLen ()</h3>
+<pre class="programlisting">void       xmlNodeAddContentLen            (<a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br>                                         const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content, <br>                                      int 
len)<br>
+</pre>
+<p>Append the extra substring to the node content. NOTE: In contrast to xmlNodeSetContentLen(), @content is 
supposed to be raw text, so unescaped XML special chars are allowed, entity references are not supported.</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 node being modified</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>content</tt></i>:</span></td>
+<td>extra content</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>len</tt></i>:</span></td>
+<td>the size of @content</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNodeBufGetContent"></a>xmlNodeBufGetContent ()</h3>
+<pre class="programlisting">int        xmlNodeBufGetContent            (<a 
href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buffer, <br>                                  const <a 
href="libxml2-tree.html#xmlNode">xmlNode</a> * cur)<br>
+</pre>
+<p>Read the value of a node @cur, this can be either the text carried directly by this node if it's a TEXT 
node or the aggregate string of the values carried by this node child's (TEXT and ENTITY_REF). Entity 
references are substituted. Fills up the buffer @buffer with this value</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>buffer</tt></i>:</span></td>
+<td>a buffer</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>the node being read</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 in case of success and -1 in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNodeDump"></a>xmlNodeDump ()</h3>
+<pre class="programlisting">int        xmlNodeDump                     (<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#xmlNodePtr">xmlNodePtr</a> cur, <br>                                         int 
level, <br>                                         int format)<br>
+</pre>
+<p>Dump an XML node, recursive behaviour,children are printed too. Note that @format = 1 provide node 
indenting only if <a href="libxml2-globals.html#xmlIndentTreeOutput">xmlIndentTreeOutput</a> = 1 or 
xmlKeepBlanksDefault(0) was called. Since this is using <a href="libxml2-tree.html#xmlBuffer">xmlBuffer</a> 
structures it is limited to 2GB and somehow deprecated, use xmlNodeDumpOutput() instead.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>buf</tt></i>:</span></td>
+<td>the XML buffer output</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>doc</tt></i>:</span></td>
+<td>the document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>the current node</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>level</tt></i>:</span></td>
+<td>the imbrication level for indenting</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>format</tt></i>:</span></td>
+<td>is formatting allowed</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the number of bytes written to the buffer or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNodeDumpOutput"></a>xmlNodeDumpOutput ()</h3>
+<pre class="programlisting">void       xmlNodeDumpOutput               (<a 
href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf, <br>                                  
       <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>                                   <a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br>                                         int 
level, <br>                                         int format, <br>                                        
const char * encoding)<br>
+</pre>
+<p>Dump an XML node, recursive behaviour, children are printed too. Note that @format = 1 provide node 
indenting only if <a href="libxml2-globals.html#xmlIndentTreeOutput">xmlIndentTreeOutput</a> = 1 or 
xmlKeepBlanksDefault(0) was called</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>buf</tt></i>:</span></td>
+<td>the XML buffer output</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>doc</tt></i>:</span></td>
+<td>the document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>the current node</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>level</tt></i>:</span></td>
+<td>the imbrication level for indenting</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>format</tt></i>:</span></td>
+<td>is formatting allowed</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
+<td>an optional encoding string</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNodeGetBase"></a>xmlNodeGetBase ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *     xmlNodeGetBase        
  (const <a href="libxml2-tree.html#xmlDoc">xmlDoc</a> * doc, <br>                                         
const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * cur)<br>
+</pre>
+<p>Searches for the BASE URL. The code should work on both XML and HTML document even if base mechanisms are 
completely different. It returns the base as defined in RFC 2396 sections 5.1.1. Base URI within Document 
Content and 5.1.2. Base URI from the Encapsulating Entity However it does not return the document base 
(5.1.3), use doc-&gt;URL in this case</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 the node pertains to</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>the node being checked</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a pointer to the base URL, or NULL if not found It's up to the caller to free the memory with 
xmlFree().</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNodeGetContent"></a>xmlNodeGetContent ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *     xmlNodeGetContent     
  (const <a href="libxml2-tree.html#xmlNode">xmlNode</a> * cur)<br>
+</pre>
+<p>Read the value of a node, this can be either the text carried directly by this node if it's a TEXT node 
or the aggregate string of the values carried by this node child's (TEXT and ENTITY_REF). Entity references 
are substituted.</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 node being read</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a new #xmlChar * or NULL if no content is available. It's up to the caller to free the memory with 
xmlFree().</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>the node being checked</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a pointer to the lang value, or NULL if not found It's up to the caller to free the memory with 
xmlFree().</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>the node being checked</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>-1 if xml:space is not inherited, 0 if "default", 1 if "preserve"</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNodeIsText"></a>xmlNodeIsText ()</h3>
+<pre class="programlisting">int        xmlNodeIsText                   (const <a 
href="libxml2-tree.html#xmlNode">xmlNode</a> * node)<br>
+</pre>
+<p>Is this node a Text 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</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 yes, 0 no</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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>Builds the string equivalent to the text contained in the Node list made of TEXTs and ENTITY_REFs, 
contrary to xmlNodeListGetString() this function doesn't do any character encoding handling.</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</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>list</tt></i>:</span></td>
+<td>a Node list</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>inLine</tt></i>:</span></td>
+<td>should we replace entity contents or show their external form</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a pointer to the string copy, the caller must free it with xmlFree().</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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>Build the string equivalent to the text contained in the Node list made of TEXTs and ENTITY_REFs</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</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>list</tt></i>:</span></td>
+<td>a Node list</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>inLine</tt></i>:</span></td>
+<td>should we replace entity contents or show their external form</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a pointer to the string copy, the caller must free it with xmlFree().</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNodeSetBase"></a>xmlNodeSetBase ()</h3>
+<pre class="programlisting">void       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 attribute.</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 node being changed</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>uri</tt></i>:</span></td>
+<td>the new base URI</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNodeSetContent"></a>xmlNodeSetContent ()</h3>
+<pre class="programlisting">void       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 content of a node. NOTE: @content is supposed to be a piece of XML CDATA, so it allows entity 
references, but XML special chars need to be escaped first by using xmlEncodeEntitiesReentrant() resp. 
xmlEncodeSpecialChars().</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 node being modified</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>content</tt></i>:</span></td>
+<td>the new value of the content</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNodeSetContentLen"></a>xmlNodeSetContentLen ()</h3>
+<pre class="programlisting">void       xmlNodeSetContentLen            (<a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br>                                         const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content, <br>                                      int 
len)<br>
+</pre>
+<p>Replace the content of a node. NOTE: @content is supposed to be a piece of XML CDATA, so it allows entity 
references, but XML special chars need to be escaped first by using xmlEncodeEntitiesReentrant() resp. 
xmlEncodeSpecialChars().</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 node being modified</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>content</tt></i>:</span></td>
+<td>the new value of the content</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>len</tt></i>:</span></td>
+<td>the size of @content</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNodeSetLang"></a>xmlNodeSetLang ()</h3>
+<pre class="programlisting">void       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 attribute.</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 node being changed</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>lang</tt></i>:</span></td>
+<td>the language description</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNodeSetName"></a>xmlNodeSetName ()</h3>
+<pre class="programlisting">void       xmlNodeSetName                  (<a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur, <br>                                         const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
+</pre>
+<p>Set (or reset) the name of a node.</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 node being changed</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the new tag name</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNodeSetSpacePreserve"></a>xmlNodeSetSpacePreserve ()</h3>
+<pre class="programlisting">void       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 attribute.</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 node being changed</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>val</tt></i>:</span></td>
+<td>the xml:space value ("0": default, 1: "preserve")</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlPreviousElementSibling"></a>xmlPreviousElementSibling ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>      
xmlPreviousElementSibling       (<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br>
+</pre>
+<p>Finds the first closest previous sibling of the node which is an element node. Note the handling of 
entities references is different than in the W3C DOM element traversal spec since we don't have back <a 
href="libxml2-SAX.html#reference">reference</a> from entities content to entities references.</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 current node</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the previous element sibling or NULL if not available</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlReconciliateNs"></a>xmlReconciliateNs ()</h3>
+<pre class="programlisting">int        xmlReconciliateNs               (<a 
href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>                                   <a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> tree)<br>
+</pre>
+<p>This function checks that all the namespaces declared within the given tree are properly declared. This 
is needed for example after Copy or Cut and then paste operations. The subtree may still hold pointers to 
namespace declarations outside the subtree or invalid/masked. As much as possible the function try to reuse 
the existing namespaces found in the new environment. If not possible the new namespaces are redeclared on 
@tree at the top of the given subtree.</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</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>tree</tt></i>:</span></td>
+<td>a node defining the subtree to reconciliate</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the number of namespace declarations created or -1 in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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 one attribute, all the content is freed too Note this doesn't work for namespace 
definition attributes</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>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 if success and -1 in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlReplaceNode"></a>xmlReplaceNode ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>      xmlReplaceNode        
  (<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> old, <br>                                         <a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur)<br>
+</pre>
+<p>Unlink the old node from its current context, prune the new one at the same place. If @cur was already 
inserted in a document it is first unlinked from its existing context. See the note regarding namespaces in 
xmlAddChild.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>old</tt></i>:</span></td>
+<td>the old node</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>the node</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the @old node</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSaveFile"></a>xmlSaveFile ()</h3>
+<pre class="programlisting">int        xmlSaveFile                     (const char * filename, <br>          
                           <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur)<br>
+</pre>
+<p>Dump an XML document to a file. Will use compression if compiled in and enabled. If @filename is "-" the 
stdout file is used.</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 (or URL)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>the document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the number of bytes written or -1 in case of failure.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSaveFileEnc"></a>xmlSaveFileEnc ()</h3>
+<pre class="programlisting">int        xmlSaveFileEnc                  (const char * filename, <br>          
                           <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br>                      
             const char * encoding)<br>
+</pre>
+<p>Dump an XML document, converting it to the given encoding</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 (or URL)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>the document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
+<td>the name of an encoding (or NULL)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the number of bytes written or -1 in case of failure.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSaveFileTo"></a>xmlSaveFileTo ()</h3>
+<pre class="programlisting">int        xmlSaveFileTo                   (<a 
href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf, <br>                                  
       <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br>                                   const 
char * encoding)<br>
+</pre>
+<p>Dump an XML document to an I/O buffer. Warning ! This call xmlOutputBufferClose() on buf which is not 
available after this call.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>buf</tt></i>:</span></td>
+<td>an output I/O buffer</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>the document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
+<td>the encoding if any assuming the I/O layer handles the transcoding</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the number of bytes written or -1 in case of failure.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSaveFormatFile"></a>xmlSaveFormatFile ()</h3>
+<pre class="programlisting">int        xmlSaveFormatFile               (const char * filename, <br>          
                           <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br>                      
             int format)<br>
+</pre>
+<p>Dump an XML document to a file. Will use compression if compiled in and enabled. If @filename is "-" the 
stdout file is used. If @format is set then the document will be indented on output. Note that @format = 1 
provide node indenting only if <a href="libxml2-globals.html#xmlIndentTreeOutput">xmlIndentTreeOutput</a> = 1 
or xmlKeepBlanksDefault(0) was called</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 (or URL)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>the document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>format</tt></i>:</span></td>
+<td>should formatting spaces been added</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the number of bytes written or -1 in case of failure.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSaveFormatFileEnc"></a>xmlSaveFormatFileEnc ()</h3>
+<pre class="programlisting">int        xmlSaveFormatFileEnc            (const char * filename, <br>          
                           <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br>                      
             const char * encoding, <br>                                     int format)<br>
+</pre>
+<p>Dump an XML document to a file or an URL.</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 or URL to output</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>the document being saved</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
+<td>the name of the encoding to use or NULL.</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>format</tt></i>:</span></td>
+<td>should formatting spaces be added.</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the number of bytes written or -1 in case of error. Note that @format = 1 provide node indenting only if 
<a href="libxml2-globals.html#xmlIndentTreeOutput">xmlIndentTreeOutput</a> = 1 or xmlKeepBlanksDefault(0) was 
called</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSaveFormatFileTo"></a>xmlSaveFormatFileTo ()</h3>
+<pre class="programlisting">int        xmlSaveFormatFileTo             (<a 
href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> buf, <br>                                  
       <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> cur, <br>                                   const 
char * encoding, <br>                                     int format)<br>
+</pre>
+<p>Dump an XML document to an I/O buffer. Warning ! This call xmlOutputBufferClose() on buf which is not 
available after this call.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>buf</tt></i>:</span></td>
+<td>an output I/O buffer</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>the document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
+<td>the encoding if any assuming the I/O layer handles the transcoding</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>format</tt></i>:</span></td>
+<td>should formatting spaces been added</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the number of bytes written or -1 in case of failure.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSearchNs"></a>xmlSearchNs ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a>  xmlSearchNs             (<a 
href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>                                   <a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>                                        const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * nameSpace)<br>
+</pre>
+<p>Search a Ns registered under a given name space for a document. recurse on the parents until it finds the 
defined namespace or return NULL otherwise. @nameSpace can be NULL, this is a search for the default 
namespace. We don't allow to cross entities boundaries. If you don't declare the namespace within those you 
will be in troubles !!! A warning is generated to cover this case.</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</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>node</tt></i>:</span></td>
+<td>the current node</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>nameSpace</tt></i>:</span></td>
+<td>the namespace prefix</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the namespace pointer or NULL.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSearchNsByHref"></a>xmlSearchNsByHref ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a>  xmlSearchNsByHref       (<a 
href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>                                   <a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>                                        const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * href)<br>
+</pre>
+<p>Search a Ns aliasing a given URI. Recurse on the parents until it finds the defined namespace or return 
NULL otherwise.</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</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>node</tt></i>:</span></td>
+<td>the current node</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>href</tt></i>:</span></td>
+<td>the namespace value</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the namespace pointer or NULL.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>scheme</tt></i>:</span></td>
+<td>allocation method to use</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSetCompressMode"></a>xmlSetCompressMode ()</h3>
+<pre class="programlisting">void       xmlSetCompressMode              (int mode)<br>
+</pre>
+<p>set the default compression mode used, ZLIB based Correct values: 0 (uncompressed) to 9 (max 
compression)</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>mode</tt></i>:</span></td>
+<td>the compression ratio</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSetDocCompressMode"></a>xmlSetDocCompressMode ()</h3>
+<pre class="programlisting">void       xmlSetDocCompressMode           (<a 
href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>                                   int mode)<br>
+</pre>
+<p>set the compression ratio for a document, ZLIB based Correct values: 0 (uncompressed) to 9 (max 
compression)</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</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>mode</tt></i>:</span></td>
+<td>the compression ratio</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSetListDoc"></a>xmlSetListDoc ()</h3>
+<pre class="programlisting">void       xmlSetListDoc                   (<a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> list, <br>                                        <a 
href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br>
+</pre>
+<p>update all nodes in the list to point to the right document</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>list</tt></i>:</span></td>
+<td>the first element</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>doc</tt></i>:</span></td>
+<td>the document</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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>Associate a namespace to a node, a posteriori.</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 node in the document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ns</tt></i>:</span></td>
+<td>a namespace pointer</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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>
+<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</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ns</tt></i>:</span></td>
+<td>the namespace definition</td>
+</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>
+</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>
+</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>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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>
+<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</td>
+</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>
+</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>
+</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>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSetTreeDoc"></a>xmlSetTreeDoc ()</h3>
+<pre class="programlisting">void       xmlSetTreeDoc                   (<a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> tree, <br>                                        <a 
href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br>
+</pre>
+<p>update all nodes under the tree to point to the right document</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>tree</tt></i>:</span></td>
+<td>the top element</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>doc</tt></i>:</span></td>
+<td>the document</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSplitQName2"></a>xmlSplitQName2 ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *     xmlSplitQName2        
  (const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>                                    
     <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** prefix)<br>
+</pre>
+<p>parse an 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>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the full QName</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>NULL if the name doesn't have a prefix. Otherwise, returns the local part, and prefix is updated to get 
the Prefix. Both the return value and the prefix must be freed by the caller.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSplitQName3"></a>xmlSplitQName3 ()</h3>
+<pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *       
xmlSplitQName3          (const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>              
                           int * len)<br>
+</pre>
+<p>parse an XML qualified name string,i</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 full QName</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>len</tt></i>:</span></td>
+<td>an int *</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>NULL if it is not a Qualified Name, otherwise, update len with the length in byte of the prefix and 
return a pointer to the start of the name without the prefix</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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>Parse the value string and build the node list associated. Should produce a flat tree with only TEXTs and 
ENTITY_REFs.</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</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>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a pointer to the first child</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlStringLenGetNodeList"></a>xmlStringLenGetNodeList ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>      
xmlStringLenGetNodeList (const <a href="libxml2-tree.html#xmlDoc">xmlDoc</a> * doc, <br>                      
                   const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br>                   
                     int len)<br>
+</pre>
+<p>Parse the value string and build the node list associated. Should produce a flat tree with only TEXTs and 
ENTITY_REFs.</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</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>value</tt></i>:</span></td>
+<td>the value of the text</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>len</tt></i>:</span></td>
+<td>the length of the string value</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a pointer to the first child</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextConcat"></a>xmlTextConcat ()</h3>
+<pre class="programlisting">int        xmlTextConcat                   (<a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>                                        const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content, <br>                                      int 
len)<br>
+</pre>
+<p>Concat the given string at the end of the existing node content</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</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>content</tt></i>:</span></td>
+<td>the content</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>len</tt></i>:</span></td>
+<td>@content length</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>-1 in case of error, 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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 two text nodes into one</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>first</tt></i>:</span></td>
+<td>the first text node</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>second</tt></i>:</span></td>
+<td>the second text node being merged</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the first text node augmented</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUnlinkNode"></a>xmlUnlinkNode ()</h3>
+<pre class="programlisting">void       xmlUnlinkNode                   (<a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur)<br>
+</pre>
+<p>Unlink a node from it's current context, the node is not freed If one need to free the node, use 
xmlFreeNode() routine after the unlink to discard it. Note that namespace nodes can't be unlinked as they do 
not have pointer to their parent.</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 node</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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>
+<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</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ns</tt></i>:</span></td>
+<td>the namespace definition</td>
+</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>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 if successful, -1 if not found</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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>
+<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</td>
+</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>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 if successful, -1 if not found</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlValidateNCName"></a>xmlValidateNCName ()</h3>
+<pre class="programlisting">int        xmlValidateNCName               (const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br>                                        int 
space)<br>
+</pre>
+<p>Check that a value conforms to the lexical space of NCName</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>value</tt></i>:</span></td>
+<td>the value to check</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>space</tt></i>:</span></td>
+<td>allow spaces in front and end of the string</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 if this validates, a positive error code number otherwise and -1 in case of internal or API error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlValidateNMToken"></a>xmlValidateNMToken ()</h3>
+<pre class="programlisting">int        xmlValidateNMToken              (const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br>                                        int 
space)<br>
+</pre>
+<p>Check that a value conforms to the lexical space of NMToken</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>value</tt></i>:</span></td>
+<td>the value to check</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>space</tt></i>:</span></td>
+<td>allow spaces in front and end of the string</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 if this validates, a positive error code number otherwise and -1 in case of internal or API error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlValidateName"></a>xmlValidateName ()</h3>
+<pre class="programlisting">int        xmlValidateName                 (const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br>                                        int 
space)<br>
+</pre>
+<p>Check that a value conforms to the lexical space of Name</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>value</tt></i>:</span></td>
+<td>the value to check</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>space</tt></i>:</span></td>
+<td>allow spaces in front and end of the string</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 if this validates, a positive error code number otherwise and -1 in case of internal or API error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlValidateQName"></a>xmlValidateQName ()</h3>
+<pre class="programlisting">int        xmlValidateQName                (const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br>                                        int 
space)<br>
+</pre>
+<p>Check that a value conforms to the lexical space of QName</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>value</tt></i>:</span></td>
+<td>the value to check</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>space</tt></i>:</span></td>
+<td>allow spaces in front and end of the string</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 if this validates, a positive error code number otherwise and -1 in case of internal or API error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+</div>
+</div>
+</body>
 </html>
diff --git a/doc/devhelp/libxml2-uri.html b/doc/devhelp/libxml2-uri.html
index e6dd3824..755e78da 100644
--- a/doc/devhelp/libxml2-uri.html
+++ b/doc/devhelp/libxml2-uri.html
@@ -1,74 +1,54 @@
-<?xml version="1.0" encoding="UTF-8"?>
 <html>
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
-    <title>uri: library of generic URI related routines</title>
-    <meta name="generator" content="Libxml2 devhelp stylesheet"/>
-    <link rel="start" href="index.html" title="libxml2 Reference Manual"/>
-    <link rel="up" href="general.html" title="API"/>
-    <link rel="stylesheet" href="style.css" type="text/css"/>
-    <link rel="chapter" href="general.html" title="API"/>
-  </head>
-  <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-    <table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
-      <tr valign="middle">
-        <td>
-          <a accesskey="p" href="libxml2-tree.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-valid.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">uri</span>
-    </h2>
-    <p>uri - library of generic URI related routines</p>
-    <p>library of generic URI related routines Implements RFC 2396 </p>
-    <p>Author(s): Daniel Veillard </p>
-    <div class="refsynopsisdiv">
-      <h2>Synopsis</h2>
-      <pre class="synopsis">typedef struct _xmlURI <a href="#xmlURI">xmlURI</a>;
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>uri: library of generic URI related routines</title>
+<meta name="generator" content="Libxml2 devhelp stylesheet">
+<link rel="start" href="index.html" title="libxml2 Reference Manual">
+<link rel="up" href="general.html" title="API">
+<link rel="stylesheet" href="style.css" type="text/css">
+<link rel="chapter" href="general.html" title="API">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr 
valign="middle">
+<td><a accesskey="p" href="libxml2-tree.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-valid.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">uri</span></h2>
+<p>uri - library of generic URI related routines</p>
+<p>library of generic URI related routines Implements RFC 2396 </p>
+<p>Author(s): Daniel Veillard </p>
+<div class="refsynopsisdiv">
+<h2>Synopsis</h2>
+<pre class="synopsis">typedef struct _xmlURI <a href="#xmlURI">xmlURI</a>;
 typedef <a href="libxml2-uri.html#xmlURI">xmlURI</a> * <a href="#xmlURIPtr">xmlURIPtr</a>;
-<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * <a 
href="#xmlBuildRelativeURI">xmlBuildRelativeURI</a>  (const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URI, <br/>                                         const 
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * base);
-<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * <a href="#xmlBuildURI">xmlBuildURI</a>          
(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URI, <br/>                                      
   const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * base);
+<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * <a 
href="#xmlBuildRelativeURI">xmlBuildRelativeURI</a>  (const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URI, <br>                                  const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * base);
+<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * <a href="#xmlBuildURI">xmlBuildURI</a>          
(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URI, <br>                                  
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * base);
 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * <a href="#xmlCanonicPath">xmlCanonicPath</a>          
  (const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * path);
 <a href="libxml2-uri.html#xmlURIPtr">xmlURIPtr</a>     <a href="#xmlCreateURI">xmlCreateURI</a>              
  (void);
 void   <a href="#xmlFreeURI">xmlFreeURI</a>                    (<a 
href="libxml2-uri.html#xmlURIPtr">xmlURIPtr</a> uri);
 int    <a href="#xmlNormalizeURIPath">xmlNormalizeURIPath</a>          (char * path);
 <a href="libxml2-uri.html#xmlURIPtr">xmlURIPtr</a>     <a href="#xmlParseURI">xmlParseURI</a>          
(const char * str);
-<a href="libxml2-uri.html#xmlURIPtr">xmlURIPtr</a>     <a href="#xmlParseURIRaw">xmlParseURIRaw</a>          
  (const char * str, <br/>                                         int raw);
-int    <a href="#xmlParseURIReference">xmlParseURIReference</a>                (<a 
href="libxml2-uri.html#xmlURIPtr">xmlURIPtr</a> uri, <br/>                                   const char * 
str);
+<a href="libxml2-uri.html#xmlURIPtr">xmlURIPtr</a>     <a href="#xmlParseURIRaw">xmlParseURIRaw</a>          
  (const char * str, <br>                                  int raw);
+int    <a href="#xmlParseURIReference">xmlParseURIReference</a>                (<a 
href="libxml2-uri.html#xmlURIPtr">xmlURIPtr</a> uri, <br>                                    const char * 
str);
 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * <a href="#xmlPathToURI">xmlPathToURI</a>              
  (const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * path);
-void   <a href="#xmlPrintURI">xmlPrintURI</a>                  (FILE * stream, <br/>                         
           <a href="libxml2-uri.html#xmlURIPtr">xmlURIPtr</a> uri);
+void   <a href="#xmlPrintURI">xmlPrintURI</a>                  (FILE * stream, <br>                          
           <a href="libxml2-uri.html#xmlURIPtr">xmlURIPtr</a> uri);
 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * <a href="#xmlSaveUri">xmlSaveUri</a>            (<a 
href="libxml2-uri.html#xmlURIPtr">xmlURIPtr</a> uri);
 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * <a href="#xmlURIEscape">xmlURIEscape</a>              
  (const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str);
-<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * <a href="#xmlURIEscapeStr">xmlURIEscapeStr</a>        
  (const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br/>                                    
     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * list);
-char * <a href="#xmlURIUnescapeString">xmlURIUnescapeString</a>                (const char * str, <br/>      
                                   int len, <br/>                                  char * target);
-</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="xmlURI">Structure </a>xmlURI</h3><pre 
class="programlisting">struct _xmlURI {
+<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * <a href="#xmlURIEscapeStr">xmlURIEscapeStr</a>        
  (const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br>                                  
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * list);
+char * <a href="#xmlURIUnescapeString">xmlURIUnescapeString</a>                (const char * str, <br>       
                           int len, <br>                                   char * target);
+</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="xmlURI">Structure </a>xmlURI</h3>
+<pre class="programlisting">struct _xmlURI {
     char *     scheme  : the URI scheme
     char *     opaque  : opaque part
     char *     authority       : the authority part
@@ -81,74 +61,353 @@ char *     <a href="#xmlURIUnescapeString">xmlURIUnescapeString</a>                
(const char * s
     int        cleanup : parsing potentially unclean URI
     char *     query_raw       : the query string (as it appears in the URI)
 } xmlURI;
-</pre><p/>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlURIPtr">Typedef </a>xmlURIPtr</h3><pre 
class="programlisting"><a href="libxml2-uri.html#xmlURI">xmlURI</a> * xmlURIPtr;
-</pre><p/>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlBuildRelativeURI"/>xmlBuildRelativeURI ()</h3><pre 
class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *       xmlBuildRelativeURI     
(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URI, <br/>                                      
   const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * base)<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.</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></tr><tr><td><span class="term"><i><tt>base</tt></i>:</span></td><td>the base 
value</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a new URI string (to be 
freed by the caller) or NULL in case error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlBuildURI"/>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>
-<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 instance found in the 
document</td></tr><tr><td><span class="term"><i><tt>base</tt></i>:</span></td><td>the base 
value</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a new URI string (to be 
freed by the caller) or NULL in case of error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCanonicPath"/>xmlCanonicPath ()</h3><pre 
class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * xmlCanonicPath          (const 
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * path)<br/>
-</pre><p>Constructs a canonic path from the specified path.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>path</tt></i>:</span></td><td>the resource locator in a filesystem 
notation</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a new canonic path, or a 
duplicate of the path parameter if the construction fails. The caller is responsible for freeing the memory 
occupied by the returned string. If there is insufficient memory available, or the argument is NULL, the 
function returns NULL.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCreateURI"/>xmlCreateURI ()</h3><pre 
class="programlisting"><a href="libxml2-uri.html#xmlURIPtr">xmlURIPtr</a> xmlCreateURI            (void)<br/>
-</pre><p>Simply creates an empty <a href="libxml2-uri.html#xmlURI">xmlURI</a></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 new structure or NULL in case of 
error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlFreeURI"/>xmlFreeURI ()</h3><pre 
class="programlisting">void   xmlFreeURI                      (<a 
href="libxml2-uri.html#xmlURIPtr">xmlURIPtr</a> uri)<br/>
-</pre><p>Free up the <a href="libxml2-uri.html#xmlURI">xmlURI</a> struct</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>uri</tt></i>:</span></td><td>pointer to an <a 
href="libxml2-uri.html#xmlURI">xmlURI</a></td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNormalizeURIPath"/>xmlNormalizeURIPath ()</h3><pre 
class="programlisting">int  xmlNormalizeURIPath             (char * path)<br/>
-</pre><p>Applies the 5 normalization steps to a path string--that is, RFC 2396 Section 5.2, steps 6.c 
through 6.g. Normalization occurs directly on the string, no new allocation is done</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>path</tt></i>:</span></td><td>pointer to the path string</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>0 or an error code</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParseURI"/>xmlParseURI ()</h3><pre 
class="programlisting"><a href="libxml2-uri.html#xmlURIPtr">xmlURIPtr</a>   xmlParseURI             (const 
char * str)<br/>
-</pre><p>Parse an URI based on RFC 3986 URI-reference = [ absoluteURI | relativeURI ] [ "#" fragment ]</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>str</tt></i>:</span></td><td>the URI string to analyze</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>a newly built <a 
href="libxml2-uri.html#xmlURIPtr">xmlURIPtr</a> or NULL in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParseURIRaw"/>xmlParseURIRaw ()</h3><pre 
class="programlisting"><a href="libxml2-uri.html#xmlURIPtr">xmlURIPtr</a>     xmlParseURIRaw          (const 
char * str, <br/>                                         int raw)<br/>
-</pre><p>Parse an URI but allows to keep intact the original fragments. URI-reference = URI / 
relative-ref</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>str</tt></i>:</span></td><td>the URI string to analyze</td></tr><tr><td><span 
class="term"><i><tt>raw</tt></i>:</span></td><td>if 1 unescaping of URI pieces are 
disabled</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a newly built <a 
href="libxml2-uri.html#xmlURIPtr">xmlURIPtr</a> or NULL in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParseURIReference"/>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>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>uri</tt></i>:</span></td><td>pointer to an URI structure</td></tr><tr><td><span 
class="term"><i><tt>str</tt></i>:</span></td><td>the string to analyze</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>0 or the error code</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlPathToURI"/>xmlPathToURI ()</h3><pre 
class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *     xmlPathToURI            
(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * path)<br/>
-</pre><p>Constructs an URI expressing the existing path</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>path</tt></i>:</span></td><td>the resource locator in a filesystem 
notation</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a new URI, or a 
duplicate of the path parameter if the construction fails. The caller is responsible for freeing the memory 
occupied by the returned string. If there is insufficient memory available, or the argument is NULL, the 
function returns NULL.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlPrintURI"/>xmlPrintURI ()</h3><pre 
class="programlisting">void xmlPrintURI                     (FILE * stream, <br/>                             
       <a href="libxml2-uri.html#xmlURIPtr">xmlURIPtr</a> uri)<br/>
-</pre><p>Prints the URI in the stream @stream.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>stream</tt></i>:</span></td><td>a FILE* for the output</td></tr><tr><td><span 
class="term"><i><tt>uri</tt></i>:</span></td><td>pointer to an <a 
href="libxml2-uri.html#xmlURI">xmlURI</a></td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSaveUri"/>xmlSaveUri ()</h3><pre 
class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * xmlSaveUri              (<a 
href="libxml2-uri.html#xmlURIPtr">xmlURIPtr</a> uri)<br/>
-</pre><p>Save the URI as an escaped string</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>uri</tt></i>:</span></td><td>pointer to an <a 
href="libxml2-uri.html#xmlURI">xmlURI</a></td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>a new string (to be deallocated by 
caller)</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlURIEscape"/>xmlURIEscape ()</h3><pre 
class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *     xmlURIEscape            
(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str)<br/>
-</pre><p>Escaping routine, does not do validity checks ! It will try to escape the chars needing this, but 
this is heuristic based it's impossible to be sure.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>str</tt></i>:</span></td><td>the string of the URI to escape</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>an copy of the string, but escaped 25 May 2001 Uses <a 
href="libxml2-uri.html#xmlParseURI">xmlParseURI</a> and <a 
href="libxml2-uri.html#xmlURIEscapeStr">xmlURIEscapeStr</a> to try to escape correctly according to RFC2396. 
- Carl Douglas</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlURIEscapeStr"/>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 reserved <a 
href="libxml2-SAX.html#characters">characters</a> (a-z) and the <a 
href="libxml2-SAX.html#characters">characters</a> in the exception list.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>str</tt></i>:</span></td><td>string to escape</td></tr><tr><td><span 
class="term"><i><tt>list</tt></i>:</span></td><td>exception list string of chars not to 
escape</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a new escaped string or 
NULL in case of error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlURIUnescapeString"/>xmlURIUnescapeString ()</h3><pre 
class="programlisting">char *     xmlURIUnescapeString            (const char * str, <br/>                    
                     int len, <br/>                                  char * target)<br/>
-</pre><p>Unescaping routine, but does not check that the string is an URI. The output is a direct unsigned 
char translation of %XX values (no encoding) Note that the length of the result can only be smaller or same 
size as the input string.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>str</tt></i>:</span></td><td>the string to unescape</td></tr><tr><td><span 
class="term"><i><tt>len</tt></i>:</span></td><td>the length in bytes to unescape (or &lt;= 0 to indicate full 
string)</td></tr><tr><td><span class="term"><i><tt>target</tt></i>:</span></td><td>optional destination 
buffer</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a copy of the string, but 
unescaped, will return NULL only in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-      </div>
-    </div>
-  </body>
+</pre>
+<p></p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlURIPtr">Typedef </a>xmlURIPtr</h3>
+<pre class="programlisting"><a href="libxml2-uri.html#xmlURI">xmlURI</a> * xmlURIPtr;
+</pre>
+<p></p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlBuildRelativeURI"></a>xmlBuildRelativeURI ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *     xmlBuildRelativeURI   
  (const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * URI, <br>                                  
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * base)<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.</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>
+</tr>
+<tr>
+<td><span class="term"><i><tt>base</tt></i>:</span></td>
+<td>the base value</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a new URI string (to be freed by the caller) or NULL in case error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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>
+<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 instance found in the document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>base</tt></i>:</span></td>
+<td>the base value</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a new URI string (to be freed by the caller) or NULL in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCanonicPath"></a>xmlCanonicPath ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *     xmlCanonicPath        
  (const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * path)<br>
+</pre>
+<p>Constructs a canonic path from the specified path.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>path</tt></i>:</span></td>
+<td>the resource locator in a filesystem notation</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a new canonic path, or a duplicate of the path parameter if the construction fails. The caller is 
responsible for freeing the memory occupied by the returned string. If there is insufficient memory 
available, or the argument is NULL, the function returns NULL.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCreateURI"></a>xmlCreateURI ()</h3>
+<pre class="programlisting"><a href="libxml2-uri.html#xmlURIPtr">xmlURIPtr</a> xmlCreateURI            
(void)<br>
+</pre>
+<p>Simply creates an empty <a href="libxml2-uri.html#xmlURI">xmlURI</a></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 new structure or NULL in case of error</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlFreeURI"></a>xmlFreeURI ()</h3>
+<pre class="programlisting">void       xmlFreeURI                      (<a 
href="libxml2-uri.html#xmlURIPtr">xmlURIPtr</a> uri)<br>
+</pre>
+<p>Free up the <a href="libxml2-uri.html#xmlURI">xmlURI</a> struct</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>uri</tt></i>:</span></td>
+<td>pointer to an <a href="libxml2-uri.html#xmlURI">xmlURI</a>
+</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNormalizeURIPath"></a>xmlNormalizeURIPath ()</h3>
+<pre class="programlisting">int        xmlNormalizeURIPath             (char * path)<br>
+</pre>
+<p>Applies the 5 normalization steps to a path string--that is, RFC 2396 Section 5.2, steps 6.c through 6.g. 
Normalization occurs directly on the string, no new allocation is done</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>path</tt></i>:</span></td>
+<td>pointer to the path string</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 or an error code</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParseURI"></a>xmlParseURI ()</h3>
+<pre class="programlisting"><a href="libxml2-uri.html#xmlURIPtr">xmlURIPtr</a> xmlParseURI             
(const char * str)<br>
+</pre>
+<p>Parse an URI based on RFC 3986 URI-reference = [ absoluteURI | relativeURI ] [ "#" fragment ]</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>str</tt></i>:</span></td>
+<td>the URI string to analyze</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a newly built <a href="libxml2-uri.html#xmlURIPtr">xmlURIPtr</a> or NULL in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParseURIRaw"></a>xmlParseURIRaw ()</h3>
+<pre class="programlisting"><a href="libxml2-uri.html#xmlURIPtr">xmlURIPtr</a> xmlParseURIRaw          
(const char * str, <br>                                  int raw)<br>
+</pre>
+<p>Parse an URI but allows to keep intact the original fragments. URI-reference = URI / relative-ref</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>str</tt></i>:</span></td>
+<td>the URI string to analyze</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>raw</tt></i>:</span></td>
+<td>if 1 unescaping of URI pieces are disabled</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a newly built <a href="libxml2-uri.html#xmlURIPtr">xmlURIPtr</a> or NULL in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>uri</tt></i>:</span></td>
+<td>pointer to an URI structure</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>str</tt></i>:</span></td>
+<td>the string to analyze</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 or the error code</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlPathToURI"></a>xmlPathToURI ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *     xmlPathToURI          
  (const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * path)<br>
+</pre>
+<p>Constructs an URI expressing the existing path</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>path</tt></i>:</span></td>
+<td>the resource locator in a filesystem notation</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a new URI, or a duplicate of the path parameter if the construction fails. The caller is responsible for 
freeing the memory occupied by the returned string. If there is insufficient memory available, or the 
argument is NULL, the function returns NULL.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlPrintURI"></a>xmlPrintURI ()</h3>
+<pre class="programlisting">void       xmlPrintURI                     (FILE * stream, <br>                  
                   <a href="libxml2-uri.html#xmlURIPtr">xmlURIPtr</a> uri)<br>
+</pre>
+<p>Prints the URI in the stream @stream.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>stream</tt></i>:</span></td>
+<td>a FILE* for the output</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>uri</tt></i>:</span></td>
+<td>pointer to an <a href="libxml2-uri.html#xmlURI">xmlURI</a>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSaveUri"></a>xmlSaveUri ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *     xmlSaveUri            
  (<a href="libxml2-uri.html#xmlURIPtr">xmlURIPtr</a> uri)<br>
+</pre>
+<p>Save the URI as an escaped string</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>uri</tt></i>:</span></td>
+<td>pointer to an <a href="libxml2-uri.html#xmlURI">xmlURI</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a new string (to be deallocated by caller)</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlURIEscape"></a>xmlURIEscape ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *     xmlURIEscape          
  (const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str)<br>
+</pre>
+<p>Escaping routine, does not do validity checks ! It will try to escape the chars needing this, but this is 
heuristic based it's impossible to be sure.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>str</tt></i>:</span></td>
+<td>the string of the URI to escape</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>an copy of the string, but escaped 25 May 2001 Uses <a 
href="libxml2-uri.html#xmlParseURI">xmlParseURI</a> and <a 
href="libxml2-uri.html#xmlURIEscapeStr">xmlURIEscapeStr</a> to try to escape correctly according to RFC2396. 
- Carl Douglas</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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 reserved <a 
href="libxml2-SAX.html#characters">characters</a> (a-z) and the <a 
href="libxml2-SAX.html#characters">characters</a> in the exception list.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>str</tt></i>:</span></td>
+<td>string to escape</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>list</tt></i>:</span></td>
+<td>exception list string of chars not to escape</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a new escaped string or NULL in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlURIUnescapeString"></a>xmlURIUnescapeString ()</h3>
+<pre class="programlisting">char *     xmlURIUnescapeString            (const char * str, <br>               
                   int len, <br>                                   char * target)<br>
+</pre>
+<p>Unescaping routine, but does not check that the string is an URI. The output is a direct unsigned char 
translation of %XX values (no encoding) Note that the length of the result can only be smaller or same size 
as the input string.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>str</tt></i>:</span></td>
+<td>the string to unescape</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>len</tt></i>:</span></td>
+<td>the length in bytes to unescape (or &lt;= 0 to indicate full string)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>target</tt></i>:</span></td>
+<td>optional destination buffer</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a copy of the string, but unescaped, will return NULL only in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+</div>
+</div>
+</body>
 </html>
diff --git a/doc/devhelp/libxml2-valid.html b/doc/devhelp/libxml2-valid.html
index cd987757..3ea0bb80 100644
--- a/doc/devhelp/libxml2-valid.html
+++ b/doc/devhelp/libxml2-valid.html
@@ -1,49 +1,28 @@
-<?xml version="1.0" encoding="UTF-8"?>
 <html>
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
-    <title>valid: The DTD validation</title>
-    <meta name="generator" content="Libxml2 devhelp stylesheet"/>
-    <link rel="start" href="index.html" title="libxml2 Reference Manual"/>
-    <link rel="up" href="general.html" title="API"/>
-    <link rel="stylesheet" href="style.css" type="text/css"/>
-    <link rel="chapter" href="general.html" title="API"/>
-  </head>
-  <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-    <table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
-      <tr valign="middle">
-        <td>
-          <a accesskey="p" href="libxml2-uri.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-xinclude.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">valid</span>
-    </h2>
-    <p>valid - The DTD validation</p>
-    <p>API for the DTD handling and the validity checking </p>
-    <p>Author(s): Daniel Veillard </p>
-    <div class="refsynopsisdiv">
-      <h2>Synopsis</h2>
-      <pre class="synopsis">#define <a href="#XML_VCTXT_DTD_VALIDATED">XML_VCTXT_DTD_VALIDATED</a>;
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>valid: The DTD validation</title>
+<meta name="generator" content="Libxml2 devhelp stylesheet">
+<link rel="start" href="index.html" title="libxml2 Reference Manual">
+<link rel="up" href="general.html" title="API">
+<link rel="stylesheet" href="style.css" type="text/css">
+<link rel="chapter" href="general.html" title="API">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr 
valign="middle">
+<td><a accesskey="p" href="libxml2-uri.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-xinclude.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">valid</span></h2>
+<p>valid - The DTD validation</p>
+<p>API for the DTD handling and the validity checking </p>
+<p>Author(s): Daniel Veillard </p>
+<div class="refsynopsisdiv">
+<h2>Synopsis</h2>
+<pre class="synopsis">#define <a href="#XML_VCTXT_DTD_VALIDATED">XML_VCTXT_DTD_VALIDATED</a>;
 #define <a href="#XML_VCTXT_USE_PCTXT">XML_VCTXT_USE_PCTXT</a>;
 typedef struct _xmlHashTable <a href="#xmlAttributeTable">xmlAttributeTable</a>;
 typedef <a href="libxml2-valid.html#xmlAttributeTable">xmlAttributeTable</a> * <a 
href="#xmlAttributeTablePtr">xmlAttributeTablePtr</a>;
@@ -59,26 +38,26 @@ typedef struct _xmlValidCtxt <a href="#xmlValidCtxt">xmlValidCtxt</a>;
 typedef <a href="libxml2-valid.html#xmlValidCtxt">xmlValidCtxt</a> * <a 
href="#xmlValidCtxtPtr">xmlValidCtxtPtr</a>;
 typedef struct _xmlValidState <a href="#xmlValidState">xmlValidState</a>;
 typedef <a href="libxml2-valid.html#xmlValidState">xmlValidState</a> * <a 
href="#xmlValidStatePtr">xmlValidStatePtr</a>;
-<a href="libxml2-tree.html#xmlAttributePtr">xmlAttributePtr</a>        <a 
href="#xmlAddAttributeDecl">xmlAddAttributeDecl</a>  (<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);
-<a href="libxml2-tree.html#xmlElementPtr">xmlElementPtr</a>    <a 
href="#xmlAddElementDecl">xmlAddElementDecl</a>      (<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);
-<a href="libxml2-tree.html#xmlIDPtr">xmlIDPtr</a>      <a href="#xmlAddID">xmlAddID</a>                (<a 
href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br/>                                    
<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>                                  const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br/>                                       <a 
href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr);
-<a href="libxml2-tree.html#xmlNotationPtr">xmlNotationPtr</a>  <a 
href="#xmlAddNotationDecl">xmlAddNotationDecl</a>    (<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);
-<a href="libxml2-tree.html#xmlRefPtr">xmlRefPtr</a>    <a href="#xmlAddRef">xmlAddRef</a>              (<a 
href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br/>                                    
<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>                                  const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br/>                                       <a 
href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr);
+<a href="libxml2-tree.html#xmlAttributePtr">xmlAttributePtr</a>        <a 
href="#xmlAddAttributeDecl">xmlAddAttributeDecl</a>  (<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);
+<a href="libxml2-tree.html#xmlElementPtr">xmlElementPtr</a>    <a 
href="#xmlAddElementDecl">xmlAddElementDecl</a>      (<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);
+<a href="libxml2-tree.html#xmlIDPtr">xmlIDPtr</a>      <a href="#xmlAddID">xmlAddID</a>                (<a 
href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br>                                     
<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>                                   const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br>                                        <a 
href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr);
+<a href="libxml2-tree.html#xmlNotationPtr">xmlNotationPtr</a>  <a 
href="#xmlAddNotationDecl">xmlAddNotationDecl</a>    (<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);
+<a href="libxml2-tree.html#xmlRefPtr">xmlRefPtr</a>    <a href="#xmlAddRef">xmlAddRef</a>              (<a 
href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br>                                     
<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>                                   const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br>                                        <a 
href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr);
 <a href="libxml2-valid.html#xmlAttributeTablePtr">xmlAttributeTablePtr</a>     <a 
href="#xmlCopyAttributeTable">xmlCopyAttributeTable</a>      (<a 
href="libxml2-valid.html#xmlAttributeTablePtr">xmlAttributeTablePtr</a> table);
-<a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a>      <a 
href="#xmlCopyDocElementContent">xmlCopyDocElementContent</a>        (<a 
href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>                                                  
<a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> cur);
+<a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a>      <a 
href="#xmlCopyDocElementContent">xmlCopyDocElementContent</a>        (<a 
href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>                                                   
<a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> cur);
 <a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a>      <a 
href="#xmlCopyElementContent">xmlCopyElementContent</a>      (<a 
href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> cur);
 <a href="libxml2-valid.html#xmlElementTablePtr">xmlElementTablePtr</a> <a 
href="#xmlCopyElementTable">xmlCopyElementTable</a>  (<a 
href="libxml2-valid.html#xmlElementTablePtr">xmlElementTablePtr</a> table);
 <a href="libxml2-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a>    <a 
href="#xmlCopyEnumeration">xmlCopyEnumeration</a>    (<a 
href="libxml2-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a> cur);
 <a href="libxml2-valid.html#xmlNotationTablePtr">xmlNotationTablePtr</a>       <a 
href="#xmlCopyNotationTable">xmlCopyNotationTable</a>        (<a 
href="libxml2-valid.html#xmlNotationTablePtr">xmlNotationTablePtr</a> table);
 <a href="libxml2-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a>    <a 
href="#xmlCreateEnumeration">xmlCreateEnumeration</a>        (const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
-void   <a href="#xmlDumpAttributeDecl">xmlDumpAttributeDecl</a>                (<a 
href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br/>                                    <a 
href="libxml2-tree.html#xmlAttributePtr">xmlAttributePtr</a> attr);
-void   <a href="#xmlDumpAttributeTable">xmlDumpAttributeTable</a>              (<a 
href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br/>                                    <a 
href="libxml2-valid.html#xmlAttributeTablePtr">xmlAttributeTablePtr</a> table);
-void   <a href="#xmlDumpElementDecl">xmlDumpElementDecl</a>            (<a 
href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br/>                                    <a 
href="libxml2-tree.html#xmlElementPtr">xmlElementPtr</a> elem);
-void   <a href="#xmlDumpElementTable">xmlDumpElementTable</a>          (<a 
href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br/>                                    <a 
href="libxml2-valid.html#xmlElementTablePtr">xmlElementTablePtr</a> table);
-void   <a href="#xmlDumpNotationDecl">xmlDumpNotationDecl</a>          (<a 
href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br/>                                    <a 
href="libxml2-tree.html#xmlNotationPtr">xmlNotationPtr</a> nota);
-void   <a href="#xmlDumpNotationTable">xmlDumpNotationTable</a>                (<a 
href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br/>                                    <a 
href="libxml2-valid.html#xmlNotationTablePtr">xmlNotationTablePtr</a> table);
+void   <a href="#xmlDumpAttributeDecl">xmlDumpAttributeDecl</a>                (<a 
href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>                                     <a 
href="libxml2-tree.html#xmlAttributePtr">xmlAttributePtr</a> attr);
+void   <a href="#xmlDumpAttributeTable">xmlDumpAttributeTable</a>              (<a 
href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>                                     <a 
href="libxml2-valid.html#xmlAttributeTablePtr">xmlAttributeTablePtr</a> table);
+void   <a href="#xmlDumpElementDecl">xmlDumpElementDecl</a>            (<a 
href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>                                     <a 
href="libxml2-tree.html#xmlElementPtr">xmlElementPtr</a> elem);
+void   <a href="#xmlDumpElementTable">xmlDumpElementTable</a>          (<a 
href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>                                     <a 
href="libxml2-valid.html#xmlElementTablePtr">xmlElementTablePtr</a> table);
+void   <a href="#xmlDumpNotationDecl">xmlDumpNotationDecl</a>          (<a 
href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>                                     <a 
href="libxml2-tree.html#xmlNotationPtr">xmlNotationPtr</a> nota);
+void   <a href="#xmlDumpNotationTable">xmlDumpNotationTable</a>                (<a 
href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>                                     <a 
href="libxml2-valid.html#xmlNotationTablePtr">xmlNotationTablePtr</a> table);
 void   <a href="#xmlFreeAttributeTable">xmlFreeAttributeTable</a>              (<a 
href="libxml2-valid.html#xmlAttributeTablePtr">xmlAttributeTablePtr</a> table);
-void   <a href="#xmlFreeDocElementContent">xmlFreeDocElementContent</a>        (<a 
href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>                                  <a 
href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> cur);
+void   <a href="#xmlFreeDocElementContent">xmlFreeDocElementContent</a>        (<a 
href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>                                   <a 
href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> cur);
 void   <a href="#xmlFreeElementContent">xmlFreeElementContent</a>              (<a 
href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> cur);
 void   <a href="#xmlFreeElementTable">xmlFreeElementTable</a>          (<a 
href="libxml2-valid.html#xmlElementTablePtr">xmlElementTablePtr</a> table);
 void   <a href="#xmlFreeEnumeration">xmlFreeEnumeration</a>            (<a 
href="libxml2-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a> cur);
@@ -86,118 +65,167 @@ void      <a href="#xmlFreeIDTable">xmlFreeIDTable</a>                    (<a 
href="libxml2-valid.html
 void   <a href="#xmlFreeNotationTable">xmlFreeNotationTable</a>                (<a 
href="libxml2-valid.html#xmlNotationTablePtr">xmlNotationTablePtr</a> table);
 void   <a href="#xmlFreeRefTable">xmlFreeRefTable</a>                  (<a 
href="libxml2-valid.html#xmlRefTablePtr">xmlRefTablePtr</a> table);
 void   <a href="#xmlFreeValidCtxt">xmlFreeValidCtxt</a>                (<a 
href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> cur);
-<a href="libxml2-tree.html#xmlAttributePtr">xmlAttributePtr</a>        <a 
href="#xmlGetDtdAttrDesc">xmlGetDtdAttrDesc</a>      (<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);
-<a href="libxml2-tree.html#xmlElementPtr">xmlElementPtr</a>    <a 
href="#xmlGetDtdElementDesc">xmlGetDtdElementDesc</a>        (<a 
href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd, <br/>                                  const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
-<a href="libxml2-tree.html#xmlNotationPtr">xmlNotationPtr</a>  <a 
href="#xmlGetDtdNotationDesc">xmlGetDtdNotationDesc</a>      (<a 
href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd, <br/>                                  const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
-<a href="libxml2-tree.html#xmlAttributePtr">xmlAttributePtr</a>        <a 
href="#xmlGetDtdQAttrDesc">xmlGetDtdQAttrDesc</a>    (<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);
-<a href="libxml2-tree.html#xmlElementPtr">xmlElementPtr</a>    <a 
href="#xmlGetDtdQElementDesc">xmlGetDtdQElementDesc</a>      (<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> * prefix);
-<a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a>  <a href="#xmlGetID">xmlGetID</a>                (<a 
href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>                                  const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ID);
-<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a>  <a href="#xmlGetRefs">xmlGetRefs</a>            (<a 
href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>                                  const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ID);
-int    <a href="#xmlIsID">xmlIsID</a>                  (<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);
-int    <a href="#xmlIsMixedElement">xmlIsMixedElement</a>              (<a 
href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>                                  const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
-int    <a href="#xmlIsRef">xmlIsRef</a>                        (<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);
-<a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a>      <a 
href="#xmlNewDocElementContent">xmlNewDocElementContent</a>  (<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);
-<a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a>      <a 
href="#xmlNewElementContent">xmlNewElementContent</a>        (const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>                                               
 <a href="libxml2-tree.html#xmlElementContentType">xmlElementContentType</a> type);
+<a href="libxml2-tree.html#xmlAttributePtr">xmlAttributePtr</a>        <a 
href="#xmlGetDtdAttrDesc">xmlGetDtdAttrDesc</a>      (<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);
+<a href="libxml2-tree.html#xmlElementPtr">xmlElementPtr</a>    <a 
href="#xmlGetDtdElementDesc">xmlGetDtdElementDesc</a>        (<a 
href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd, <br>                                   const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
+<a href="libxml2-tree.html#xmlNotationPtr">xmlNotationPtr</a>  <a 
href="#xmlGetDtdNotationDesc">xmlGetDtdNotationDesc</a>      (<a 
href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd, <br>                                   const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
+<a href="libxml2-tree.html#xmlAttributePtr">xmlAttributePtr</a>        <a 
href="#xmlGetDtdQAttrDesc">xmlGetDtdQAttrDesc</a>    (<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);
+<a href="libxml2-tree.html#xmlElementPtr">xmlElementPtr</a>    <a 
href="#xmlGetDtdQElementDesc">xmlGetDtdQElementDesc</a>      (<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> * prefix);
+<a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a>  <a href="#xmlGetID">xmlGetID</a>                (<a 
href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>                                   const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ID);
+<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a>  <a href="#xmlGetRefs">xmlGetRefs</a>            (<a 
href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>                                   const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ID);
+int    <a href="#xmlIsID">xmlIsID</a>                  (<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);
+int    <a href="#xmlIsMixedElement">xmlIsMixedElement</a>              (<a 
href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>                                   const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
+int    <a href="#xmlIsRef">xmlIsRef</a>                        (<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);
+<a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a>      <a 
href="#xmlNewDocElementContent">xmlNewDocElementContent</a>  (<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);
+<a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a>      <a 
href="#xmlNewElementContent">xmlNewElementContent</a>        (const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>                                                
 <a href="libxml2-tree.html#xmlElementContentType">xmlElementContentType</a> type);
 <a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a>       <a 
href="#xmlNewValidCtxt">xmlNewValidCtxt</a>          (void);
-int    <a href="#xmlRemoveID">xmlRemoveID</a>                  (<a 
href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>                                  <a 
href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr);
-int    <a href="#xmlRemoveRef">xmlRemoveRef</a>                        (<a 
href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>                                  <a 
href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr);
-void   <a href="#xmlSnprintfElementContent">xmlSnprintfElementContent</a>      (char * buf, <br/>            
                           int size, <br/>                                         <a 
href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> content, <br/>                         
               int englob);
-void   <a href="#xmlSprintfElementContent">xmlSprintfElementContent</a>        (char * buf, <br/>            
                           <a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> content, 
<br/>                                        int englob);
-int    <a href="#xmlValidBuildContentModel">xmlValidBuildContentModel</a>      (<a 
href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br/>                                    
<a href="libxml2-tree.html#xmlElementPtr">xmlElementPtr</a> elem);
-<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * <a 
href="#xmlValidCtxtNormalizeAttributeValue">xmlValidCtxtNormalizeAttributeValue</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#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="#xmlValidGetPotentialChildren">xmlValidGetPotentialChildren</a>        (<a 
href="libxml2-tree.html#xmlElementContent">xmlElementContent</a> * ctree, <br/>                               
       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** names, <br/>                             
         int * len, <br/>                                        int max);
-int    <a href="#xmlValidGetValidElements">xmlValidGetValidElements</a>        (<a 
href="libxml2-tree.html#xmlNode">xmlNode</a> * prev, <br/>                                   <a 
href="libxml2-tree.html#xmlNode">xmlNode</a> * next, <br/>                                   const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** names, <br/>                                      int 
max);
-<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="#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);
-int    <a href="#xmlValidateElement">xmlValidateElement</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#xmlNodePtr">xmlNodePtr</a> elem);
-int    <a href="#xmlValidateElementDecl">xmlValidateElementDecl</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#xmlElementPtr">xmlElementPtr</a> elem);
+int    <a href="#xmlRemoveID">xmlRemoveID</a>                  (<a 
href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>                                   <a 
href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr);
+int    <a href="#xmlRemoveRef">xmlRemoveRef</a>                        (<a 
href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>                                   <a 
href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr);
+void   <a href="#xmlSnprintfElementContent">xmlSnprintfElementContent</a>      (char * buf, <br>             
                           int size, <br>                                  <a 
href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> content, <br>                          
               int englob);
+void   <a href="#xmlSprintfElementContent">xmlSprintfElementContent</a>        (char * buf, <br>             
                           <a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> content, 
<br>                                         int englob);
+int    <a href="#xmlValidBuildContentModel">xmlValidBuildContentModel</a>      (<a 
href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br>                                     
<a href="libxml2-tree.html#xmlElementPtr">xmlElementPtr</a> elem);
+<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * <a 
href="#xmlValidCtxtNormalizeAttributeValue">xmlValidCtxtNormalizeAttributeValue</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#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="#xmlValidGetPotentialChildren">xmlValidGetPotentialChildren</a>        (<a 
href="libxml2-tree.html#xmlElementContent">xmlElementContent</a> * ctree, <br>                                
       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** names, <br>                              
         int * len, <br>                                         int max);
+int    <a href="#xmlValidGetValidElements">xmlValidGetValidElements</a>        (<a 
href="libxml2-tree.html#xmlNode">xmlNode</a> * prev, <br>                                    <a 
href="libxml2-tree.html#xmlNode">xmlNode</a> * next, <br>                                    const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** names, <br>                                       int 
max);
+<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="#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);
+int    <a href="#xmlValidateElement">xmlValidateElement</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#xmlNodePtr">xmlNodePtr</a> elem);
+int    <a href="#xmlValidateElementDecl">xmlValidateElementDecl</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#xmlElementPtr">xmlElementPtr</a> elem);
 int    <a href="#xmlValidateNameValue">xmlValidateNameValue</a>                (const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value);
 int    <a href="#xmlValidateNamesValue">xmlValidateNamesValue</a>              (const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value);
 int    <a href="#xmlValidateNmtokenValue">xmlValidateNmtokenValue</a>          (const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value);
 int    <a href="#xmlValidateNmtokensValue">xmlValidateNmtokensValue</a>        (const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value);
-int    <a href="#xmlValidateNotationDecl">xmlValidateNotationDecl</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#xmlNotationPtr">xmlNotationPtr</a> nota);
-int    <a href="#xmlValidateNotationUse">xmlValidateNotationUse</a>            (<a 
href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br/>                                    
<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>                                  const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * notationName);
-int    <a href="#xmlValidateOneAttribute">xmlValidateOneAttribute</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#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);
-int    <a href="#xmlValidateOneElement">xmlValidateOneElement</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#xmlNodePtr">xmlNodePtr</a> elem);
-int    <a href="#xmlValidateOneNamespace">xmlValidateOneNamespace</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#xmlNodePtr">xmlNodePtr</a> elem, <br/>                                       const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br/>                                      <a 
href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> ns, <br/>                                     const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value);
-int    <a href="#xmlValidatePopElement">xmlValidatePopElement</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#xmlNodePtr">xmlNodePtr</a> elem, <br/>                                       const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * qname);
-int    <a href="#xmlValidatePushCData">xmlValidatePushCData</a>                (<a 
href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br/>                                    
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * data, <br/>                                      
  int len);
-int    <a href="#xmlValidatePushElement">xmlValidatePushElement</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#xmlNodePtr">xmlNodePtr</a> elem, <br/>                                       const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * qname);
-int    <a href="#xmlValidateRoot">xmlValidateRoot</a>                  (<a 
href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br/>                                    
<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc);
-typedef void <a href="#xmlValidityErrorFunc">xmlValidityErrorFunc</a>          (void * ctx, <br/>            
                           const char * msg, <br/>                                         ... ...);
-typedef void <a href="#xmlValidityWarningFunc">xmlValidityWarningFunc</a>              (void * ctx, <br/>    
                                   const char * msg, <br/>                                         ... ...);
-</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="XML_VCTXT_DTD_VALIDATED">Macro 
</a>XML_VCTXT_DTD_VALIDATED</h3><pre class="programlisting">#define <a 
href="#XML_VCTXT_DTD_VALIDATED">XML_VCTXT_DTD_VALIDATED</a>;
-</pre><p>Set after <a href="libxml2-valid.html#xmlValidateDtdFinal">xmlValidateDtdFinal</a> was called.</p>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_VCTXT_USE_PCTXT">Macro 
</a>XML_VCTXT_USE_PCTXT</h3><pre class="programlisting">#define <a 
href="#XML_VCTXT_USE_PCTXT">XML_VCTXT_USE_PCTXT</a>;
-</pre><p>Set if the validation context is part of a parser context.</p>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlAttributeTable">Structure 
</a>xmlAttributeTable</h3><pre class="programlisting">struct _xmlHashTable {
+int    <a href="#xmlValidateNotationDecl">xmlValidateNotationDecl</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#xmlNotationPtr">xmlNotationPtr</a> nota);
+int    <a href="#xmlValidateNotationUse">xmlValidateNotationUse</a>            (<a 
href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br>                                     
<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>                                   const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * notationName);
+int    <a href="#xmlValidateOneAttribute">xmlValidateOneAttribute</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#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);
+int    <a href="#xmlValidateOneElement">xmlValidateOneElement</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#xmlNodePtr">xmlNodePtr</a> elem);
+int    <a href="#xmlValidateOneNamespace">xmlValidateOneNamespace</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#xmlNodePtr">xmlNodePtr</a> elem, <br>                                        const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br>                                       <a 
href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> ns, <br>                                      const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value);
+int    <a href="#xmlValidatePopElement">xmlValidatePopElement</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#xmlNodePtr">xmlNodePtr</a> elem, <br>                                        const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * qname);
+int    <a href="#xmlValidatePushCData">xmlValidatePushCData</a>                (<a 
href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br>                                     
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * data, <br>                                       
  int len);
+int    <a href="#xmlValidatePushElement">xmlValidatePushElement</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#xmlNodePtr">xmlNodePtr</a> elem, <br>                                        const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * qname);
+int    <a href="#xmlValidateRoot">xmlValidateRoot</a>                  (<a 
href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br>                                     
<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc);
+typedef void <a href="#xmlValidityErrorFunc">xmlValidityErrorFunc</a>          (void * ctx, <br>             
                           const char * msg, <br>                                  ... ...);
+typedef void <a href="#xmlValidityWarningFunc">xmlValidityWarningFunc</a>              (void * ctx, <br>     
                                   const char * msg, <br>                                  ... ...);
+</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="XML_VCTXT_DTD_VALIDATED">Macro </a>XML_VCTXT_DTD_VALIDATED</h3>
+<pre class="programlisting">#define <a href="#XML_VCTXT_DTD_VALIDATED">XML_VCTXT_DTD_VALIDATED</a>;
+</pre>
+<p>Set after <a href="libxml2-valid.html#xmlValidateDtdFinal">xmlValidateDtdFinal</a> was called.</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_VCTXT_USE_PCTXT">Macro </a>XML_VCTXT_USE_PCTXT</h3>
+<pre class="programlisting">#define <a href="#XML_VCTXT_USE_PCTXT">XML_VCTXT_USE_PCTXT</a>;
+</pre>
+<p>Set if the validation context is part of a parser context.</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlAttributeTable">Structure </a>xmlAttributeTable</h3>
+<pre class="programlisting">struct _xmlHashTable {
 The content of this structure is not made public by the API.
 } xmlAttributeTable;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlAttributeTablePtr">Typedef 
</a>xmlAttributeTablePtr</h3><pre class="programlisting"><a 
href="libxml2-valid.html#xmlAttributeTable">xmlAttributeTable</a> * xmlAttributeTablePtr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlAttributeTablePtr">Typedef </a>xmlAttributeTablePtr</h3>
+<pre class="programlisting"><a href="libxml2-valid.html#xmlAttributeTable">xmlAttributeTable</a> * 
xmlAttributeTablePtr;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlElementTable">Structure </a>xmlElementTable</h3><pre 
class="programlisting">struct _xmlHashTable {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlElementTable">Structure </a>xmlElementTable</h3>
+<pre class="programlisting">struct _xmlHashTable {
 The content of this structure is not made public by the API.
 } xmlElementTable;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlElementTablePtr">Typedef 
</a>xmlElementTablePtr</h3><pre class="programlisting"><a 
href="libxml2-valid.html#xmlElementTable">xmlElementTable</a> * xmlElementTablePtr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlElementTablePtr">Typedef </a>xmlElementTablePtr</h3>
+<pre class="programlisting"><a href="libxml2-valid.html#xmlElementTable">xmlElementTable</a> * 
xmlElementTablePtr;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlIDTable">Structure </a>xmlIDTable</h3><pre 
class="programlisting">struct _xmlHashTable {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlIDTable">Structure </a>xmlIDTable</h3>
+<pre class="programlisting">struct _xmlHashTable {
 The content of this structure is not made public by the API.
 } xmlIDTable;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlIDTablePtr">Typedef </a>xmlIDTablePtr</h3><pre 
class="programlisting"><a href="libxml2-valid.html#xmlIDTable">xmlIDTable</a> * xmlIDTablePtr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlIDTablePtr">Typedef </a>xmlIDTablePtr</h3>
+<pre class="programlisting"><a href="libxml2-valid.html#xmlIDTable">xmlIDTable</a> * xmlIDTablePtr;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNotationTable">Structure 
</a>xmlNotationTable</h3><pre class="programlisting">struct _xmlHashTable {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNotationTable">Structure </a>xmlNotationTable</h3>
+<pre class="programlisting">struct _xmlHashTable {
 The content of this structure is not made public by the API.
 } xmlNotationTable;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNotationTablePtr">Typedef 
</a>xmlNotationTablePtr</h3><pre class="programlisting"><a 
href="libxml2-valid.html#xmlNotationTable">xmlNotationTable</a> * xmlNotationTablePtr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNotationTablePtr">Typedef </a>xmlNotationTablePtr</h3>
+<pre class="programlisting"><a href="libxml2-valid.html#xmlNotationTable">xmlNotationTable</a> * 
xmlNotationTablePtr;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlRefTable">Structure </a>xmlRefTable</h3><pre 
class="programlisting">struct _xmlHashTable {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlRefTable">Structure </a>xmlRefTable</h3>
+<pre class="programlisting">struct _xmlHashTable {
 The content of this structure is not made public by the API.
 } xmlRefTable;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlRefTablePtr">Typedef </a>xmlRefTablePtr</h3><pre 
class="programlisting"><a href="libxml2-valid.html#xmlRefTable">xmlRefTable</a> * xmlRefTablePtr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlRefTablePtr">Typedef </a>xmlRefTablePtr</h3>
+<pre class="programlisting"><a href="libxml2-valid.html#xmlRefTable">xmlRefTable</a> * xmlRefTablePtr;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlValidCtxt">Structure </a>xmlValidCtxt</h3><pre 
class="programlisting">struct _xmlValidCtxt {
+<hr>
+<div class="refsect2" lang="en">
+<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
@@ -217,312 +245,1899 @@ The content of this structure is not made public by the API.
     void *     am
     void *     state
 } xmlValidCtxt;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlValidCtxtPtr">Typedef </a>xmlValidCtxtPtr</h3><pre 
class="programlisting"><a href="libxml2-valid.html#xmlValidCtxt">xmlValidCtxt</a> * xmlValidCtxtPtr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlValidCtxtPtr">Typedef </a>xmlValidCtxtPtr</h3>
+<pre class="programlisting"><a href="libxml2-valid.html#xmlValidCtxt">xmlValidCtxt</a> * xmlValidCtxtPtr;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlValidState">Structure </a>xmlValidState</h3><pre 
class="programlisting">struct _xmlValidState {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlValidState">Structure </a>xmlValidState</h3>
+<pre class="programlisting">struct _xmlValidState {
 The content of this structure is not made public by the API.
 } xmlValidState;
-</pre><p/>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlValidStatePtr">Typedef </a>xmlValidStatePtr</h3><pre 
class="programlisting"><a href="libxml2-valid.html#xmlValidState">xmlValidState</a> * xmlValidStatePtr;
-</pre><p/>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlValidityErrorFunc"/>Function type 
xmlValidityErrorFunc</h3><pre class="programlisting">void    xmlValidityErrorFunc            (void * ctx, 
<br/>                                       const char * msg, <br/>                                         
... ...)<br/>
-</pre><p>Callback called when a validity error is found. This is a message oriented function similar to an 
*printf function.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>usually an <a 
href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> to a validity error context, but comes from 
ctxt-&gt;userData (which normally contains such a pointer); ctxt-&gt;userData can be changed by the 
user.</td></tr><tr><td><span class="term"><i><tt>msg</tt></i>:</span></td><td>the string to format *printf 
like vararg</td></tr><tr><td><span class="term"><i><tt>...</tt></i>:</span></td><td>remaining arguments to 
the format</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlValidityWarningFunc"/>Function type 
xmlValidityWarningFunc</h3><pre class="programlisting">void        xmlValidityWarningFunc          (void * 
ctx, <br/>                                       const char * msg, <br/>                                      
   ... ...)<br/>
-</pre><p>Callback called when a validity warning is found. This is a message oriented function similar to an 
*printf function.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>usually an <a 
href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> to a validity error context, but comes from 
ctxt-&gt;userData (which normally contains such a pointer); ctxt-&gt;userData can be changed by the 
user.</td></tr><tr><td><span class="term"><i><tt>msg</tt></i>:</span></td><td>the string to format *printf 
like vararg</td></tr><tr><td><span class="term"><i><tt>...</tt></i>:</span></td><td>remaining arguments to 
the format</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlAddAttributeDecl"/>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>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctxt</tt></i>:</span></td><td>the validation context</td></tr><tr><td><span 
class="term"><i><tt>dtd</tt></i>:</span></td><td>pointer to the DTD</td></tr><tr><td><span 
class="term"><i><tt>elem</tt></i>:</span></td><td>the element name</td></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></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></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></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></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></tr><tr><td><span 
class="term"><i><tt>tree</tt></i>:</span></td><td>if it's an enumeration, the associated 
list</td></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></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlAddElementDecl"/>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>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctxt</tt></i>:</span></td><td>the validation context</td></tr><tr><td><span 
class="term"><i><tt>dtd</tt></i>:</span></td><td>pointer to the DTD</td></tr><tr><td><span 
class="term"><i><tt>name</tt></i>:</span></td><td>the entity name</td></tr><tr><td><span 
class="term"><i><tt>type</tt></i>:</span></td><td>the element type</td></tr><tr><td><span 
class="term"><i><tt>content</tt></i>:</span></td><td>the element content tree or NULL</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>NULL if not, otherwise the 
entity</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlAddID"/>xmlAddID ()</h3><pre 
class="programlisting"><a href="libxml2-tree.html#xmlIDPtr">xmlIDPtr</a>  xmlAddID                (<a 
href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br/>                                    
<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>                                  const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br/>                                       <a 
href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr)<br/>
-</pre><p>Register a new id declaration</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 validation context</td></tr><tr><td><span 
class="term"><i><tt>doc</tt></i>:</span></td><td>pointer to the document</td></tr><tr><td><span 
class="term"><i><tt>value</tt></i>:</span></td><td>the value name</td></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></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>NULL if not, 
otherwise the new <a href="libxml2-tree.html#xmlIDPtr">xmlIDPtr</a></td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlAddNotationDecl"/>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>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctxt</tt></i>:</span></td><td>the validation context</td></tr><tr><td><span 
class="term"><i><tt>dtd</tt></i>:</span></td><td>pointer to the DTD</td></tr><tr><td><span 
class="term"><i><tt>name</tt></i>:</span></td><td>the entity name</td></tr><tr><td><span 
class="term"><i><tt>PublicID</tt></i>:</span></td><td>the public identifier or NULL</td></tr><tr><td><span 
class="term"><i><tt>SystemID</tt></i>:</span></td><td>the system identifier or NULL</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>NULL if not, otherwise the 
entity</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlAddRef"/>xmlAddRef ()</h3><pre 
class="programlisting"><a href="libxml2-tree.html#xmlRefPtr">xmlRefPtr</a>      xmlAddRef               (<a 
href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br/>                                    
<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>                                  const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <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. Register a new ref 
declaration</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 validation context</td></tr><tr><td><span 
class="term"><i><tt>doc</tt></i>:</span></td><td>pointer to the document</td></tr><tr><td><span 
class="term"><i><tt>value</tt></i>:</span></td><td>the value name</td></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></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>NULL if not, 
otherwise the new <a href="libxml2-tree.html#xmlRefPtr">xmlRefPtr</a></td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCopyAttributeTable"/>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>
-<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></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new <a 
href="libxml2-valid.html#xmlAttributeTablePtr">xmlAttributeTablePtr</a> or NULL in case of 
error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCopyDocElementContent"/>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>
-<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 owning the element 
declaration</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>An element content 
pointer.</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new <a 
href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> or NULL in case of 
error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCopyElementContent"/>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>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>cur</tt></i>:</span></td><td>An element content pointer.</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the new <a 
href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> or NULL in case of 
error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCopyElementTable"/>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>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>table</tt></i>:</span></td><td>An element table</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the new <a 
href="libxml2-valid.html#xmlElementTablePtr">xmlElementTablePtr</a> or NULL in case of 
error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCopyEnumeration"/>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>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>cur</tt></i>:</span></td><td>the tree to copy.</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a 
href="libxml2-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a> just created or NULL in case of 
error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCopyNotationTable"/>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>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>table</tt></i>:</span></td><td>A notation table</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the new <a 
href="libxml2-valid.html#xmlNotationTablePtr">xmlNotationTablePtr</a> or NULL in case of 
error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCreateEnumeration"/>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>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>name</tt></i>:</span></td><td>the enumeration name or NULL</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a 
href="libxml2-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a> just created or NULL in case of 
error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlDumpAttributeDecl"/>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>This will dump the content of the <a href="libxml2-SAX.html#attribute">attribute</a> declaration as 
an XML DTD definition</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>buf</tt></i>:</span></td><td>the XML buffer output</td></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></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlDumpAttributeTable"/>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>This will dump the content of the <a href="libxml2-SAX.html#attribute">attribute</a> table as an 
XML DTD definition</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>buf</tt></i>:</span></td><td>the XML buffer output</td></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></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlDumpElementDecl"/>xmlDumpElementDecl ()</h3><pre 
class="programlisting">void   xmlDumpElementDecl              (<a 
href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br/>                                    <a 
href="libxml2-tree.html#xmlElementPtr">xmlElementPtr</a> elem)<br/>
-</pre><p>This will dump the content of the element declaration as an XML DTD definition</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>buf</tt></i>:</span></td><td>the XML buffer output</td></tr><tr><td><span 
class="term"><i><tt>elem</tt></i>:</span></td><td>An element table</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlDumpElementTable"/>xmlDumpElementTable ()</h3><pre 
class="programlisting">void xmlDumpElementTable             (<a 
href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br/>                                    <a 
href="libxml2-valid.html#xmlElementTablePtr">xmlElementTablePtr</a> table)<br/>
-</pre><p>This will dump the content of the element table as an XML DTD definition</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>buf</tt></i>:</span></td><td>the XML buffer output</td></tr><tr><td><span 
class="term"><i><tt>table</tt></i>:</span></td><td>An element table</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlDumpNotationDecl"/>xmlDumpNotationDecl ()</h3><pre 
class="programlisting">void xmlDumpNotationDecl             (<a 
href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br/>                                    <a 
href="libxml2-tree.html#xmlNotationPtr">xmlNotationPtr</a> nota)<br/>
-</pre><p>This will dump the content the notation declaration as an XML DTD definition</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>buf</tt></i>:</span></td><td>the XML buffer output</td></tr><tr><td><span 
class="term"><i><tt>nota</tt></i>:</span></td><td>A notation declaration</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlDumpNotationTable"/>xmlDumpNotationTable ()</h3><pre 
class="programlisting">void       xmlDumpNotationTable            (<a 
href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br/>                                    <a 
href="libxml2-valid.html#xmlNotationTablePtr">xmlNotationTablePtr</a> table)<br/>
-</pre><p>This will dump the content of the notation table as an XML DTD definition</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>buf</tt></i>:</span></td><td>the XML buffer output</td></tr><tr><td><span 
class="term"><i><tt>table</tt></i>:</span></td><td>A notation table</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlFreeAttributeTable"/>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>
-<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></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlFreeDocElementContent"/>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>
-<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 owning the element 
declaration</td></tr><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the element content tree 
to free</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlFreeElementContent"/>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>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>cur</tt></i>:</span></td><td>the element content tree to 
free</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlFreeElementTable"/>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>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>table</tt></i>:</span></td><td>An element table</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlFreeEnumeration"/>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>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>cur</tt></i>:</span></td><td>the tree to free.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlFreeIDTable"/>xmlFreeIDTable ()</h3><pre 
class="programlisting">void   xmlFreeIDTable                  (<a 
href="libxml2-valid.html#xmlIDTablePtr">xmlIDTablePtr</a> table)<br/>
-</pre><p>Deallocate the memory used by an ID 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 id table</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlFreeNotationTable"/>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>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>table</tt></i>:</span></td><td>An notation table</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlFreeRefTable"/>xmlFreeRefTable ()</h3><pre 
class="programlisting">void xmlFreeRefTable                 (<a 
href="libxml2-valid.html#xmlRefTablePtr">xmlRefTablePtr</a> table)<br/>
-</pre><p>DEPRECATED, do not use. This function will be removed from the public API. Deallocate the memory 
used by an Ref 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 ref table</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlFreeValidCtxt"/>xmlFreeValidCtxt ()</h3><pre 
class="programlisting">void       xmlFreeValidCtxt                (<a 
href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> cur)<br/>
-</pre><p>Free a validation context structure.</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 validation context to 
free</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlGetDtdAttrDesc"/>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>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>dtd</tt></i>:</span></td><td>a pointer to the DtD to search</td></tr><tr><td><span 
class="term"><i><tt>elem</tt></i>:</span></td><td>the element name</td></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></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a 
href="libxml2-tree.html#xmlAttributePtr">xmlAttributePtr</a> if found or 
NULL</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlGetDtdElementDesc"/>xmlGetDtdElementDesc ()</h3><pre 
class="programlisting"><a href="libxml2-tree.html#xmlElementPtr">xmlElementPtr</a>        
xmlGetDtdElementDesc    (<a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd, <br/>                       
           const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br/>
-</pre><p>Search the DTD for the description of this element</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>dtd</tt></i>:</span></td><td>a pointer to the DtD to search</td></tr><tr><td><span 
class="term"><i><tt>name</tt></i>:</span></td><td>the element name</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a 
href="libxml2-tree.html#xmlElementPtr">xmlElementPtr</a> if found or 
NULL</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlGetDtdNotationDesc"/>xmlGetDtdNotationDesc 
()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlNotationPtr">xmlNotationPtr</a>    
xmlGetDtdNotationDesc   (<a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd, <br/>                       
           const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br/>
-</pre><p>Search the DTD for the description of this notation</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>dtd</tt></i>:</span></td><td>a pointer to the DtD to search</td></tr><tr><td><span 
class="term"><i><tt>name</tt></i>:</span></td><td>the notation name</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a 
href="libxml2-tree.html#xmlNotationPtr">xmlNotationPtr</a> if found or 
NULL</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlGetDtdQAttrDesc"/>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>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>dtd</tt></i>:</span></td><td>a pointer to the DtD to search</td></tr><tr><td><span 
class="term"><i><tt>elem</tt></i>:</span></td><td>the element name</td></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></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></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a 
href="libxml2-tree.html#xmlAttributePtr">xmlAttributePtr</a> if found or 
NULL</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlGetDtdQElementDesc"/>xmlGetDtdQElementDesc 
()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlElementPtr">xmlElementPtr</a>      
xmlGetDtdQElementDesc   (<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> * prefix)<br/>
-</pre><p>Search the DTD for the description of this element</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>dtd</tt></i>:</span></td><td>a pointer to the DtD to search</td></tr><tr><td><span 
class="term"><i><tt>name</tt></i>:</span></td><td>the element name</td></tr><tr><td><span 
class="term"><i><tt>prefix</tt></i>:</span></td><td>the element namespace prefix</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a 
href="libxml2-tree.html#xmlElementPtr">xmlElementPtr</a> if found or 
NULL</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlGetID"/>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>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>doc</tt></i>:</span></td><td>pointer to the document</td></tr><tr><td><span 
class="term"><i><tt>ID</tt></i>:</span></td><td>the ID value</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>NULL if not found, otherwise the <a 
href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a> defining the ID</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlGetRefs"/>xmlGetRefs ()</h3><pre 
class="programlisting"><a href="libxml2-list.html#xmlListPtr">xmlListPtr</a>  xmlGetRefs              (<a 
href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>                                  const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ID)<br/>
-</pre><p>DEPRECATED, do not use. This function will be removed from the public API. Find the set of 
references for the supplied ID.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>doc</tt></i>:</span></td><td>pointer to the document</td></tr><tr><td><span 
class="term"><i><tt>ID</tt></i>:</span></td><td>the ID value</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>NULL if not found, otherwise node set for the 
ID.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlIsID"/>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>
-<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</td></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></tr><tr><td><span 
class="term"><i><tt>attr</tt></i>:</span></td><td>the <a 
href="libxml2-SAX.html#attribute">attribute</a></td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>0 or 1 depending on the lookup 
result</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlIsMixedElement"/>xmlIsMixedElement ()</h3><pre 
class="programlisting">int      xmlIsMixedElement               (<a 
href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>                                  const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br/>
-</pre><p>Search in the DtDs whether an element accept Mixed content (or ANY) basically if it is supposed to 
accept text childs</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</td></tr><tr><td><span 
class="term"><i><tt>name</tt></i>:</span></td><td>the element name</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if no, 1 if yes, and -1 if no element description is 
available</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlIsRef"/>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>
-<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</td></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></tr><tr><td><span 
class="term"><i><tt>attr</tt></i>:</span></td><td>the <a 
href="libxml2-SAX.html#attribute">attribute</a></td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>0 or 1 depending on the lookup 
result</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNewDocElementContent"/>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>
-<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</td></tr><tr><td><span 
class="term"><i><tt>name</tt></i>:</span></td><td>the subelement name or NULL</td></tr><tr><td><span 
class="term"><i><tt>type</tt></i>:</span></td><td>the type of element content decl</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>NULL if not, otherwise the new element content 
structure</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNewElementContent"/>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>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>name</tt></i>:</span></td><td>the subelement name or NULL</td></tr><tr><td><span 
class="term"><i><tt>type</tt></i>:</span></td><td>the type of element content decl</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>NULL if not, otherwise the new element content 
structure</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNewValidCtxt"/>xmlNewValidCtxt ()</h3><pre 
class="programlisting"><a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a>     xmlNewValidCtxt   
      (void)<br/>
-</pre><p>Allocate a validation context structure.</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 if not, otherwise the new validation context 
structure</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlRemoveID"/>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>
-<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</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></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 if the lookup failed and 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlRemoveRef"/>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>
-<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</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></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 if the lookup failed and 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSnprintfElementContent"/>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>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>buf</tt></i>:</span></td><td>an output buffer</td></tr><tr><td><span 
class="term"><i><tt>size</tt></i>:</span></td><td>the buffer size</td></tr><tr><td><span 
class="term"><i><tt>content</tt></i>:</span></td><td>An element table</td></tr><tr><td><span 
class="term"><i><tt>englob</tt></i>:</span></td><td>1 if one must print the englobing parenthesis, 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSprintfElementContent"/>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>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>buf</tt></i>:</span></td><td>an output buffer</td></tr><tr><td><span 
class="term"><i><tt>content</tt></i>:</span></td><td>An element table</td></tr><tr><td><span 
class="term"><i><tt>englob</tt></i>:</span></td><td>1 if one must print the englobing parenthesis, 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlValidBuildContentModel"/>xmlValidBuildContentModel 
()</h3><pre class="programlisting">int      xmlValidBuildContentModel       (<a 
href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br/>                                    
<a href="libxml2-tree.html#xmlElementPtr">xmlElementPtr</a> elem)<br/>
-</pre><p>(Re)Build the automata associated to the content model of this element</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 validation context</td></tr><tr><td><span 
class="term"><i><tt>elem</tt></i>:</span></td><td>an element declaration node</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 in case of success, 0 in case of 
error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlValidCtxtNormalizeAttributeValue"/>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>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>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctxt</tt></i>:</span></td><td>the validation context or NULL</td></tr><tr><td><span 
class="term"><i><tt>doc</tt></i>:</span></td><td>the document</td></tr><tr><td><span 
class="term"><i><tt>elem</tt></i>:</span></td><td>the parent</td></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></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></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>a new normalized string if normalization is needed, NULL 
otherwise the caller must free the returned value.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlValidGetPotentialChildren"/>xmlValidGetPotentialChildren ()</h3><pre class="programlisting">int      
  xmlValidGetPotentialChildren    (<a href="libxml2-tree.html#xmlElementContent">xmlElementContent</a> * 
ctree, <br/>                                      const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> 
** names, <br/>                                      int * len, <br/>                                        
int max)<br/>
-</pre><p>Build/extend a list of potential children allowed by the content tree</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctree</tt></i>:</span></td><td>an element content tree</td></tr><tr><td><span 
class="term"><i><tt>names</tt></i>:</span></td><td>an array to store the list of child 
names</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>a pointer to the number of 
element in the list</td></tr><tr><td><span class="term"><i><tt>max</tt></i>:</span></td><td>the size of the 
array</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of element in 
the list, or -1 in case of error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlValidGetValidElements"/>xmlValidGetValidElements 
()</h3><pre class="programlisting">int        xmlValidGetValidElements        (<a 
href="libxml2-tree.html#xmlNode">xmlNode</a> * prev, <br/>                                   <a 
href="libxml2-tree.html#xmlNode">xmlNode</a> * next, <br/>                                   const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** names, <br/>                                      int 
max)<br/>
-</pre><p>This function returns the list of authorized children to insert within an existing tree while 
respecting the validity constraints forced by the Dtd. The insertion point is defined using @prev and @next 
in the following ways: to insert before 'node': xmlValidGetValidElements(node-&gt;prev, node, ... to insert 
next 'node': xmlValidGetValidElements(node, node-&gt;next, ... to replace 'node': 
xmlValidGetValidElements(node-&gt;prev, node-&gt;next, ... to prepend a child to 'node': 
xmlValidGetValidElements(NULL, node-&gt;childs, to append a child to 'node': 
xmlValidGetValidElements(node-&gt;last, NULL, ... pointers to the element names are inserted at the beginning 
of the array and do not need to be freed.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>prev</tt></i>:</span></td><td>an element to insert after</td></tr><tr><td><span 
class="term"><i><tt>next</tt></i>:</span></td><td>an element to insert next</td></tr><tr><td><span 
class="term"><i><tt>names</tt></i>:</span></td><td>an array to store the list of child 
names</td></tr><tr><td><span class="term"><i><tt>max</tt></i>:</span></td><td>the size of the 
array</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of element in 
the list, or -1 in case of error. If the function returns the value @max the caller is invited to grow the 
receiving array and retry.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlValidNormalizeAttributeValue"/>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>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>
-<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</td></tr><tr><td><span 
class="term"><i><tt>elem</tt></i>:</span></td><td>the parent</td></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></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></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>a new normalized string if normalization is needed, NULL 
otherwise the caller must free the returned value.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlValidateAttributeDecl"/>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>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>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctxt</tt></i>:</span></td><td>the validation 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>attr</tt></i>:</span></td><td>an <a href="libxml2-SAX.html#attribute">attribute</a> 
definition</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="xmlValidateAttributeValue"/>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>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>
-<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></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></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="xmlValidateDocument"/>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><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>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctxt</tt></i>:</span></td><td>the validation 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="xmlValidateDocumentFinal"/>xmlValidateDocumentFinal 
()</h3><pre class="programlisting">int        xmlValidateDocumentFinal        (<a 
href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br/>                                    
<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br/>
-</pre><p>Does the final step for the document validation once all the incremental validation steps have been 
completed basically it does the following checks described by the XML Rec Check all the IDREF/IDREFS 
attributes definition for validity</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 validation 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="xmlValidateDtd"/>xmlValidateDtd ()</h3><pre 
class="programlisting">int    xmlValidateDtd                  (<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)<br/>
-</pre><p>Try to validate the document against the dtd instance Basically it does check all the definitions 
in the DtD. Note the the internal subset (if present) is de-coupled (i.e. not used), which could give 
problems if ID or IDREF is present.</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 validation 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="xmlValidateDtdFinal"/>xmlValidateDtdFinal ()</h3><pre 
class="programlisting">int  xmlValidateDtdFinal             (<a 
href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br/>                                    
<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br/>
-</pre><p>Does the final step for the dtds validation once all the subsets have been parsed basically it does 
the following checks described by the XML Rec - check that ENTITY and ENTITIES type attributes default or 
possible values matches one of the defined entities. - check that NOTATION type attributes default or 
possible values matches one of the defined notations.</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 validation 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 if invalid and -1 if not 
well-formed</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlValidateElement"/>xmlValidateElement ()</h3><pre 
class="programlisting">int    xmlValidateElement              (<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>Try to validate the subtree under an element</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 validation 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>elem</tt></i>:</span></td><td>an element 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="xmlValidateElementDecl"/>xmlValidateElementDecl 
()</h3><pre class="programlisting">int    xmlValidateElementDecl          (<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#xmlElementPtr">xmlElementPtr</a> elem)<br/>
-</pre><p>Try to validate a single element definition basically it does the following checks as described by 
the XML-1.0 recommendation: - [ VC: One ID per Element Type ] - [ VC: No Duplicate Types ] - [ VC: Unique 
Element Type Declaration ]</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 validation 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>elem</tt></i>:</span></td><td>an element definition</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="xmlValidateNameValue"/>xmlValidateNameValue ()</h3><pre 
class="programlisting">int        xmlValidateNameValue            (const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value)<br/>
-</pre><p>Validate that the given value match Name production</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>value</tt></i>:</span></td><td>an Name value</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="xmlValidateNamesValue"/>xmlValidateNamesValue 
()</h3><pre class="programlisting">int      xmlValidateNamesValue           (const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value)<br/>
-</pre><p>Validate that the given value match Names production</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>value</tt></i>:</span></td><td>an Names value</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="xmlValidateNmtokenValue"/>xmlValidateNmtokenValue 
()</h3><pre class="programlisting">int  xmlValidateNmtokenValue         (const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value)<br/>
-</pre><p>Validate that the given value match Nmtoken production [ VC: Name Token ]</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>value</tt></i>:</span></td><td>an Nmtoken value</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="xmlValidateNmtokensValue"/>xmlValidateNmtokensValue 
()</h3><pre class="programlisting">int        xmlValidateNmtokensValue        (const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value)<br/>
-</pre><p>Validate that the given value match Nmtokens production [ VC: Name Token ]</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>value</tt></i>:</span></td><td>an Nmtokens value</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="xmlValidateNotationDecl"/>xmlValidateNotationDecl 
()</h3><pre class="programlisting">int  xmlValidateNotationDecl         (<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#xmlNotationPtr">xmlNotationPtr</a> nota)<br/>
-</pre><p>Try to validate a single notation definition basically it does the following checks as described by 
the XML-1.0 recommendation: - it seems that no validity constraint exists on notation declarations But this 
function get called anyway ...</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 validation 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>nota</tt></i>:</span></td><td>a notation definition</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="xmlValidateNotationUse"/>xmlValidateNotationUse 
()</h3><pre class="programlisting">int    xmlValidateNotationUse          (<a 
href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br/>                                    
<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>                                  const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * notationName)<br/>
-</pre><p>Validate that the given name match a notation declaration. - [ VC: Notation Declared ]</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 validation context</td></tr><tr><td><span 
class="term"><i><tt>doc</tt></i>:</span></td><td>the document</td></tr><tr><td><span 
class="term"><i><tt>notationName</tt></i>:</span></td><td>the notation name to check</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="xmlValidateOneAttribute"/>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>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>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctxt</tt></i>:</span></td><td>the validation 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>elem</tt></i>:</span></td><td>an element instance</td></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></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></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="xmlValidateOneElement"/>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>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>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctxt</tt></i>:</span></td><td>the validation 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>elem</tt></i>:</span></td><td>an element 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="xmlValidateOneNamespace"/>xmlValidateOneNamespace 
()</h3><pre class="programlisting">int  xmlValidateOneNamespace         (<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> * prefix, <br/>                                      <a 
href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> ns, <br/>                                     const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value)<br/>
-</pre><p>Try to validate a single namespace declaration 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><tr><td><span 
class="term"><i><tt>ctxt</tt></i>:</span></td><td>the validation 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>elem</tt></i>:</span></td><td>an element instance</td></tr><tr><td><span 
class="term"><i><tt>prefix</tt></i>:</span></td><td>the namespace prefix</td></tr><tr><td><span 
class="term"><i><tt>ns</tt></i>:</span></td><td>an namespace declaration 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></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="xmlValidatePopElement"/>xmlValidatePopElement 
()</h3><pre class="programlisting">int      xmlValidatePopElement           (<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> * qname)<br/>
-</pre><p>Pop the element end from the validation 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>the validation 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>elem</tt></i>:</span></td><td>an element instance</td></tr><tr><td><span 
class="term"><i><tt>qname</tt></i>:</span></td><td>the qualified name as appearing in the 
serialization</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if no validation 
problem was found or 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlValidatePushCData"/>xmlValidatePushCData ()</h3><pre 
class="programlisting">int        xmlValidatePushCData            (<a 
href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br/>                                    
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * data, <br/>                                      
  int len)<br/>
-</pre><p>check the CData parsed for validation in the current 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>the validation context</td></tr><tr><td><span 
class="term"><i><tt>data</tt></i>:</span></td><td>some character data read</td></tr><tr><td><span 
class="term"><i><tt>len</tt></i>:</span></td><td>the length of the data</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if no validation problem was found or 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlValidatePushElement"/>xmlValidatePushElement 
()</h3><pre class="programlisting">int    xmlValidatePushElement          (<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> * qname)<br/>
-</pre><p>Push a new element start on the validation 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>the validation 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>elem</tt></i>:</span></td><td>an element instance</td></tr><tr><td><span 
class="term"><i><tt>qname</tt></i>:</span></td><td>the qualified name as appearing in the 
serialization</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if no validation 
problem was found or 0 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlValidateRoot"/>xmlValidateRoot ()</h3><pre 
class="programlisting">int  xmlValidateRoot                 (<a 
href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br/>                                    
<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br/>
-</pre><p>Try to validate a the root element basically it does the following check as described by the 
XML-1.0 recommendation: - [ VC: Root Element Type ] it doesn't try to recurse or apply other check to the 
element</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 validation 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>
-    </div>
-  </body>
+</pre>
+<p></p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlValidStatePtr">Typedef </a>xmlValidStatePtr</h3>
+<pre class="programlisting"><a href="libxml2-valid.html#xmlValidState">xmlValidState</a> * xmlValidStatePtr;
+</pre>
+<p></p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlValidityErrorFunc"></a>Function type xmlValidityErrorFunc</h3>
+<pre class="programlisting">void       xmlValidityErrorFunc            (void * ctx, <br>                     
                   const char * msg, <br>                                  ... ...)<br>
+</pre>
+<p>Callback called when a validity error is found. This is a message oriented function similar to an *printf 
function.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>usually an <a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> to a validity error context, 
but comes from ctxt-&gt;userData (which normally contains such a pointer); ctxt-&gt;userData can be changed 
by the user.</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>msg</tt></i>:</span></td>
+<td>the string to format *printf like vararg</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>...</tt></i>:</span></td>
+<td>remaining arguments to the format</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlValidityWarningFunc"></a>Function type xmlValidityWarningFunc</h3>
+<pre class="programlisting">void       xmlValidityWarningFunc          (void * ctx, <br>                     
                   const char * msg, <br>                                  ... ...)<br>
+</pre>
+<p>Callback called when a validity warning is found. This is a message oriented function similar to an 
*printf function.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>usually an <a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> to a validity error context, 
but comes from ctxt-&gt;userData (which normally contains such a pointer); ctxt-&gt;userData can be changed 
by the user.</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>msg</tt></i>:</span></td>
+<td>the string to format *printf like vararg</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>...</tt></i>:</span></td>
+<td>remaining arguments to the format</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the validation context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>dtd</tt></i>:</span></td>
+<td>pointer to the DTD</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>elem</tt></i>:</span></td>
+<td>the element name</td>
+</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>
+</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>
+</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>
+</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>
+</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>
+</tr>
+<tr>
+<td><span class="term"><i><tt>tree</tt></i>:</span></td>
+<td>if it's an enumeration, the associated list</td>
+</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>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the validation context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>dtd</tt></i>:</span></td>
+<td>pointer to the DTD</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the entity name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>type</tt></i>:</span></td>
+<td>the element type</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>content</tt></i>:</span></td>
+<td>the element content tree or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>NULL if not, otherwise the entity</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlAddID"></a>xmlAddID ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlIDPtr">xmlIDPtr</a>  xmlAddID                (<a 
href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br>                                     
<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>                                   const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br>                                        <a 
href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a> attr)<br>
+</pre>
+<p>Register a new id declaration</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 validation context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>doc</tt></i>:</span></td>
+<td>pointer to the document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>value</tt></i>:</span></td>
+<td>the value name</td>
+</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>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>NULL if not, otherwise the new <a href="libxml2-tree.html#xmlIDPtr">xmlIDPtr</a>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the validation context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>dtd</tt></i>:</span></td>
+<td>pointer to the DTD</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the entity name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>PublicID</tt></i>:</span></td>
+<td>the public identifier or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>SystemID</tt></i>:</span></td>
+<td>the system identifier or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>NULL if not, otherwise the entity</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlAddRef"></a>xmlAddRef ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlRefPtr">xmlRefPtr</a>        xmlAddRef             
  (<a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br>                                
     <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>                                   const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <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. Register a new ref 
declaration</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 validation context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>doc</tt></i>:</span></td>
+<td>pointer to the document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>value</tt></i>:</span></td>
+<td>the value name</td>
+</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>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>NULL if not, otherwise the new <a href="libxml2-tree.html#xmlRefPtr">xmlRefPtr</a>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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>
+<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>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the new <a href="libxml2-valid.html#xmlAttributeTablePtr">xmlAttributeTablePtr</a> or NULL in case of 
error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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>
+<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 owning the element declaration</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>An element content pointer.</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the new <a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> or NULL in case of 
error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>An element content pointer.</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the new <a href="libxml2-tree.html#xmlElementContentPtr">xmlElementContentPtr</a> or NULL in case of 
error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>table</tt></i>:</span></td>
+<td>An element table</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the new <a href="libxml2-valid.html#xmlElementTablePtr">xmlElementTablePtr</a> or NULL in case of 
error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>the tree to copy.</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the <a href="libxml2-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a> just created or NULL in case of 
error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>table</tt></i>:</span></td>
+<td>A notation table</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the new <a href="libxml2-valid.html#xmlNotationTablePtr">xmlNotationTablePtr</a> or NULL in case of 
error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the enumeration name or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the <a href="libxml2-tree.html#xmlEnumerationPtr">xmlEnumerationPtr</a> just created or NULL in case of 
error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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>This will dump the content of the <a href="libxml2-SAX.html#attribute">attribute</a> declaration as an 
XML DTD definition</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>buf</tt></i>:</span></td>
+<td>the XML buffer output</td>
+</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>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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>This will dump the content of the <a href="libxml2-SAX.html#attribute">attribute</a> table as an XML DTD 
definition</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>buf</tt></i>:</span></td>
+<td>the XML buffer output</td>
+</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>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlDumpElementDecl"></a>xmlDumpElementDecl ()</h3>
+<pre class="programlisting">void       xmlDumpElementDecl              (<a 
href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>                                     <a 
href="libxml2-tree.html#xmlElementPtr">xmlElementPtr</a> elem)<br>
+</pre>
+<p>This will dump the content of the element declaration as an XML DTD definition</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>buf</tt></i>:</span></td>
+<td>the XML buffer output</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>elem</tt></i>:</span></td>
+<td>An element table</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlDumpElementTable"></a>xmlDumpElementTable ()</h3>
+<pre class="programlisting">void       xmlDumpElementTable             (<a 
href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>                                     <a 
href="libxml2-valid.html#xmlElementTablePtr">xmlElementTablePtr</a> table)<br>
+</pre>
+<p>This will dump the content of the element table as an XML DTD definition</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>buf</tt></i>:</span></td>
+<td>the XML buffer output</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>table</tt></i>:</span></td>
+<td>An element table</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlDumpNotationDecl"></a>xmlDumpNotationDecl ()</h3>
+<pre class="programlisting">void       xmlDumpNotationDecl             (<a 
href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>                                     <a 
href="libxml2-tree.html#xmlNotationPtr">xmlNotationPtr</a> nota)<br>
+</pre>
+<p>This will dump the content the notation declaration as an XML DTD definition</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>buf</tt></i>:</span></td>
+<td>the XML buffer output</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>nota</tt></i>:</span></td>
+<td>A notation declaration</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlDumpNotationTable"></a>xmlDumpNotationTable ()</h3>
+<pre class="programlisting">void       xmlDumpNotationTable            (<a 
href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>                                     <a 
href="libxml2-valid.html#xmlNotationTablePtr">xmlNotationTablePtr</a> table)<br>
+</pre>
+<p>This will dump the content of the notation table as an XML DTD definition</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>buf</tt></i>:</span></td>
+<td>the XML buffer output</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>table</tt></i>:</span></td>
+<td>A notation table</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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>
+<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>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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>
+<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 owning the element declaration</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>the element content tree to free</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>the element content tree to free</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>table</tt></i>:</span></td>
+<td>An element table</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>the tree to free.</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlFreeIDTable"></a>xmlFreeIDTable ()</h3>
+<pre class="programlisting">void       xmlFreeIDTable                  (<a 
href="libxml2-valid.html#xmlIDTablePtr">xmlIDTablePtr</a> table)<br>
+</pre>
+<p>Deallocate the memory used by an ID 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 id table</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>table</tt></i>:</span></td>
+<td>An notation table</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlFreeRefTable"></a>xmlFreeRefTable ()</h3>
+<pre class="programlisting">void       xmlFreeRefTable                 (<a 
href="libxml2-valid.html#xmlRefTablePtr">xmlRefTablePtr</a> table)<br>
+</pre>
+<p>DEPRECATED, do not use. This function will be removed from the public API. Deallocate the memory used by 
an Ref 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 ref table</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlFreeValidCtxt"></a>xmlFreeValidCtxt ()</h3>
+<pre class="programlisting">void       xmlFreeValidCtxt                (<a 
href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> cur)<br>
+</pre>
+<p>Free a validation context structure.</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 validation context to free</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>dtd</tt></i>:</span></td>
+<td>a pointer to the DtD to search</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>elem</tt></i>:</span></td>
+<td>the element name</td>
+</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>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the <a href="libxml2-tree.html#xmlAttributePtr">xmlAttributePtr</a> if found or NULL</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlGetDtdElementDesc"></a>xmlGetDtdElementDesc ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlElementPtr">xmlElementPtr</a>        
xmlGetDtdElementDesc    (<a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd, <br>                        
           const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
+</pre>
+<p>Search the DTD for the description of this element</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>dtd</tt></i>:</span></td>
+<td>a pointer to the DtD to search</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the element name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the <a href="libxml2-tree.html#xmlElementPtr">xmlElementPtr</a> if found or NULL</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlGetDtdNotationDesc"></a>xmlGetDtdNotationDesc ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlNotationPtr">xmlNotationPtr</a>      
xmlGetDtdNotationDesc   (<a href="libxml2-tree.html#xmlDtdPtr">xmlDtdPtr</a> dtd, <br>                        
           const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
+</pre>
+<p>Search the DTD for the description of this notation</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>dtd</tt></i>:</span></td>
+<td>a pointer to the DtD to search</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the notation name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the <a href="libxml2-tree.html#xmlNotationPtr">xmlNotationPtr</a> if found or NULL</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>dtd</tt></i>:</span></td>
+<td>a pointer to the DtD to search</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>elem</tt></i>:</span></td>
+<td>the element name</td>
+</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>
+</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>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the <a href="libxml2-tree.html#xmlAttributePtr">xmlAttributePtr</a> if found or NULL</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlGetDtdQElementDesc"></a>xmlGetDtdQElementDesc ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlElementPtr">xmlElementPtr</a>        
xmlGetDtdQElementDesc   (<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> * prefix)<br>
+</pre>
+<p>Search the DTD for the description of this element</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>dtd</tt></i>:</span></td>
+<td>a pointer to the DtD to search</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the element name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>prefix</tt></i>:</span></td>
+<td>the element namespace prefix</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the <a href="libxml2-tree.html#xmlElementPtr">xmlElementPtr</a> if found or NULL</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>doc</tt></i>:</span></td>
+<td>pointer to the document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ID</tt></i>:</span></td>
+<td>the ID value</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>NULL if not found, otherwise the <a href="libxml2-tree.html#xmlAttrPtr">xmlAttrPtr</a> defining the 
ID</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlGetRefs"></a>xmlGetRefs ()</h3>
+<pre class="programlisting"><a href="libxml2-list.html#xmlListPtr">xmlListPtr</a>      xmlGetRefs            
  (<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>                                   const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ID)<br>
+</pre>
+<p>DEPRECATED, do not use. This function will be removed from the public API. Find the set of references for 
the supplied ID.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>doc</tt></i>:</span></td>
+<td>pointer to the document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ID</tt></i>:</span></td>
+<td>the ID value</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>NULL if not found, otherwise node set for the ID.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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>
+<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</td>
+</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>
+</tr>
+<tr>
+<td><span class="term"><i><tt>attr</tt></i>:</span></td>
+<td>the <a href="libxml2-SAX.html#attribute">attribute</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 or 1 depending on the lookup result</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlIsMixedElement"></a>xmlIsMixedElement ()</h3>
+<pre class="programlisting">int        xmlIsMixedElement               (<a 
href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>                                   const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
+</pre>
+<p>Search in the DtDs whether an element accept Mixed content (or ANY) basically if it is supposed to accept 
text childs</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</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the element name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 if no, 1 if yes, and -1 if no element description is available</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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>
+<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</td>
+</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>
+</tr>
+<tr>
+<td><span class="term"><i><tt>attr</tt></i>:</span></td>
+<td>the <a href="libxml2-SAX.html#attribute">attribute</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 or 1 depending on the lookup result</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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>
+<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</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the subelement name or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>type</tt></i>:</span></td>
+<td>the type of element content decl</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>NULL if not, otherwise the new element content structure</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the subelement name or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>type</tt></i>:</span></td>
+<td>the type of element content decl</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>NULL if not, otherwise the new element content structure</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNewValidCtxt"></a>xmlNewValidCtxt ()</h3>
+<pre class="programlisting"><a href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a>   
xmlNewValidCtxt         (void)<br>
+</pre>
+<p>Allocate a validation context structure.</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 if not, otherwise the new validation context structure</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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>
+<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</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>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>-1 if the lookup failed and 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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>
+<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</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>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>-1 if the lookup failed and 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>buf</tt></i>:</span></td>
+<td>an output buffer</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>size</tt></i>:</span></td>
+<td>the buffer size</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>content</tt></i>:</span></td>
+<td>An element table</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>englob</tt></i>:</span></td>
+<td>1 if one must print the englobing parenthesis, 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>buf</tt></i>:</span></td>
+<td>an output buffer</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>content</tt></i>:</span></td>
+<td>An element table</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>englob</tt></i>:</span></td>
+<td>1 if one must print the englobing parenthesis, 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlValidBuildContentModel"></a>xmlValidBuildContentModel ()</h3>
+<pre class="programlisting">int        xmlValidBuildContentModel       (<a 
href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br>                                     
<a href="libxml2-tree.html#xmlElementPtr">xmlElementPtr</a> elem)<br>
+</pre>
+<p>(Re)Build the automata associated to the content model of this element</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 validation context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>elem</tt></i>:</span></td>
+<td>an element declaration node</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 in case of success, 0 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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>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>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the validation context or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>doc</tt></i>:</span></td>
+<td>the document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>elem</tt></i>:</span></td>
+<td>the parent</td>
+</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>
+</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>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a new normalized string if normalization is needed, NULL otherwise the caller must free the returned 
value.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlValidGetPotentialChildren"></a>xmlValidGetPotentialChildren ()</h3>
+<pre class="programlisting">int        xmlValidGetPotentialChildren    (<a 
href="libxml2-tree.html#xmlElementContent">xmlElementContent</a> * ctree, <br>                                
       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** names, <br>                              
         int * len, <br>                                         int max)<br>
+</pre>
+<p>Build/extend a list of potential children allowed by the content tree</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctree</tt></i>:</span></td>
+<td>an element content tree</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>names</tt></i>:</span></td>
+<td>an array to store the list of child names</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>len</tt></i>:</span></td>
+<td>a pointer to the number of element in the list</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>max</tt></i>:</span></td>
+<td>the size of the array</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the number of element in the list, or -1 in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlValidGetValidElements"></a>xmlValidGetValidElements ()</h3>
+<pre class="programlisting">int        xmlValidGetValidElements        (<a 
href="libxml2-tree.html#xmlNode">xmlNode</a> * prev, <br>                                    <a 
href="libxml2-tree.html#xmlNode">xmlNode</a> * next, <br>                                    const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** names, <br>                                       int 
max)<br>
+</pre>
+<p>This function returns the list of authorized children to insert within an existing tree while respecting 
the validity constraints forced by the Dtd. The insertion point is defined using @prev and @next in the 
following ways: to insert before 'node': xmlValidGetValidElements(node-&gt;prev, node, ... to insert next 
'node': xmlValidGetValidElements(node, node-&gt;next, ... to replace 'node': 
xmlValidGetValidElements(node-&gt;prev, node-&gt;next, ... to prepend a child to 'node': 
xmlValidGetValidElements(NULL, node-&gt;childs, to append a child to 'node': 
xmlValidGetValidElements(node-&gt;last, NULL, ... pointers to the element names are inserted at the beginning 
of the array and do not need to be freed.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>prev</tt></i>:</span></td>
+<td>an element to insert after</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>next</tt></i>:</span></td>
+<td>an element to insert next</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>names</tt></i>:</span></td>
+<td>an array to store the list of child names</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>max</tt></i>:</span></td>
+<td>the size of the array</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the number of element in the list, or -1 in case of error. If the function returns the value @max the 
caller is invited to grow the receiving array and retry.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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>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>
+<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</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>elem</tt></i>:</span></td>
+<td>the parent</td>
+</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>
+</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>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a new normalized string if normalization is needed, NULL otherwise the caller must free the returned 
value.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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>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>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the validation 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>attr</tt></i>:</span></td>
+<td>an <a href="libxml2-SAX.html#attribute">attribute</a> definition</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="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>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>
+<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>
+</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>
+</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="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>
+<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>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the validation 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="xmlValidateDocumentFinal"></a>xmlValidateDocumentFinal ()</h3>
+<pre class="programlisting">int        xmlValidateDocumentFinal        (<a 
href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br>                                     
<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br>
+</pre>
+<p>Does the final step for the document validation once all the incremental validation steps have been 
completed basically it does the following checks described by the XML Rec Check all the IDREF/IDREFS 
attributes definition for validity</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 validation 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="xmlValidateDtd"></a>xmlValidateDtd ()</h3>
+<pre class="programlisting">int        xmlValidateDtd                  (<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)<br>
+</pre>
+<p>Try to validate the document against the dtd instance Basically it does check all the definitions in the 
DtD. Note the the internal subset (if present) is de-coupled (i.e. not used), which could give problems if ID 
or IDREF is present.</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 validation 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="xmlValidateDtdFinal"></a>xmlValidateDtdFinal ()</h3>
+<pre class="programlisting">int        xmlValidateDtdFinal             (<a 
href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br>                                     
<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br>
+</pre>
+<p>Does the final step for the dtds validation once all the subsets have been parsed basically it does the 
following checks described by the XML Rec - check that ENTITY and ENTITIES type attributes default or 
possible values matches one of the defined entities. - check that NOTATION type attributes default or 
possible values matches one of the defined notations.</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 validation 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 if invalid and -1 if not well-formed</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlValidateElement"></a>xmlValidateElement ()</h3>
+<pre class="programlisting">int        xmlValidateElement              (<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>Try to validate the subtree under an element</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 validation 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>elem</tt></i>:</span></td>
+<td>an element 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="xmlValidateElementDecl"></a>xmlValidateElementDecl ()</h3>
+<pre class="programlisting">int        xmlValidateElementDecl          (<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#xmlElementPtr">xmlElementPtr</a> elem)<br>
+</pre>
+<p>Try to validate a single element definition basically it does the following checks as described by the 
XML-1.0 recommendation: - [ VC: One ID per Element Type ] - [ VC: No Duplicate Types ] - [ VC: Unique Element 
Type Declaration ]</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 validation 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>elem</tt></i>:</span></td>
+<td>an element definition</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="xmlValidateNameValue"></a>xmlValidateNameValue ()</h3>
+<pre class="programlisting">int        xmlValidateNameValue            (const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value)<br>
+</pre>
+<p>Validate that the given value match Name production</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>value</tt></i>:</span></td>
+<td>an Name value</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="xmlValidateNamesValue"></a>xmlValidateNamesValue ()</h3>
+<pre class="programlisting">int        xmlValidateNamesValue           (const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value)<br>
+</pre>
+<p>Validate that the given value match Names production</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>value</tt></i>:</span></td>
+<td>an Names value</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="xmlValidateNmtokenValue"></a>xmlValidateNmtokenValue ()</h3>
+<pre class="programlisting">int        xmlValidateNmtokenValue         (const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value)<br>
+</pre>
+<p>Validate that the given value match Nmtoken production [ VC: Name Token ]</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>value</tt></i>:</span></td>
+<td>an Nmtoken value</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="xmlValidateNmtokensValue"></a>xmlValidateNmtokensValue ()</h3>
+<pre class="programlisting">int        xmlValidateNmtokensValue        (const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value)<br>
+</pre>
+<p>Validate that the given value match Nmtokens production [ VC: Name Token ]</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>value</tt></i>:</span></td>
+<td>an Nmtokens value</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="xmlValidateNotationDecl"></a>xmlValidateNotationDecl ()</h3>
+<pre class="programlisting">int        xmlValidateNotationDecl         (<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#xmlNotationPtr">xmlNotationPtr</a> nota)<br>
+</pre>
+<p>Try to validate a single notation definition basically it does the following checks as described by the 
XML-1.0 recommendation: - it seems that no validity constraint exists on notation declarations But this 
function get called anyway ...</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 validation 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>nota</tt></i>:</span></td>
+<td>a notation definition</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="xmlValidateNotationUse"></a>xmlValidateNotationUse ()</h3>
+<pre class="programlisting">int        xmlValidateNotationUse          (<a 
href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br>                                     
<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>                                   const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * notationName)<br>
+</pre>
+<p>Validate that the given name match a notation declaration. - [ VC: Notation Declared ]</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 validation context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>doc</tt></i>:</span></td>
+<td>the document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>notationName</tt></i>:</span></td>
+<td>the notation name to check</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="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>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>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the validation 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>elem</tt></i>:</span></td>
+<td>an element instance</td>
+</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>
+</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>
+</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="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>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>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the validation 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>elem</tt></i>:</span></td>
+<td>an element 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="xmlValidateOneNamespace"></a>xmlValidateOneNamespace ()</h3>
+<pre class="programlisting">int        xmlValidateOneNamespace         (<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> * prefix, <br>                                       <a 
href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> ns, <br>                                      const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value)<br>
+</pre>
+<p>Try to validate a single namespace declaration 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>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the validation 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>elem</tt></i>:</span></td>
+<td>an element instance</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>prefix</tt></i>:</span></td>
+<td>the namespace prefix</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ns</tt></i>:</span></td>
+<td>an namespace declaration 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>
+</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="xmlValidatePopElement"></a>xmlValidatePopElement ()</h3>
+<pre class="programlisting">int        xmlValidatePopElement           (<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> * qname)<br>
+</pre>
+<p>Pop the element end from the validation 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>the validation 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>elem</tt></i>:</span></td>
+<td>an element instance</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>qname</tt></i>:</span></td>
+<td>the qualified name as appearing in the serialization</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if no validation problem was found or 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlValidatePushCData"></a>xmlValidatePushCData ()</h3>
+<pre class="programlisting">int        xmlValidatePushCData            (<a 
href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br>                                     
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * data, <br>                                       
  int len)<br>
+</pre>
+<p>check the CData parsed for validation in the current 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>the validation context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>data</tt></i>:</span></td>
+<td>some character data read</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>len</tt></i>:</span></td>
+<td>the length of the data</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if no validation problem was found or 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlValidatePushElement"></a>xmlValidatePushElement ()</h3>
+<pre class="programlisting">int        xmlValidatePushElement          (<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> * qname)<br>
+</pre>
+<p>Push a new element start on the validation 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>the validation 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>elem</tt></i>:</span></td>
+<td>an element instance</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>qname</tt></i>:</span></td>
+<td>the qualified name as appearing in the serialization</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if no validation problem was found or 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlValidateRoot"></a>xmlValidateRoot ()</h3>
+<pre class="programlisting">int        xmlValidateRoot                 (<a 
href="libxml2-valid.html#xmlValidCtxtPtr">xmlValidCtxtPtr</a> ctxt, <br>                                     
<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br>
+</pre>
+<p>Try to validate a the root element basically it does the following check as described by the XML-1.0 
recommendation: - [ VC: Root Element Type ] it doesn't try to recurse or apply other check to the element</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 validation 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>
+</div>
+</body>
 </html>
diff --git a/doc/devhelp/libxml2-xinclude.html b/doc/devhelp/libxml2-xinclude.html
index 779cc002..6b958266 100644
--- a/doc/devhelp/libxml2-xinclude.html
+++ b/doc/devhelp/libxml2-xinclude.html
@@ -1,49 +1,28 @@
-<?xml version="1.0" encoding="UTF-8"?>
 <html>
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
-    <title>xinclude: implementation of XInclude</title>
-    <meta name="generator" content="Libxml2 devhelp stylesheet"/>
-    <link rel="start" href="index.html" title="libxml2 Reference Manual"/>
-    <link rel="up" href="general.html" title="API"/>
-    <link rel="stylesheet" href="style.css" type="text/css"/>
-    <link rel="chapter" href="general.html" title="API"/>
-  </head>
-  <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-    <table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
-      <tr valign="middle">
-        <td>
-          <a accesskey="p" href="libxml2-valid.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-xlink.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">xinclude</span>
-    </h2>
-    <p>xinclude - implementation of XInclude</p>
-    <p>API to handle XInclude processing, implements the World Wide Web Consortium Last Call Working Draft 
10 November 2003</p>
-    <p>Author(s): Daniel Veillard </p>
-    <div class="refsynopsisdiv">
-      <h2>Synopsis</h2>
-      <pre class="synopsis">#define <a href="#XINCLUDE_FALLBACK">XINCLUDE_FALLBACK</a>;
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>xinclude: implementation of XInclude</title>
+<meta name="generator" content="Libxml2 devhelp stylesheet">
+<link rel="start" href="index.html" title="libxml2 Reference Manual">
+<link rel="up" href="general.html" title="API">
+<link rel="stylesheet" href="style.css" type="text/css">
+<link rel="chapter" href="general.html" title="API">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr 
valign="middle">
+<td><a accesskey="p" href="libxml2-valid.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-xlink.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">xinclude</span></h2>
+<p>xinclude - implementation of XInclude</p>
+<p>API to handle XInclude processing, implements the World Wide Web Consortium Last Call Working Draft 10 
November 2003</p>
+<p>Author(s): Daniel Veillard </p>
+<div class="refsynopsisdiv">
+<h2>Synopsis</h2>
+<pre class="synopsis">#define <a href="#XINCLUDE_FALLBACK">XINCLUDE_FALLBACK</a>;
 #define <a href="#XINCLUDE_HREF">XINCLUDE_HREF</a>;
 #define <a href="#XINCLUDE_NODE">XINCLUDE_NODE</a>;
 #define <a href="#XINCLUDE_NS">XINCLUDE_NS</a>;
@@ -58,112 +37,354 @@ typedef <a href="libxml2-xinclude.html#xmlXIncludeCtxt">xmlXIncludeCtxt</a> * <a
 void   <a href="#xmlXIncludeFreeContext">xmlXIncludeFreeContext</a>            (<a 
href="libxml2-xinclude.html#xmlXIncludeCtxtPtr">xmlXIncludeCtxtPtr</a> ctxt);
 <a href="libxml2-xinclude.html#xmlXIncludeCtxtPtr">xmlXIncludeCtxtPtr</a>      <a 
href="#xmlXIncludeNewContext">xmlXIncludeNewContext</a>      (<a 
href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc);
 int    <a href="#xmlXIncludeProcess">xmlXIncludeProcess</a>            (<a 
href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc);
-int    <a href="#xmlXIncludeProcessFlags">xmlXIncludeProcessFlags</a>          (<a 
href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>                                  int flags);
-int    <a href="#xmlXIncludeProcessFlagsData">xmlXIncludeProcessFlagsData</a>  (<a 
href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>                                  int flags, <br/> 
                                       void * data);
-int    <a href="#xmlXIncludeProcessNode">xmlXIncludeProcessNode</a>            (<a 
href="libxml2-xinclude.html#xmlXIncludeCtxtPtr">xmlXIncludeCtxtPtr</a> ctxt, <br/>                            
       <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node);
+int    <a href="#xmlXIncludeProcessFlags">xmlXIncludeProcessFlags</a>          (<a 
href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>                                   int flags);
+int    <a href="#xmlXIncludeProcessFlagsData">xmlXIncludeProcessFlagsData</a>  (<a 
href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>                                   int flags, <br>  
                                       void * data);
+int    <a href="#xmlXIncludeProcessNode">xmlXIncludeProcessNode</a>            (<a 
href="libxml2-xinclude.html#xmlXIncludeCtxtPtr">xmlXIncludeCtxtPtr</a> ctxt, <br>                             
       <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node);
 int    <a href="#xmlXIncludeProcessTree">xmlXIncludeProcessTree</a>            (<a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> tree);
-int    <a href="#xmlXIncludeProcessTreeFlags">xmlXIncludeProcessTreeFlags</a>  (<a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> tree, <br/>                                       int 
flags);
-int    <a href="#xmlXIncludeProcessTreeFlagsData">xmlXIncludeProcessTreeFlagsData</a>  (<a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> tree, <br/>                                       int 
flags, <br/>                                        void * data);
-int    <a href="#xmlXIncludeSetFlags">xmlXIncludeSetFlags</a>          (<a 
href="libxml2-xinclude.html#xmlXIncludeCtxtPtr">xmlXIncludeCtxtPtr</a> ctxt, <br/>                            
       int flags);
-</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="XINCLUDE_FALLBACK">Macro </a>XINCLUDE_FALLBACK</h3><pre 
class="programlisting">#define <a href="#XINCLUDE_FALLBACK">XINCLUDE_FALLBACK</a>;
-</pre><p>Macro defining "fallback"</p>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XINCLUDE_HREF">Macro </a>XINCLUDE_HREF</h3><pre 
class="programlisting">#define <a href="#XINCLUDE_HREF">XINCLUDE_HREF</a>;
-</pre><p>Macro defining "href"</p>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XINCLUDE_NODE">Macro </a>XINCLUDE_NODE</h3><pre 
class="programlisting">#define <a href="#XINCLUDE_NODE">XINCLUDE_NODE</a>;
-</pre><p>Macro defining "include"</p>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XINCLUDE_NS">Macro </a>XINCLUDE_NS</h3><pre 
class="programlisting">#define <a href="#XINCLUDE_NS">XINCLUDE_NS</a>;
-</pre><p>Macro defining the Xinclude namespace: http://www.w3.org/2003/XInclude</p>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XINCLUDE_OLD_NS">Macro </a>XINCLUDE_OLD_NS</h3><pre 
class="programlisting">#define <a href="#XINCLUDE_OLD_NS">XINCLUDE_OLD_NS</a>;
-</pre><p>Macro defining the draft Xinclude namespace: http://www.w3.org/2001/XInclude</p>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XINCLUDE_PARSE">Macro </a>XINCLUDE_PARSE</h3><pre 
class="programlisting">#define <a href="#XINCLUDE_PARSE">XINCLUDE_PARSE</a>;
-</pre><p>Macro defining "parse"</p>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XINCLUDE_PARSE_ENCODING">Macro 
</a>XINCLUDE_PARSE_ENCODING</h3><pre class="programlisting">#define <a 
href="#XINCLUDE_PARSE_ENCODING">XINCLUDE_PARSE_ENCODING</a>;
-</pre><p>Macro defining "encoding"</p>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XINCLUDE_PARSE_TEXT">Macro 
</a>XINCLUDE_PARSE_TEXT</h3><pre class="programlisting">#define <a 
href="#XINCLUDE_PARSE_TEXT">XINCLUDE_PARSE_TEXT</a>;
-</pre><p>Macro defining "text"</p>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XINCLUDE_PARSE_XML">Macro 
</a>XINCLUDE_PARSE_XML</h3><pre class="programlisting">#define <a 
href="#XINCLUDE_PARSE_XML">XINCLUDE_PARSE_XML</a>;
-</pre><p>Macro defining "xml"</p>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XINCLUDE_PARSE_XPOINTER">Macro 
</a>XINCLUDE_PARSE_XPOINTER</h3><pre class="programlisting">#define <a 
href="#XINCLUDE_PARSE_XPOINTER">XINCLUDE_PARSE_XPOINTER</a>;
-</pre><p>Macro defining "xpointer"</p>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXIncludeCtxt">Structure </a>xmlXIncludeCtxt</h3><pre 
class="programlisting">struct _xmlXIncludeCtxt {
+int    <a href="#xmlXIncludeProcessTreeFlags">xmlXIncludeProcessTreeFlags</a>  (<a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> tree, <br>                                        int 
flags);
+int    <a href="#xmlXIncludeProcessTreeFlagsData">xmlXIncludeProcessTreeFlagsData</a>  (<a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> tree, <br>                                        int 
flags, <br>                                         void * data);
+int    <a href="#xmlXIncludeSetFlags">xmlXIncludeSetFlags</a>          (<a 
href="libxml2-xinclude.html#xmlXIncludeCtxtPtr">xmlXIncludeCtxtPtr</a> ctxt, <br>                             
       int flags);
+</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="XINCLUDE_FALLBACK">Macro </a>XINCLUDE_FALLBACK</h3>
+<pre class="programlisting">#define <a href="#XINCLUDE_FALLBACK">XINCLUDE_FALLBACK</a>;
+</pre>
+<p>Macro defining "fallback"</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XINCLUDE_HREF">Macro </a>XINCLUDE_HREF</h3>
+<pre class="programlisting">#define <a href="#XINCLUDE_HREF">XINCLUDE_HREF</a>;
+</pre>
+<p>Macro defining "href"</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XINCLUDE_NODE">Macro </a>XINCLUDE_NODE</h3>
+<pre class="programlisting">#define <a href="#XINCLUDE_NODE">XINCLUDE_NODE</a>;
+</pre>
+<p>Macro defining "include"</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XINCLUDE_NS">Macro </a>XINCLUDE_NS</h3>
+<pre class="programlisting">#define <a href="#XINCLUDE_NS">XINCLUDE_NS</a>;
+</pre>
+<p>Macro defining the Xinclude namespace: http://www.w3.org/2003/XInclude</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XINCLUDE_OLD_NS">Macro </a>XINCLUDE_OLD_NS</h3>
+<pre class="programlisting">#define <a href="#XINCLUDE_OLD_NS">XINCLUDE_OLD_NS</a>;
+</pre>
+<p>Macro defining the draft Xinclude namespace: http://www.w3.org/2001/XInclude</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XINCLUDE_PARSE">Macro </a>XINCLUDE_PARSE</h3>
+<pre class="programlisting">#define <a href="#XINCLUDE_PARSE">XINCLUDE_PARSE</a>;
+</pre>
+<p>Macro defining "parse"</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XINCLUDE_PARSE_ENCODING">Macro </a>XINCLUDE_PARSE_ENCODING</h3>
+<pre class="programlisting">#define <a href="#XINCLUDE_PARSE_ENCODING">XINCLUDE_PARSE_ENCODING</a>;
+</pre>
+<p>Macro defining "encoding"</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XINCLUDE_PARSE_TEXT">Macro </a>XINCLUDE_PARSE_TEXT</h3>
+<pre class="programlisting">#define <a href="#XINCLUDE_PARSE_TEXT">XINCLUDE_PARSE_TEXT</a>;
+</pre>
+<p>Macro defining "text"</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XINCLUDE_PARSE_XML">Macro </a>XINCLUDE_PARSE_XML</h3>
+<pre class="programlisting">#define <a href="#XINCLUDE_PARSE_XML">XINCLUDE_PARSE_XML</a>;
+</pre>
+<p>Macro defining "xml"</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XINCLUDE_PARSE_XPOINTER">Macro </a>XINCLUDE_PARSE_XPOINTER</h3>
+<pre class="programlisting">#define <a href="#XINCLUDE_PARSE_XPOINTER">XINCLUDE_PARSE_XPOINTER</a>;
+</pre>
+<p>Macro defining "xpointer"</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXIncludeCtxt">Structure </a>xmlXIncludeCtxt</h3>
+<pre class="programlisting">struct _xmlXIncludeCtxt {
 The content of this structure is not made public by the API.
 } xmlXIncludeCtxt;
-</pre><p/>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXIncludeCtxtPtr">Typedef 
</a>xmlXIncludeCtxtPtr</h3><pre class="programlisting"><a 
href="libxml2-xinclude.html#xmlXIncludeCtxt">xmlXIncludeCtxt</a> * xmlXIncludeCtxtPtr;
-</pre><p/>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXIncludeFreeContext"/>xmlXIncludeFreeContext 
()</h3><pre class="programlisting">void   xmlXIncludeFreeContext          (<a 
href="libxml2-xinclude.html#xmlXIncludeCtxtPtr">xmlXIncludeCtxtPtr</a> ctxt)<br/>
-</pre><p>Free an XInclude 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 XInclude context</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXIncludeNewContext"/>xmlXIncludeNewContext 
()</h3><pre class="programlisting"><a href="libxml2-xinclude.html#xmlXIncludeCtxtPtr">xmlXIncludeCtxtPtr</a>  
      xmlXIncludeNewContext   (<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br/>
-</pre><p>Creates a new XInclude context</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>doc</tt></i>:</span></td><td>an XML Document</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the new set</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXIncludeProcess"/>xmlXIncludeProcess ()</h3><pre 
class="programlisting">int    xmlXIncludeProcess              (<a 
href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br/>
-</pre><p>Implement the XInclude substitution on the XML document @doc</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>doc</tt></i>:</span></td><td>an XML document</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if no substitution were done, -1 if some processing 
failed or the number of substitutions done.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXIncludeProcessFlags"/>xmlXIncludeProcessFlags 
()</h3><pre class="programlisting">int  xmlXIncludeProcessFlags         (<a 
href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>                                  int flags)<br/>
-</pre><p>Implement the XInclude substitution on the XML document @doc</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>doc</tt></i>:</span></td><td>an XML document</td></tr><tr><td><span 
class="term"><i><tt>flags</tt></i>:</span></td><td>a set of <a 
href="libxml2-parser.html#xmlParserOption">xmlParserOption</a> used for parsing XML 
includes</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if no substitution 
were done, -1 if some processing failed or the number of substitutions 
done.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlXIncludeProcessFlagsData"/>xmlXIncludeProcessFlagsData ()</h3><pre class="programlisting">int  
xmlXIncludeProcessFlagsData     (<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>               
                   int flags, <br/>                                        void * data)<br/>
-</pre><p>Implement the XInclude substitution on the XML document @doc</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>doc</tt></i>:</span></td><td>an XML document</td></tr><tr><td><span 
class="term"><i><tt>flags</tt></i>:</span></td><td>a set of <a 
href="libxml2-parser.html#xmlParserOption">xmlParserOption</a> used for parsing XML 
includes</td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>application data that will 
be passed to the parser context in the _private field of the parser context(s)</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if no substitution were done, -1 if some processing 
failed or the number of substitutions done.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXIncludeProcessNode"/>xmlXIncludeProcessNode 
()</h3><pre class="programlisting">int    xmlXIncludeProcessNode          (<a 
href="libxml2-xinclude.html#xmlXIncludeCtxtPtr">xmlXIncludeCtxtPtr</a> ctxt, <br/>                            
       <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br/>
-</pre><p>Implement the XInclude substitution for the given subtree reusing the information and data coming 
from the given 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 existing XInclude context</td></tr><tr><td><span 
class="term"><i><tt>node</tt></i>:</span></td><td>a node in an XML document</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if no substitution were done, -1 if some processing 
failed or the number of substitutions done.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXIncludeProcessTree"/>xmlXIncludeProcessTree 
()</h3><pre class="programlisting">int    xmlXIncludeProcessTree          (<a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> tree)<br/>
-</pre><p>Implement the XInclude substitution for the given subtree</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>tree</tt></i>:</span></td><td>a node in an XML document</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if no substitution were done, -1 if some processing 
failed or the number of substitutions done.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlXIncludeProcessTreeFlags"/>xmlXIncludeProcessTreeFlags ()</h3><pre class="programlisting">int  
xmlXIncludeProcessTreeFlags     (<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> tree, <br/>            
                           int flags)<br/>
-</pre><p>Implement the XInclude substitution for the given subtree</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>tree</tt></i>:</span></td><td>a node in an XML document</td></tr><tr><td><span 
class="term"><i><tt>flags</tt></i>:</span></td><td>a set of <a 
href="libxml2-parser.html#xmlParserOption">xmlParserOption</a> used for parsing XML 
includes</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if no substitution 
were done, -1 if some processing failed or the number of substitutions 
done.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlXIncludeProcessTreeFlagsData"/>xmlXIncludeProcessTreeFlagsData ()</h3><pre 
class="programlisting">int  xmlXIncludeProcessTreeFlagsData (<a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> tree, <br/>                                       int 
flags, <br/>                                        void * data)<br/>
-</pre><p>Implement the XInclude substitution on the XML node @tree</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>tree</tt></i>:</span></td><td>an XML node</td></tr><tr><td><span 
class="term"><i><tt>flags</tt></i>:</span></td><td>a set of <a 
href="libxml2-parser.html#xmlParserOption">xmlParserOption</a> used for parsing XML 
includes</td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>application data that will 
be passed to the parser context in the _private field of the parser context(s)</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if no substitution were done, -1 if some processing 
failed or the number of substitutions done.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXIncludeSetFlags"/>xmlXIncludeSetFlags ()</h3><pre 
class="programlisting">int  xmlXIncludeSetFlags             (<a 
href="libxml2-xinclude.html#xmlXIncludeCtxtPtr">xmlXIncludeCtxtPtr</a> ctxt, <br/>                            
       int flags)<br/>
-</pre><p>Set the flags used for further processing of XML 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>an XInclude processing context</td></tr><tr><td><span 
class="term"><i><tt>flags</tt></i>:</span></td><td>a set of <a 
href="libxml2-parser.html#xmlParserOption">xmlParserOption</a> used for parsing XML 
includes</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success and 
-1 in case of error.</td></tr></tbody></table></div></div>
-        <hr/>
-      </div>
-    </div>
-  </body>
+</pre>
+<p></p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXIncludeCtxtPtr">Typedef </a>xmlXIncludeCtxtPtr</h3>
+<pre class="programlisting"><a href="libxml2-xinclude.html#xmlXIncludeCtxt">xmlXIncludeCtxt</a> * 
xmlXIncludeCtxtPtr;
+</pre>
+<p></p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXIncludeFreeContext"></a>xmlXIncludeFreeContext ()</h3>
+<pre class="programlisting">void       xmlXIncludeFreeContext          (<a 
href="libxml2-xinclude.html#xmlXIncludeCtxtPtr">xmlXIncludeCtxtPtr</a> ctxt)<br>
+</pre>
+<p>Free an XInclude 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 XInclude context</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXIncludeNewContext"></a>xmlXIncludeNewContext ()</h3>
+<pre class="programlisting"><a href="libxml2-xinclude.html#xmlXIncludeCtxtPtr">xmlXIncludeCtxtPtr</a>  
xmlXIncludeNewContext   (<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br>
+</pre>
+<p>Creates a new XInclude context</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>doc</tt></i>:</span></td>
+<td>an XML Document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the new set</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXIncludeProcess"></a>xmlXIncludeProcess ()</h3>
+<pre class="programlisting">int        xmlXIncludeProcess              (<a 
href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br>
+</pre>
+<p>Implement the XInclude substitution on the XML document @doc</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>doc</tt></i>:</span></td>
+<td>an XML document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 if no substitution were done, -1 if some processing failed or the number of substitutions done.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXIncludeProcessFlags"></a>xmlXIncludeProcessFlags ()</h3>
+<pre class="programlisting">int        xmlXIncludeProcessFlags         (<a 
href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>                                   int flags)<br>
+</pre>
+<p>Implement the XInclude substitution on the XML document @doc</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>doc</tt></i>:</span></td>
+<td>an XML document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>flags</tt></i>:</span></td>
+<td>a set of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a> used for parsing XML 
includes</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 if no substitution were done, -1 if some processing failed or the number of substitutions done.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXIncludeProcessFlagsData"></a>xmlXIncludeProcessFlagsData ()</h3>
+<pre class="programlisting">int        xmlXIncludeProcessFlagsData     (<a 
href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>                                   int flags, <br>  
                                       void * data)<br>
+</pre>
+<p>Implement the XInclude substitution on the XML document @doc</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>doc</tt></i>:</span></td>
+<td>an XML document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>flags</tt></i>:</span></td>
+<td>a set of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a> used for parsing XML 
includes</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>data</tt></i>:</span></td>
+<td>application data that will be passed to the parser context in the _private field of the parser 
context(s)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 if no substitution were done, -1 if some processing failed or the number of substitutions done.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXIncludeProcessNode"></a>xmlXIncludeProcessNode ()</h3>
+<pre class="programlisting">int        xmlXIncludeProcessNode          (<a 
href="libxml2-xinclude.html#xmlXIncludeCtxtPtr">xmlXIncludeCtxtPtr</a> ctxt, <br>                             
       <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br>
+</pre>
+<p>Implement the XInclude substitution for the given subtree reusing the information and data coming from 
the given 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 existing XInclude context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>node</tt></i>:</span></td>
+<td>a node in an XML document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 if no substitution were done, -1 if some processing failed or the number of substitutions done.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXIncludeProcessTree"></a>xmlXIncludeProcessTree ()</h3>
+<pre class="programlisting">int        xmlXIncludeProcessTree          (<a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> tree)<br>
+</pre>
+<p>Implement the XInclude substitution for the given subtree</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>tree</tt></i>:</span></td>
+<td>a node in an XML document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 if no substitution were done, -1 if some processing failed or the number of substitutions done.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXIncludeProcessTreeFlags"></a>xmlXIncludeProcessTreeFlags ()</h3>
+<pre class="programlisting">int        xmlXIncludeProcessTreeFlags     (<a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> tree, <br>                                        int 
flags)<br>
+</pre>
+<p>Implement the XInclude substitution for the given subtree</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>tree</tt></i>:</span></td>
+<td>a node in an XML document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>flags</tt></i>:</span></td>
+<td>a set of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a> used for parsing XML 
includes</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 if no substitution were done, -1 if some processing failed or the number of substitutions done.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXIncludeProcessTreeFlagsData"></a>xmlXIncludeProcessTreeFlagsData ()</h3>
+<pre class="programlisting">int        xmlXIncludeProcessTreeFlagsData (<a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> tree, <br>                                        int 
flags, <br>                                         void * data)<br>
+</pre>
+<p>Implement the XInclude substitution on the XML node @tree</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>tree</tt></i>:</span></td>
+<td>an XML node</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>flags</tt></i>:</span></td>
+<td>a set of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a> used for parsing XML 
includes</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>data</tt></i>:</span></td>
+<td>application data that will be passed to the parser context in the _private field of the parser 
context(s)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 if no substitution were done, -1 if some processing failed or the number of substitutions done.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXIncludeSetFlags"></a>xmlXIncludeSetFlags ()</h3>
+<pre class="programlisting">int        xmlXIncludeSetFlags             (<a 
href="libxml2-xinclude.html#xmlXIncludeCtxtPtr">xmlXIncludeCtxtPtr</a> ctxt, <br>                             
       int flags)<br>
+</pre>
+<p>Set the flags used for further processing of XML 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>an XInclude processing context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>flags</tt></i>:</span></td>
+<td>a set of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a> used for parsing XML 
includes</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 in case of success and -1 in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+</div>
+</div>
+</body>
 </html>
diff --git a/doc/devhelp/libxml2-xlink.html b/doc/devhelp/libxml2-xlink.html
index 7786f218..4162a9ad 100644
--- a/doc/devhelp/libxml2-xlink.html
+++ b/doc/devhelp/libxml2-xlink.html
@@ -1,49 +1,28 @@
-<?xml version="1.0" encoding="UTF-8"?>
 <html>
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
-    <title>xlink: unfinished XLink detection module</title>
-    <meta name="generator" content="Libxml2 devhelp stylesheet"/>
-    <link rel="start" href="index.html" title="libxml2 Reference Manual"/>
-    <link rel="up" href="general.html" title="API"/>
-    <link rel="stylesheet" href="style.css" type="text/css"/>
-    <link rel="chapter" href="general.html" title="API"/>
-  </head>
-  <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-    <table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
-      <tr valign="middle">
-        <td>
-          <a accesskey="p" href="libxml2-xinclude.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-xmlIO.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">xlink</span>
-    </h2>
-    <p>xlink - unfinished XLink detection module</p>
-    <p>unfinished XLink detection module </p>
-    <p>Author(s): Daniel Veillard </p>
-    <div class="refsynopsisdiv">
-      <h2>Synopsis</h2>
-      <pre class="synopsis">typedef enum <a href="#xlinkActuate">xlinkActuate</a>;
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>xlink: unfinished XLink detection module</title>
+<meta name="generator" content="Libxml2 devhelp stylesheet">
+<link rel="start" href="index.html" title="libxml2 Reference Manual">
+<link rel="up" href="general.html" title="API">
+<link rel="stylesheet" href="style.css" type="text/css">
+<link rel="chapter" href="general.html" title="API">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr 
valign="middle">
+<td><a accesskey="p" href="libxml2-xinclude.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-xmlIO.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">xlink</span></h2>
+<p>xlink - unfinished XLink detection module</p>
+<p>unfinished XLink detection module </p>
+<p>Author(s): Daniel Veillard </p>
+<div class="refsynopsisdiv">
+<h2>Synopsis</h2>
+<pre class="synopsis">typedef enum <a href="#xlinkActuate">xlinkActuate</a>;
 typedef <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * <a href="#xlinkHRef">xlinkHRef</a>;
 typedef struct _xlinkHandler <a href="#xlinkHandler">xlinkHandler</a>;
 typedef <a href="libxml2-xlink.html#xlinkHandler">xlinkHandler</a> * <a 
href="#xlinkHandlerPtr">xlinkHandlerPtr</a>;
@@ -51,110 +30,353 @@ typedef <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * <a href="#xlinkRo
 typedef enum <a href="#xlinkShow">xlinkShow</a>;
 typedef <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * <a href="#xlinkTitle">xlinkTitle</a>;
 typedef enum <a href="#xlinkType">xlinkType</a>;
-typedef void <a href="#xlinkExtendedLinkFunk">xlinkExtendedLinkFunk</a>                (void * ctx, <br/>    
                                   <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br/>          
                             int nbLocators, <br/>                                   const <a 
href="libxml2-xlink.html#xlinkHRef">xlinkHRef</a> * hrefs, <br/>                                       const 
<a href="libxml2-xlink.html#xlinkRole">xlinkRole</a> * roles, <br/>                                       int 
nbArcs, <br/>                                       const <a 
href="libxml2-xlink.html#xlinkRole">xlinkRole</a> * from, <br/>                                        const 
<a href="libxml2-xlink.html#xlinkRole">xlinkRole</a> * to, <br/>                                  <a 
href="libxml2-xlink.html#xlinkShow">xlinkShow</a> * show, <br/>                                      <a 
href="libxml2-xlink.html#xlinkActuate">xlinkActuate</a> * actuate, <br/>                                     
int nbTitles, <br/>                                     const <a 
href="libxml2-xlink.html#xlinkTitle">xlinkTitle</a> * titles, <br/>                                    const 
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** langs);
-typedef void <a href="#xlinkExtendedLinkSetFunk">xlinkExtendedLinkSetFunk</a>  (void * ctx, <br/>            
                           <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br/>                  
                     int nbLocators, <br/>                                   const <a 
href="libxml2-xlink.html#xlinkHRef">xlinkHRef</a> * hrefs, <br/>                                       const 
<a href="libxml2-xlink.html#xlinkRole">xlinkRole</a> * roles, <br/>                                       int 
nbTitles, <br/>                                     const <a 
href="libxml2-xlink.html#xlinkTitle">xlinkTitle</a> * titles, <br/>                                    const 
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** langs);
+typedef void <a href="#xlinkExtendedLinkFunk">xlinkExtendedLinkFunk</a>                (void * ctx, <br>     
                                   <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>           
                             int nbLocators, <br>                                    const <a 
href="libxml2-xlink.html#xlinkHRef">xlinkHRef</a> * hrefs, <br>                                        const 
<a href="libxml2-xlink.html#xlinkRole">xlinkRole</a> * roles, <br>                                        int 
nbArcs, <br>                                        const <a 
href="libxml2-xlink.html#xlinkRole">xlinkRole</a> * from, <br>                                         const 
<a href="libxml2-xlink.html#xlinkRole">xlinkRole</a> * to, <br>                                   <a 
href="libxml2-xlink.html#xlinkShow">xlinkShow</a> * show, <br>                                       <a 
href="libxml2-xlink.html#xlinkActuate">xlinkActuate</a> * actuate, <br>                                      
int nbTitles, <br>                                      const <a 
href="libxml2-xlink.html#xlinkTitle">xlinkTitle</a> * titles, <br>                                     const 
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** langs);
+typedef void <a href="#xlinkExtendedLinkSetFunk">xlinkExtendedLinkSetFunk</a>  (void * ctx, <br>             
                           <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>                   
                     int nbLocators, <br>                                    const <a 
href="libxml2-xlink.html#xlinkHRef">xlinkHRef</a> * hrefs, <br>                                        const 
<a href="libxml2-xlink.html#xlinkRole">xlinkRole</a> * roles, <br>                                        int 
nbTitles, <br>                                      const <a 
href="libxml2-xlink.html#xlinkTitle">xlinkTitle</a> * titles, <br>                                     const 
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** langs);
 <a href="libxml2-xlink.html#xlinkNodeDetectFunc">xlinkNodeDetectFunc</a>       <a 
href="#xlinkGetDefaultDetect">xlinkGetDefaultDetect</a>      (void);
 <a href="libxml2-xlink.html#xlinkHandlerPtr">xlinkHandlerPtr</a>       <a 
href="#xlinkGetDefaultHandler">xlinkGetDefaultHandler</a>    (void);
-<a href="libxml2-xlink.html#xlinkType">xlinkType</a>   <a href="#xlinkIsLink">xlinkIsLink</a>          (<a 
href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>                                  <a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node);
-typedef void <a href="#xlinkNodeDetectFunc">xlinkNodeDetectFunc</a>            (void * ctx, <br/>            
                           <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node);
+<a href="libxml2-xlink.html#xlinkType">xlinkType</a>   <a href="#xlinkIsLink">xlinkIsLink</a>          (<a 
href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>                                   <a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node);
+typedef void <a href="#xlinkNodeDetectFunc">xlinkNodeDetectFunc</a>            (void * ctx, <br>             
                           <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node);
 void   <a href="#xlinkSetDefaultDetect">xlinkSetDefaultDetect</a>              (<a 
href="libxml2-xlink.html#xlinkNodeDetectFunc">xlinkNodeDetectFunc</a> func);
 void   <a href="#xlinkSetDefaultHandler">xlinkSetDefaultHandler</a>            (<a 
href="libxml2-xlink.html#xlinkHandlerPtr">xlinkHandlerPtr</a> handler);
-typedef void <a href="#xlinkSimpleLinkFunk">xlinkSimpleLinkFunk</a>            (void * ctx, <br/>            
                           <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br/>                  
                     const <a href="libxml2-xlink.html#xlinkHRef">xlinkHRef</a> href, <br/>                   
               const <a href="libxml2-xlink.html#xlinkRole">xlinkRole</a> role, <br/>                         
         const <a href="libxml2-xlink.html#xlinkTitle">xlinkTitle</a> title);
-</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="xlinkActuate">Enum </a>xlinkActuate</h3><pre 
class="programlisting">enum <a href="#xlinkActuate">xlinkActuate</a> {
+typedef void <a href="#xlinkSimpleLinkFunk">xlinkSimpleLinkFunk</a>            (void * ctx, <br>             
                           <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>                   
                     const <a href="libxml2-xlink.html#xlinkHRef">xlinkHRef</a> href, <br>                    
               const <a href="libxml2-xlink.html#xlinkRole">xlinkRole</a> role, <br>                          
         const <a href="libxml2-xlink.html#xlinkTitle">xlinkTitle</a> title);
+</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="xlinkActuate">Enum </a>xlinkActuate</h3>
+<pre class="programlisting">enum <a href="#xlinkActuate">xlinkActuate</a> {
     <a name="XLINK_ACTUATE_NONE">XLINK_ACTUATE_NONE</a> = 0
     <a name="XLINK_ACTUATE_AUTO">XLINK_ACTUATE_AUTO</a> = 1
     <a name="XLINK_ACTUATE_ONREQUEST">XLINK_ACTUATE_ONREQUEST</a> = 2
 };
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xlinkHRef">Typedef </a>xlinkHRef</h3><pre 
class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * xlinkHRef;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xlinkHRef">Typedef </a>xlinkHRef</h3>
+<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * xlinkHRef;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xlinkHandler">Structure </a>xlinkHandler</h3><pre 
class="programlisting">struct _xlinkHandler {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xlinkHandler">Structure </a>xlinkHandler</h3>
+<pre class="programlisting">struct _xlinkHandler {
     <a href="libxml2-xlink.html#xlinkSimpleLinkFunk">xlinkSimpleLinkFunk</a>   simple
     <a href="libxml2-xlink.html#xlinkExtendedLinkFunk">xlinkExtendedLinkFunk</a>       extended
     <a href="libxml2-xlink.html#xlinkExtendedLinkSetFunk">xlinkExtendedLinkSetFunk</a> set
 } xlinkHandler;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xlinkHandlerPtr">Typedef </a>xlinkHandlerPtr</h3><pre 
class="programlisting"><a href="libxml2-xlink.html#xlinkHandler">xlinkHandler</a> * xlinkHandlerPtr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xlinkHandlerPtr">Typedef </a>xlinkHandlerPtr</h3>
+<pre class="programlisting"><a href="libxml2-xlink.html#xlinkHandler">xlinkHandler</a> * xlinkHandlerPtr;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xlinkRole">Typedef </a>xlinkRole</h3><pre 
class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * xlinkRole;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xlinkRole">Typedef </a>xlinkRole</h3>
+<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * xlinkRole;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xlinkShow">Enum </a>xlinkShow</h3><pre 
class="programlisting">enum <a href="#xlinkShow">xlinkShow</a> {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xlinkShow">Enum </a>xlinkShow</h3>
+<pre class="programlisting">enum <a href="#xlinkShow">xlinkShow</a> {
     <a name="XLINK_SHOW_NONE">XLINK_SHOW_NONE</a> = 0
     <a name="XLINK_SHOW_NEW">XLINK_SHOW_NEW</a> = 1
     <a name="XLINK_SHOW_EMBED">XLINK_SHOW_EMBED</a> = 2
     <a name="XLINK_SHOW_REPLACE">XLINK_SHOW_REPLACE</a> = 3
 };
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xlinkTitle">Typedef </a>xlinkTitle</h3><pre 
class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * xlinkTitle;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xlinkTitle">Typedef </a>xlinkTitle</h3>
+<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * xlinkTitle;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xlinkType">Enum </a>xlinkType</h3><pre 
class="programlisting">enum <a href="#xlinkType">xlinkType</a> {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xlinkType">Enum </a>xlinkType</h3>
+<pre class="programlisting">enum <a href="#xlinkType">xlinkType</a> {
     <a name="XLINK_TYPE_NONE">XLINK_TYPE_NONE</a> = 0
     <a name="XLINK_TYPE_SIMPLE">XLINK_TYPE_SIMPLE</a> = 1
     <a name="XLINK_TYPE_EXTENDED">XLINK_TYPE_EXTENDED</a> = 2
     <a name="XLINK_TYPE_EXTENDED_SET">XLINK_TYPE_EXTENDED_SET</a> = 3
 };
-</pre><p/>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xlinkExtendedLinkFunk"/>Function type 
xlinkExtendedLinkFunk</h3><pre class="programlisting">void  xlinkExtendedLinkFunk           (void * ctx, 
<br/>                                       <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br/> 
                                      int nbLocators, <br/>                                   const <a 
href="libxml2-xlink.html#xlinkHRef">xlinkHRef</a> * hrefs, <br/>                                       const 
<a href="libxml2-xlink.html#xlinkRole">xlinkRole</a> * roles, <br/>                                       int 
nbArcs, <br/>                                       const <a 
href="libxml2-xlink.html#xlinkRole">xlinkRole</a> * from, <br/>                                        const 
<a href="libxml2-xlink.html#xlinkRole">xlinkRole</a> * to, <br/>                                  <a 
href="libxml2-xlink.html#xlinkShow">xlinkShow</a> * show, <br/>                                      <a 
href="libxml2-xlink.html#xlinkActuate">xlinkActuate</a> * actuate, <br/>                                     
int nbTitles, <br/>                                     const <a 
href="libxml2-xlink.html#xlinkTitle">xlinkTitle</a> * titles, <br/>                                    const 
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** langs)<br/>
-</pre><p>This is the prototype for a extended link detection callback.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>user data pointer</td></tr><tr><td><span 
class="term"><i><tt>node</tt></i>:</span></td><td>the node carrying the link</td></tr><tr><td><span 
class="term"><i><tt>nbLocators</tt></i>:</span></td><td>the number of locators detected on the 
link</td></tr><tr><td><span class="term"><i><tt>hrefs</tt></i>:</span></td><td>pointer to the array of 
locator hrefs</td></tr><tr><td><span class="term"><i><tt>roles</tt></i>:</span></td><td>pointer to the array 
of locator roles</td></tr><tr><td><span class="term"><i><tt>nbArcs</tt></i>:</span></td><td>the number of 
arcs detected on the link</td></tr><tr><td><span class="term"><i><tt>from</tt></i>:</span></td><td>pointer to 
the array of source roles found on the arcs</td></tr><tr><td><span 
class="term"><i><tt>to</tt></i>:</span></td><td>pointer to the array of target roles found on the 
arcs</td></tr><tr><td><span class="
 term"><i><tt>show</tt></i>:</span></td><td>array of values for the show attributes found on the 
arcs</td></tr><tr><td><span class="term"><i><tt>actuate</tt></i>:</span></td><td>array of values for the 
actuate attributes found on the arcs</td></tr><tr><td><span 
class="term"><i><tt>nbTitles</tt></i>:</span></td><td>the number of titles detected on the 
link</td></tr><tr><td><span class="term"><i><tt>titles</tt></i>:</span></td><td/></tr><tr><td><span 
class="term"><i><tt>langs</tt></i>:</span></td><td>array of xml:lang values for the 
titles</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xlinkExtendedLinkSetFunk"/>Function type 
xlinkExtendedLinkSetFunk</h3><pre class="programlisting">void    xlinkExtendedLinkSetFunk        (void * ctx, 
<br/>                                       <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br/> 
                                      int nbLocators, <br/>                                   const <a 
href="libxml2-xlink.html#xlinkHRef">xlinkHRef</a> * hrefs, <br/>                                       const 
<a href="libxml2-xlink.html#xlinkRole">xlinkRole</a> * roles, <br/>                                       int 
nbTitles, <br/>                                     const <a 
href="libxml2-xlink.html#xlinkTitle">xlinkTitle</a> * titles, <br/>                                    const 
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** langs)<br/>
-</pre><p>This is the prototype for a extended link set detection callback.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>user data pointer</td></tr><tr><td><span 
class="term"><i><tt>node</tt></i>:</span></td><td>the node carrying the link</td></tr><tr><td><span 
class="term"><i><tt>nbLocators</tt></i>:</span></td><td>the number of locators detected on the 
link</td></tr><tr><td><span class="term"><i><tt>hrefs</tt></i>:</span></td><td>pointer to the array of 
locator hrefs</td></tr><tr><td><span class="term"><i><tt>roles</tt></i>:</span></td><td>pointer to the array 
of locator roles</td></tr><tr><td><span class="term"><i><tt>nbTitles</tt></i>:</span></td><td>the number of 
titles detected on the link</td></tr><tr><td><span 
class="term"><i><tt>titles</tt></i>:</span></td><td/></tr><tr><td><span 
class="term"><i><tt>langs</tt></i>:</span></td><td>array of xml:lang values for the 
titles</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xlinkNodeDetectFunc"/>Function type 
xlinkNodeDetectFunc</h3><pre class="programlisting">void      xlinkNodeDetectFunc             (void * ctx, 
<br/>                                       <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br/>
-</pre><p>This is the prototype for the link detection routine. It calls the default link detection callbacks 
upon link detection.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>user data pointer</td></tr><tr><td><span 
class="term"><i><tt>node</tt></i>:</span></td><td>the node to check</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xlinkSimpleLinkFunk"/>Function type 
xlinkSimpleLinkFunk</h3><pre class="programlisting">void      xlinkSimpleLinkFunk             (void * ctx, 
<br/>                                       <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br/> 
                                      const <a href="libxml2-xlink.html#xlinkHRef">xlinkHRef</a> href, <br/>  
                                const <a href="libxml2-xlink.html#xlinkRole">xlinkRole</a> role, <br/>        
                          const <a href="libxml2-xlink.html#xlinkTitle">xlinkTitle</a> title)<br/>
-</pre><p>This is the prototype for a simple link detection callback.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>user data pointer</td></tr><tr><td><span 
class="term"><i><tt>node</tt></i>:</span></td><td>the node carrying the link</td></tr><tr><td><span 
class="term"><i><tt>href</tt></i>:</span></td><td>the target of the link</td></tr><tr><td><span 
class="term"><i><tt>role</tt></i>:</span></td><td>the role string</td></tr><tr><td><span 
class="term"><i><tt>title</tt></i>:</span></td><td>the link title</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xlinkGetDefaultDetect"/>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>
-<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 function or 
NULL;</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xlinkGetDefaultHandler"/>xlinkGetDefaultHandler 
()</h3><pre class="programlisting"><a href="libxml2-xlink.html#xlinkHandlerPtr">xlinkHandlerPtr</a>       
xlinkGetDefaultHandler  (void)<br/>
-</pre><p>Get the default xlink handler.</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 <a 
href="libxml2-xlink.html#xlinkHandlerPtr">xlinkHandlerPtr</a> value.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xlinkIsLink"/>xlinkIsLink ()</h3><pre 
class="programlisting"><a href="libxml2-xlink.html#xlinkType">xlinkType</a> xlinkIsLink             (<a 
href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>                                  <a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br/>
-</pre><p>Check whether the given node carries the attributes needed to be a link element (or is one of the 
linking elements issued from the (X)HTML DtDs). This routine don't try to do full checking of the link 
validity but tries to detect and return the appropriate link type.</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 node</td></tr><tr><td><span 
class="term"><i><tt>node</tt></i>:</span></td><td>the node pointer itself</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a href="libxml2-xlink.html#xlinkType">xlinkType</a> 
of the node (XLINK_TYPE_NONE if there is no link detected.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xlinkSetDefaultDetect"/>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>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>func</tt></i>:</span></td><td>pointer to the new detection 
routine.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xlinkSetDefaultHandler"/>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>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>handler</tt></i>:</span></td><td>the new value for the xlink handler 
block</td></tr></tbody></table></div></div>
-        <hr/>
-      </div>
-    </div>
-  </body>
+</pre>
+<p></p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xlinkExtendedLinkFunk"></a>Function type xlinkExtendedLinkFunk</h3>
+<pre class="programlisting">void       xlinkExtendedLinkFunk           (void * ctx, <br>                     
                   <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>                           
             int nbLocators, <br>                                    const <a 
href="libxml2-xlink.html#xlinkHRef">xlinkHRef</a> * hrefs, <br>                                        const 
<a href="libxml2-xlink.html#xlinkRole">xlinkRole</a> * roles, <br>                                        int 
nbArcs, <br>                                        const <a 
href="libxml2-xlink.html#xlinkRole">xlinkRole</a> * from, <br>                                         const 
<a href="libxml2-xlink.html#xlinkRole">xlinkRole</a> * to, <br>                                   <a 
href="libxml2-xlink.html#xlinkShow">xlinkShow</a> * show, <br>                                       <a 
href="libxml2-xlink.html#xlinkActuate">xlinkActuate</a> * actuate, <br>                                      
int nbTitles, <br>                                      const <a 
href="libxml2-xlink.html#xlinkTitle">xlinkTitle</a> * titles, <br>                                     const 
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** langs)<br>
+</pre>
+<p>This is the prototype for a extended link detection callback.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>user data pointer</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>node</tt></i>:</span></td>
+<td>the node carrying the link</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>nbLocators</tt></i>:</span></td>
+<td>the number of locators detected on the link</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>hrefs</tt></i>:</span></td>
+<td>pointer to the array of locator hrefs</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>roles</tt></i>:</span></td>
+<td>pointer to the array of locator roles</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>nbArcs</tt></i>:</span></td>
+<td>the number of arcs detected on the link</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>from</tt></i>:</span></td>
+<td>pointer to the array of source roles found on the arcs</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>to</tt></i>:</span></td>
+<td>pointer to the array of target roles found on the arcs</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>show</tt></i>:</span></td>
+<td>array of values for the show attributes found on the arcs</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>actuate</tt></i>:</span></td>
+<td>array of values for the actuate attributes found on the arcs</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>nbTitles</tt></i>:</span></td>
+<td>the number of titles detected on the link</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>titles</tt></i>:</span></td>
+<td></td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>langs</tt></i>:</span></td>
+<td>array of xml:lang values for the titles</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xlinkExtendedLinkSetFunk"></a>Function type xlinkExtendedLinkSetFunk</h3>
+<pre class="programlisting">void       xlinkExtendedLinkSetFunk        (void * ctx, <br>                     
                   <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>                           
             int nbLocators, <br>                                    const <a 
href="libxml2-xlink.html#xlinkHRef">xlinkHRef</a> * hrefs, <br>                                        const 
<a href="libxml2-xlink.html#xlinkRole">xlinkRole</a> * roles, <br>                                        int 
nbTitles, <br>                                      const <a 
href="libxml2-xlink.html#xlinkTitle">xlinkTitle</a> * titles, <br>                                     const 
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** langs)<br>
+</pre>
+<p>This is the prototype for a extended link set detection callback.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>user data pointer</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>node</tt></i>:</span></td>
+<td>the node carrying the link</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>nbLocators</tt></i>:</span></td>
+<td>the number of locators detected on the link</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>hrefs</tt></i>:</span></td>
+<td>pointer to the array of locator hrefs</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>roles</tt></i>:</span></td>
+<td>pointer to the array of locator roles</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>nbTitles</tt></i>:</span></td>
+<td>the number of titles detected on the link</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>titles</tt></i>:</span></td>
+<td></td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>langs</tt></i>:</span></td>
+<td>array of xml:lang values for the titles</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xlinkNodeDetectFunc"></a>Function type xlinkNodeDetectFunc</h3>
+<pre class="programlisting">void       xlinkNodeDetectFunc             (void * ctx, <br>                     
                   <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br>
+</pre>
+<p>This is the prototype for the link detection routine. It calls the default link detection callbacks upon 
link detection.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>user data pointer</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>node</tt></i>:</span></td>
+<td>the node to check</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xlinkSimpleLinkFunk"></a>Function type xlinkSimpleLinkFunk</h3>
+<pre class="programlisting">void       xlinkSimpleLinkFunk             (void * ctx, <br>                     
                   <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>                           
             const <a href="libxml2-xlink.html#xlinkHRef">xlinkHRef</a> href, <br>                            
       const <a href="libxml2-xlink.html#xlinkRole">xlinkRole</a> role, <br>                                  
 const <a href="libxml2-xlink.html#xlinkTitle">xlinkTitle</a> title)<br>
+</pre>
+<p>This is the prototype for a simple link detection callback.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>user data pointer</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>node</tt></i>:</span></td>
+<td>the node carrying the link</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>href</tt></i>:</span></td>
+<td>the target of the link</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>role</tt></i>:</span></td>
+<td>the role string</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>title</tt></i>:</span></td>
+<td>the link title</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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>
+<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 function or NULL;</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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>
+<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 <a href="libxml2-xlink.html#xlinkHandlerPtr">xlinkHandlerPtr</a> value.</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xlinkIsLink"></a>xlinkIsLink ()</h3>
+<pre class="programlisting"><a href="libxml2-xlink.html#xlinkType">xlinkType</a>       xlinkIsLink           
  (<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>                                   <a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br>
+</pre>
+<p>Check whether the given node carries the attributes needed to be a link element (or is one of the linking 
elements issued from the (X)HTML DtDs). This routine don't try to do full checking of the link validity but 
tries to detect and return the appropriate link type.</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 node</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>node</tt></i>:</span></td>
+<td>the node pointer itself</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the <a href="libxml2-xlink.html#xlinkType">xlinkType</a> of the node (XLINK_TYPE_NONE if there is no 
link detected.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>func</tt></i>:</span></td>
+<td>pointer to the new detection routine.</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>handler</tt></i>:</span></td>
+<td>the new value for the xlink handler block</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+</div>
+</div>
+</body>
 </html>
diff --git a/doc/devhelp/libxml2-xmlIO.html b/doc/devhelp/libxml2-xmlIO.html
index 277197be..e25ee025 100644
--- a/doc/devhelp/libxml2-xmlIO.html
+++ b/doc/devhelp/libxml2-xmlIO.html
@@ -1,352 +1,1448 @@
-<?xml version="1.0" encoding="UTF-8"?>
 <html>
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
-    <title>xmlIO: interface for the I/O interfaces used by the parser</title>
-    <meta name="generator" content="Libxml2 devhelp stylesheet"/>
-    <link rel="start" href="index.html" title="libxml2 Reference Manual"/>
-    <link rel="up" href="general.html" title="API"/>
-    <link rel="stylesheet" href="style.css" type="text/css"/>
-    <link rel="chapter" href="general.html" title="API"/>
-  </head>
-  <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-    <table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
-      <tr valign="middle">
-        <td>
-          <a accesskey="p" href="libxml2-xlink.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-xmlautomata.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">xmlIO</span>
-    </h2>
-    <p>xmlIO - interface for the I/O interfaces used by the parser</p>
-    <p>interface for the I/O interfaces used by the parser </p>
-    <p>Author(s): Daniel Veillard </p>
-    <div class="refsynopsisdiv">
-      <h2>Synopsis</h2>
-      <pre class="synopsis"><a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a>      <a 
href="#xmlAllocOutputBuffer">xmlAllocOutputBuffer</a>        (<a 
href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> encoder);
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>xmlIO: interface for the I/O interfaces used by the parser</title>
+<meta name="generator" content="Libxml2 devhelp stylesheet">
+<link rel="start" href="index.html" title="libxml2 Reference Manual">
+<link rel="up" href="general.html" title="API">
+<link rel="stylesheet" href="style.css" type="text/css">
+<link rel="chapter" href="general.html" title="API">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr 
valign="middle">
+<td><a accesskey="p" href="libxml2-xlink.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-xmlautomata.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">xmlIO</span></h2>
+<p>xmlIO - interface for the I/O interfaces used by the parser</p>
+<p>interface for the I/O interfaces used by the parser </p>
+<p>Author(s): Daniel Veillard </p>
+<div class="refsynopsisdiv">
+<h2>Synopsis</h2>
+<pre class="synopsis"><a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a>    <a 
href="#xmlAllocOutputBuffer">xmlAllocOutputBuffer</a>        (<a 
href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> encoder);
 <a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a>        <a 
href="#xmlAllocParserInputBuffer">xmlAllocParserInputBuffer</a>      (<a 
href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc);
 int    <a href="#xmlCheckFilename">xmlCheckFilename</a>                (const char * path);
-<a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>    <a 
href="#xmlCheckHTTPInput">xmlCheckHTTPInput</a>      (<a 
href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br/>                                    
       <a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> ret);
+<a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>    <a 
href="#xmlCheckHTTPInput">xmlCheckHTTPInput</a>      (<a 
href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>                                     
       <a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> ret);
 void   <a href="#xmlCleanupInputCallbacks">xmlCleanupInputCallbacks</a>        (void);
 void   <a href="#xmlCleanupOutputCallbacks">xmlCleanupOutputCallbacks</a>      (void);
 int    <a href="#xmlFileClose">xmlFileClose</a>                        (void * context);
 int    <a href="#xmlFileMatch">xmlFileMatch</a>                        (const char * filename);
 void * <a href="#xmlFileOpen">xmlFileOpen</a>                  (const char * filename);
-int    <a href="#xmlFileRead">xmlFileRead</a>                  (void * context, <br/>                        
           char * buffer, <br/>                                    int len);
+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="#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);
-void * <a href="#xmlIOHTTPOpenW">xmlIOHTTPOpenW</a>                    (const char * post_uri, <br/>         
                           int compression);
-int    <a href="#xmlIOHTTPRead">xmlIOHTTPRead</a>                      (void * context, <br/>                
                   char * buffer, <br/>                                    int len);
+void * <a href="#xmlIOHTTPOpenW">xmlIOHTTPOpenW</a>                    (const char * post_uri, <br>          
                           int compression);
+int    <a href="#xmlIOHTTPRead">xmlIOHTTPRead</a>                      (void * context, <br>                 
                   char * buffer, <br>                                     int len);
 typedef int <a href="#xmlInputCloseCallback">xmlInputCloseCallback</a>         (void * context);
 typedef int <a href="#xmlInputMatchCallback">xmlInputMatchCallback</a>         (char const * filename);
 typedef void * <a href="#xmlInputOpenCallback">xmlInputOpenCallback</a>                (char const * 
filename);
-typedef int <a href="#xmlInputReadCallback">xmlInputReadCallback</a>           (void * context, <br/>        
                           char * buffer, <br/>                                    int len);
-<a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>    <a 
href="#xmlNoNetExternalEntityLoader">xmlNoNetExternalEntityLoader</a>        (const char * URL, <br/>         
                                                const char * ID, <br/>                                        
          <a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
+typedef int <a href="#xmlInputReadCallback">xmlInputReadCallback</a>           (void * context, <br>         
                           char * buffer, <br>                                     int len);
+<a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>    <a 
href="#xmlNoNetExternalEntityLoader">xmlNoNetExternalEntityLoader</a>        (const char * URL, <br>          
                                        const char * ID, <br>                                                 
  <a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt);
 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * <a 
href="#xmlNormalizeWindowsPath">xmlNormalizeWindowsPath</a>  (const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * path);
 int    <a href="#xmlOutputBufferClose">xmlOutputBufferClose</a>                (<a 
href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> out);
-<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a>  <a 
href="#xmlOutputBufferCreateBuffer">xmlOutputBufferCreateBuffer</a>  (<a 
href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buffer, <br/>                                          
               <a href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> 
encoder);
-<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a>  <a 
href="#xmlOutputBufferCreateFd">xmlOutputBufferCreateFd</a>  (int fd, <br/>                                   
        <a href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> encoder);
-<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a>  <a 
href="#xmlOutputBufferCreateFile">xmlOutputBufferCreateFile</a>      (FILE * file, <br/>                      
                                <a 
href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> encoder);
-<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a>  <a 
href="#xmlOutputBufferCreateFilename">xmlOutputBufferCreateFilename</a>      (const char * URI, <br/>         
                                                <a 
href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> encoder, <br/>           
                                       int compression);
-<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a>  <a 
href="#xmlOutputBufferCreateIO">xmlOutputBufferCreateIO</a>  (<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);
+<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a>  <a 
href="#xmlOutputBufferCreateBuffer">xmlOutputBufferCreateBuffer</a>  (<a 
href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buffer, <br>                                           
       <a href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> encoder);
+<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a>  <a 
href="#xmlOutputBufferCreateFd">xmlOutputBufferCreateFd</a>  (int fd, <br>                                    
        <a href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> encoder);
+<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a>  <a 
href="#xmlOutputBufferCreateFile">xmlOutputBufferCreateFile</a>      (FILE * file, <br>                       
                                <a 
href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> encoder);
+<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a>  <a 
href="#xmlOutputBufferCreateFilename">xmlOutputBufferCreateFilename</a>      (const char * URI, <br>          
                                        <a 
href="libxml2-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> encoder, <br>            
                                       int compression);
+<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a>  <a 
href="#xmlOutputBufferCreateIO">xmlOutputBufferCreateIO</a>  (<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);
 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="#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);
+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="#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);
 typedef int <a href="#xmlOutputMatchCallback">xmlOutputMatchCallback</a>               (char const * 
filename);
 typedef void * <a href="#xmlOutputOpenCallback">xmlOutputOpenCallback</a>              (char const * 
filename);
-typedef int <a href="#xmlOutputWriteCallback">xmlOutputWriteCallback</a>               (void * context, 
<br/>                                   const char * buffer, <br/>                                      int 
len);
+typedef int <a href="#xmlOutputWriteCallback">xmlOutputWriteCallback</a>               (void * context, <br> 
                                   const char * buffer, <br>                                       int len);
 char * <a href="#xmlParserGetDirectory">xmlParserGetDirectory</a>              (const char * filename);
-<a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a>        <a 
href="#xmlParserInputBufferCreateFd">xmlParserInputBufferCreateFd</a>        (int fd, <br/>                   
                                <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc);
-<a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a>        <a 
href="#xmlParserInputBufferCreateFile">xmlParserInputBufferCreateFile</a>    (FILE * file, <br/>              
                                        <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> 
enc);
-<a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a>        <a 
href="#xmlParserInputBufferCreateFilename">xmlParserInputBufferCreateFilename</a>    (const char * URI, <br/> 
                                                        <a 
href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc);
-<a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a>        <a 
href="#xmlParserInputBufferCreateIO">xmlParserInputBufferCreateIO</a>        (<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#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a>        <a 
href="#xmlParserInputBufferCreateMem">xmlParserInputBufferCreateMem</a>      (const char * mem, <br/>         
                                                int size, <br/>                                               
          <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc);
-<a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a>        <a 
href="#xmlParserInputBufferCreateStatic">xmlParserInputBufferCreateStatic</a>        (const char * mem, <br/> 
                                                        int size, <br/>                                       
                  <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc);
-int    <a href="#xmlParserInputBufferGrow">xmlParserInputBufferGrow</a>        (<a 
href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> in, <br/>                        
               int len);
-int    <a href="#xmlParserInputBufferPush">xmlParserInputBufferPush</a>        (<a 
href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> in, <br/>                        
               int len, <br/>                                  const char * buf);
-int    <a href="#xmlParserInputBufferRead">xmlParserInputBufferRead</a>        (<a 
href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> in, <br/>                        
               int len);
+<a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a>        <a 
href="#xmlParserInputBufferCreateFd">xmlParserInputBufferCreateFd</a>        (int fd, <br>                    
                                <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc);
+<a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a>        <a 
href="#xmlParserInputBufferCreateFile">xmlParserInputBufferCreateFile</a>    (FILE * file, <br>               
                                        <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> 
enc);
+<a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a>        <a 
href="#xmlParserInputBufferCreateFilename">xmlParserInputBufferCreateFilename</a>    (const char * URI, <br>  
                                                <a 
href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc);
+<a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a>        <a 
href="#xmlParserInputBufferCreateIO">xmlParserInputBufferCreateIO</a>        (<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#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a>        <a 
href="#xmlParserInputBufferCreateMem">xmlParserInputBufferCreateMem</a>      (const char * mem, <br>          
                                        int size, <br>                                                  <a 
href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc);
+<a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a>        <a 
href="#xmlParserInputBufferCreateStatic">xmlParserInputBufferCreateStatic</a>        (const char * mem, <br>  
                                                int size, <br>                                                
  <a href="libxml2-encoding.html#xmlCharEncoding">xmlCharEncoding</a> enc);
+int    <a href="#xmlParserInputBufferGrow">xmlParserInputBufferGrow</a>        (<a 
href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> in, <br>                         
               int len);
+int    <a href="#xmlParserInputBufferPush">xmlParserInputBufferPush</a>        (<a 
href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> in, <br>                         
               int len, <br>                                   const char * buf);
+int    <a href="#xmlParserInputBufferRead">xmlParserInputBufferRead</a>        (<a 
href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> in, <br>                         
               int len);
 int    <a href="#xmlPopInputCallbacks">xmlPopInputCallbacks</a>                (void);
 int    <a href="#xmlPopOutputCallbacks">xmlPopOutputCallbacks</a>              (void);
 void   <a href="#xmlRegisterDefaultInputCallbacks">xmlRegisterDefaultInputCallbacks</a>        (void);
 void   <a href="#xmlRegisterDefaultOutputCallbacks">xmlRegisterDefaultOutputCallbacks</a>      (void);
 void   <a href="#xmlRegisterHTTPPostCallbacks">xmlRegisterHTTPPostCallbacks</a>        (void);
-int    <a href="#xmlRegisterInputCallbacks">xmlRegisterInputCallbacks</a>      (<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);
-int    <a href="#xmlRegisterOutputCallbacks">xmlRegisterOutputCallbacks</a>    (<a 
href="libxml2-xmlIO.html#xmlOutputMatchCallback">xmlOutputMatchCallback</a> matchFunc, <br/>                  
                       <a href="libxml2-xmlIO.html#xmlOutputOpenCallback">xmlOutputOpenCallback</a> openFunc, 
<br/>                                    <a 
href="libxml2-xmlIO.html#xmlOutputWriteCallback">xmlOutputWriteCallback</a> writeFunc, <br/>                  
                       <a href="libxml2-xmlIO.html#xmlOutputCloseCallback">xmlOutputCloseCallback</a> 
closeFunc);
-</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="xmlInputCloseCallback"/>Function type 
xmlInputCloseCallback</h3><pre class="programlisting">int   xmlInputCloseCallback           (void * 
context)<br/>
-</pre><p>Callback used in the I/O Input API to close the resource</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>context</tt></i>:</span></td><td>an Input context</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="xmlInputMatchCallback"/>Function type 
xmlInputMatchCallback</h3><pre class="programlisting">int   xmlInputMatchCallback           (char const * 
filename)<br/>
-</pre><p>Callback used in the I/O Input API to detect if the current handler can provide input functionality 
for this resource.</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 or URI</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if yes and 0 if another Input module should be 
used</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlInputOpenCallback"/>Function type 
xmlInputOpenCallback</h3><pre class="programlisting">void *  xmlInputOpenCallback            (char const * 
filename)<br/>
-</pre><p>Callback used in the I/O Input API to open the resource</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 or URI</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>an Input context or NULL in case or 
error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlInputReadCallback"/>Function type 
xmlInputReadCallback</h3><pre class="programlisting">int     xmlInputReadCallback            (void * context, 
<br/>                                   char * buffer, <br/>                                    int len)<br/>
-</pre><p>Callback used in the I/O Input API to read the resource</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>context</tt></i>:</span></td><td>an Input context</td></tr><tr><td><span 
class="term"><i><tt>buffer</tt></i>:</span></td><td>the buffer to store data read</td></tr><tr><td><span 
class="term"><i><tt>len</tt></i>:</span></td><td>the length of the buffer in bytes</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of bytes read or -1 in case of 
error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlOutputCloseCallback"/>Function type 
xmlOutputCloseCallback</h3><pre class="programlisting">int xmlOutputCloseCallback          (void * 
context)<br/>
-</pre><p>Callback used in the I/O Output API to close the resource</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>context</tt></i>:</span></td><td>an Output context</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="xmlOutputMatchCallback"/>Function type 
xmlOutputMatchCallback</h3><pre class="programlisting">int xmlOutputMatchCallback          (char const * 
filename)<br/>
-</pre><p>Callback used in the I/O Output API to detect if the current handler can provide output 
functionality for this resource.</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 or URI</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if yes and 0 if another Output module should be 
used</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlOutputOpenCallback"/>Function type 
xmlOutputOpenCallback</h3><pre class="programlisting">void *        xmlOutputOpenCallback           (char 
const * filename)<br/>
-</pre><p>Callback used in the I/O Output API to open the resource</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 or URI</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>an Output context or NULL in case or 
error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlOutputWriteCallback"/>Function type 
xmlOutputWriteCallback</h3><pre class="programlisting">int xmlOutputWriteCallback          (void * context, 
<br/>                                   const char * buffer, <br/>                                      int 
len)<br/>
-</pre><p>Callback used in the I/O Output API to write to the resource</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>context</tt></i>:</span></td><td>an Output context</td></tr><tr><td><span 
class="term"><i><tt>buffer</tt></i>:</span></td><td>the buffer of data to write</td></tr><tr><td><span 
class="term"><i><tt>len</tt></i>:</span></td><td>the length of the buffer in bytes</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of bytes written or -1 in case of 
error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlAllocOutputBuffer"/>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>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>encoder</tt></i>:</span></td><td>the encoding converter or NULL</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the new parser output or 
NULL</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlAllocParserInputBuffer"/>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</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>enc</tt></i>:</span></td><td>the charset encoding if known</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the new parser input or 
NULL</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCheckFilename"/>xmlCheckFilename ()</h3><pre 
class="programlisting">int        xmlCheckFilename                (const char * path)<br/>
-</pre><p>function checks to see if @path is a valid source (file, socket...) for XML. if stat is not 
available on the target machine,</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>path</tt></i>:</span></td><td>the path to check</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1. if stat fails, returns 0 (if calling stat on the 
filename fails, it can't be right). if stat succeeds and the file is a directory, returns 2. otherwise 
returns 1.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCheckHTTPInput"/>xmlCheckHTTPInput ()</h3><pre 
class="programlisting"><a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>      
xmlCheckHTTPInput       (<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br/>        
                                   <a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> 
ret)<br/>
-</pre><p>Check an input in case it was created from an HTTP stream, in that case it will handle encoding and 
update of the base URL in case of redirection. It also checks for HTTP errors in which case the input is 
cleanly freed up and an appropriate error is raised in 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 XML parser context</td></tr><tr><td><span 
class="term"><i><tt>ret</tt></i>:</span></td><td>an XML parser input</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the input or NULL in case of HTTP 
error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCleanupInputCallbacks"/>xmlCleanupInputCallbacks 
()</h3><pre class="programlisting">void       xmlCleanupInputCallbacks        (void)<br/>
-</pre><p>clears the entire input callback table. this includes the compiled-in I/O.</p>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCleanupOutputCallbacks"/>xmlCleanupOutputCallbacks 
()</h3><pre class="programlisting">void     xmlCleanupOutputCallbacks       (void)<br/>
-</pre><p>clears the entire output callback table. this includes the compiled-in I/O callbacks.</p>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlFileClose"/>xmlFileClose ()</h3><pre 
class="programlisting">int        xmlFileClose                    (void * context)<br/>
-</pre><p>Close an 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 or -1 in case of 
error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlFileMatch"/>xmlFileMatch ()</h3><pre 
class="programlisting">int        xmlFileMatch                    (const char * filename)<br/>
-</pre><p>input from FILE *</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="xmlFileOpen"/>xmlFileOpen ()</h3><pre 
class="programlisting">void *       xmlFileOpen                     (const char * filename)<br/>
-</pre><p>Wrapper around xmlFileOpen_real that try it with an unescaped version of @filename, if this fails 
fallback to @filename</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>a handler or NULL in case or 
failure</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlFileRead"/>xmlFileRead ()</h3><pre 
class="programlisting">int  xmlFileRead                     (void * context, <br/>                            
       char * buffer, <br/>                                    int len)<br/>
-</pre><p>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 or &lt; 0 in case of 
failure</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlFreeParserInputBuffer"/>xmlFreeParserInputBuffer 
()</h3><pre class="programlisting">void       xmlFreeParserInputBuffer        (<a 
href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> in)<br/>
-</pre><p>Free up the memory used by a buffered parser input</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>in</tt></i>:</span></td><td>a buffered parser input</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlIOFTPClose"/>xmlIOFTPClose ()</h3><pre 
class="programlisting">int      xmlIOFTPClose                   (void * context)<br/>
-</pre><p>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"/>xmlIOFTPMatch ()</h3><pre 
class="programlisting">int      xmlIOFTPMatch                   (const char * filename)<br/>
-</pre><p>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"/>xmlIOFTPOpen ()</h3><pre 
class="programlisting">void *     xmlIOFTPOpen                    (const char * filename)<br/>
-</pre><p>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"/>xmlIOFTPRead ()</h3><pre 
class="programlisting">int        xmlIOFTPRead                    (void * context, <br/>                      
             char * buffer, <br/>                                    int len)<br/>
-</pre><p>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"/>xmlIOHTTPClose ()</h3><pre 
class="programlisting">int    xmlIOHTTPClose                  (void * context)<br/>
-</pre><p>Close an HTTP 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="xmlIOHTTPMatch"/>xmlIOHTTPMatch ()</h3><pre 
class="programlisting">int    xmlIOHTTPMatch                  (const char * filename)<br/>
-</pre><p>check if the URI matches an HTTP 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="xmlIOHTTPOpen"/>xmlIOHTTPOpen ()</h3><pre 
class="programlisting">void *   xmlIOHTTPOpen                   (const char * filename)<br/>
-</pre><p>open an HTTP 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="xmlIOHTTPOpenW"/>xmlIOHTTPOpenW ()</h3><pre 
class="programlisting">void * xmlIOHTTPOpenW                  (const char * post_uri, <br/>                   
                 int compression)<br/>
-</pre><p>Open a temporary buffer to collect the document for a subsequent HTTP POST request. Non-static as 
is called from the output buffer creation routine.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>post_uri</tt></i>:</span></td><td>The destination URI for the 
document</td></tr><tr><td><span class="term"><i><tt>compression</tt></i>:</span></td><td>The compression 
desired for the document.</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="xmlIOHTTPRead"/>xmlIOHTTPRead ()</h3><pre 
class="programlisting">int      xmlIOHTTPRead                   (void * context, <br/>                        
           char * buffer, <br/>                                    int len)<br/>
-</pre><p>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="xmlNoNetExternalEntityLoader"/>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>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>URL</tt></i>:</span></td><td>the URL for the entity to load</td></tr><tr><td><span 
class="term"><i><tt>ID</tt></i>:</span></td><td>the System ID for the entity to load</td></tr><tr><td><span 
class="term"><i><tt>ctxt</tt></i>:</span></td><td>the context in which the entity is called or 
NULL</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a new allocated 
xmlParserInputPtr, or NULL.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNormalizeWindowsPath"/>xmlNormalizeWindowsPath 
()</h3><pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *       
xmlNormalizeWindowsPath (const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * path)<br/>
-</pre><p>This function is obsolete. Please see xmlURIFromPath in uri.c for a better solution.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>path</tt></i>:</span></td><td>the input file path</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>a canonicalized version of the 
path</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlOutputBufferClose"/>xmlOutputBufferClose ()</h3><pre 
class="programlisting">int        xmlOutputBufferClose            (<a 
href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> out)<br/>
-</pre><p>flushes and close the output I/O channel and free up all the associated resources</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 buffered output</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of byte written or -1 in case of 
error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlOutputBufferCreateBuffer"/>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>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>buffer</tt></i>:</span></td><td>a <a 
href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a></td></tr><tr><td><span 
class="term"><i><tt>encoder</tt></i>:</span></td><td>the encoding converter or NULL</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the new parser output or 
NULL</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlOutputBufferCreateFd"/>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>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>fd</tt></i>:</span></td><td>a file descriptor number</td></tr><tr><td><span 
class="term"><i><tt>encoder</tt></i>:</span></td><td>the encoding converter or NULL</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the new parser output or 
NULL</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlOutputBufferCreateFile"/>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>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>file</tt></i>:</span></td><td>a FILE*</td></tr><tr><td><span 
class="term"><i><tt>encoder</tt></i>:</span></td><td>the encoding converter or NULL</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the new parser output or 
NULL</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlOutputBufferCreateFilename"/>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>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>URI</tt></i>:</span></td><td>a C string containing the URI or 
filename</td></tr><tr><td><span class="term"><i><tt>encoder</tt></i>:</span></td><td>the encoding converter 
or NULL</td></tr><tr><td><span class="term"><i><tt>compression</tt></i>:</span></td><td>the compression 
ration (0 none, 9 max).</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new 
output or NULL</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlOutputBufferCreateIO"/>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>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>iowrite</tt></i>:</span></td><td>an I/O write function</td></tr><tr><td><span 
class="term"><i><tt>ioclose</tt></i>:</span></td><td>an I/O close function</td></tr><tr><td><span 
class="term"><i><tt>ioctx</tt></i>:</span></td><td>an I/O handler</td></tr><tr><td><span 
class="term"><i><tt>encoder</tt></i>:</span></td><td>the charset encoding if known</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the new parser output or 
NULL</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlOutputBufferFlush"/>xmlOutputBufferFlush ()</h3><pre 
class="programlisting">int        xmlOutputBufferFlush            (<a 
href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> out)<br/>
-</pre><p>flushes the output I/O channel</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 buffered output</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of byte written or -1 in case of 
error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlOutputBufferGetContent"/>xmlOutputBufferGetContent 
()</h3><pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *     
xmlOutputBufferGetContent       (<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> 
out)<br/>
-</pre><p>Gives a pointer to the data currently held in the output buffer</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>out</tt></i>:</span></td><td>an <a 
href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a></td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the data or NULL in case of 
error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlOutputBufferGetSize"/>xmlOutputBufferGetSize 
()</h3><pre class="programlisting">size_t xmlOutputBufferGetSize          (<a 
href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> out)<br/>
-</pre><p>Gives the length of the data currently held in the output buffer</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>out</tt></i>:</span></td><td>an <a 
href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a></td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case or error or no data is held, the size 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlOutputBufferWrite"/>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><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"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>out</tt></i>:</span></td><td>a buffered parser output</td></tr><tr><td><span 
class="term"><i><tt>len</tt></i>:</span></td><td>the size in bytes of the array.</td></tr><tr><td><span 
class="term"><i><tt>buf</tt></i>:</span></td><td>an char array</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of chars immediately written, or -1 in case 
of error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlOutputBufferWriteEscape"/>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>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>out</tt></i>:</span></td><td>a buffered parser output</td></tr><tr><td><span 
class="term"><i><tt>str</tt></i>:</span></td><td>a zero terminated UTF-8 string</td></tr><tr><td><span 
class="term"><i><tt>escaping</tt></i>:</span></td><td>an optional escaping function (or 
NULL)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of chars 
immediately written, or -1 in case of error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlOutputBufferWriteString"/>xmlOutputBufferWriteString 
()</h3><pre class="programlisting">int    xmlOutputBufferWriteString      (<a 
href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> out, <br/>                                 
       const char * str)<br/>
-</pre><p>Write the content of the string 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"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>out</tt></i>:</span></td><td>a buffered parser output</td></tr><tr><td><span 
class="term"><i><tt>str</tt></i>:</span></td><td>a zero terminated C string</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of chars immediately written, or -1 in case 
of error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParserGetDirectory"/>xmlParserGetDirectory 
()</h3><pre class="programlisting">char *   xmlParserGetDirectory           (const char * filename)<br/>
-</pre><p>lookup the directory for that file</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 path to a file</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>a new allocated string containing the directory, or 
NULL.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlParserInputBufferCreateFd"/>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</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>fd</tt></i>:</span></td><td>a file descriptor number</td></tr><tr><td><span 
class="term"><i><tt>enc</tt></i>:</span></td><td>the charset encoding if known</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the new parser input or 
NULL</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlParserInputBufferCreateFile"/>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</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>file</tt></i>:</span></td><td>a FILE*</td></tr><tr><td><span 
class="term"><i><tt>enc</tt></i>:</span></td><td>the charset encoding if known</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the new parser input or 
NULL</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlParserInputBufferCreateFilename"/>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 If filename is "-' then we use 
stdin as the input. 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><tr><td><span 
class="term"><i><tt>URI</tt></i>:</span></td><td>a C string containing the URI or 
filename</td></tr><tr><td><span class="term"><i><tt>enc</tt></i>:</span></td><td>the charset encoding if 
known</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new parser input or 
NULL</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlParserInputBufferCreateIO"/>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</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ioread</tt></i>:</span></td><td>an I/O read function</td></tr><tr><td><span 
class="term"><i><tt>ioclose</tt></i>:</span></td><td>an I/O close function</td></tr><tr><td><span 
class="term"><i><tt>ioctx</tt></i>:</span></td><td>an I/O handler</td></tr><tr><td><span 
class="term"><i><tt>enc</tt></i>:</span></td><td>the charset encoding if known</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the new parser input or 
NULL</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlParserInputBufferCreateMem"/>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 buffered parser input for the progressive parsing for the input from a memory area.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>mem</tt></i>:</span></td><td>the memory input</td></tr><tr><td><span 
class="term"><i><tt>size</tt></i>:</span></td><td>the length of the memory block</td></tr><tr><td><span 
class="term"><i><tt>enc</tt></i>:</span></td><td>the charset encoding if known</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the new parser input or 
NULL</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlParserInputBufferCreateStatic"/>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 buffered parser input for the progressive parsing for the input from an immutable memory 
area. This will not copy the memory area to the buffer, but the memory is expected to be available until the 
end of the parsing, this is useful for example when using mmap'ed file.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>mem</tt></i>:</span></td><td>the memory input</td></tr><tr><td><span 
class="term"><i><tt>size</tt></i>:</span></td><td>the length of the memory block</td></tr><tr><td><span 
class="term"><i><tt>enc</tt></i>:</span></td><td>the charset encoding if known</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the new parser input or 
NULL</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParserInputBufferGrow"/>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>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>in</tt></i>:</span></td><td>a buffered parser input</td></tr><tr><td><span 
class="term"><i><tt>len</tt></i>:</span></td><td>indicative value of the amount of chars to 
read</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of chars read and 
stored in the buffer, or -1 in case of error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParserInputBufferPush"/>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>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>in</tt></i>:</span></td><td>a buffered parser input</td></tr><tr><td><span 
class="term"><i><tt>len</tt></i>:</span></td><td>the size in bytes of the array.</td></tr><tr><td><span 
class="term"><i><tt>buf</tt></i>:</span></td><td>an char array</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of chars read and stored in the buffer, or -1 
in case of error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParserInputBufferRead"/>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>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>in</tt></i>:</span></td><td>a buffered parser input</td></tr><tr><td><span 
class="term"><i><tt>len</tt></i>:</span></td><td>indicative value of the amount of chars to 
read</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of chars read and 
stored in the buffer, or -1 in case of error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlPopInputCallbacks"/>xmlPopInputCallbacks ()</h3><pre 
class="programlisting">int        xmlPopInputCallbacks            (void)<br/>
-</pre><p>Clear the top input callback from the input stack. this includes the compiled-in I/O.</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 number of input callback registered or -1 in case of 
error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlPopOutputCallbacks"/>xmlPopOutputCallbacks 
()</h3><pre class="programlisting">int      xmlPopOutputCallbacks           (void)<br/>
-</pre><p>Remove the top output callbacks from the output stack. This includes the compiled-in I/O.</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 number of output callback registered or -1 in case 
of error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlRegisterDefaultInputCallbacks"/>xmlRegisterDefaultInputCallbacks ()</h3><pre 
class="programlisting">void       xmlRegisterDefaultInputCallbacks        (void)<br/>
-</pre><p>Registers the default compiled-in I/O handlers.</p>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlRegisterDefaultOutputCallbacks"/>xmlRegisterDefaultOutputCallbacks ()</h3><pre 
class="programlisting">void     xmlRegisterDefaultOutputCallbacks       (void)<br/>
-</pre><p>Registers the default compiled-in I/O handlers.</p>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlRegisterHTTPPostCallbacks"/>xmlRegisterHTTPPostCallbacks ()</h3><pre class="programlisting">void     
  xmlRegisterHTTPPostCallbacks    (void)<br/>
-</pre><p>By default, libxml submits HTTP output requests using the "PUT" method. Calling this method changes 
the HTTP output method to use the "POST" method instead.</p>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlRegisterInputCallbacks"/>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>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>matchFunc</tt></i>:</span></td><td>the <a 
href="libxml2-xmlIO.html#xmlInputMatchCallback">xmlInputMatchCallback</a></td></tr><tr><td><span 
class="term"><i><tt>openFunc</tt></i>:</span></td><td>the <a 
href="libxml2-xmlIO.html#xmlInputOpenCallback">xmlInputOpenCallback</a></td></tr><tr><td><span 
class="term"><i><tt>readFunc</tt></i>:</span></td><td>the <a 
href="libxml2-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a></td></tr><tr><td><span 
class="term"><i><tt>closeFunc</tt></i>:</span></td><td>the <a 
href="libxml2-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a></td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the registered handler number or -1 in case of 
error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlRegisterOutputCallbacks"/>xmlRegisterOutputCallbacks 
()</h3><pre class="programlisting">int    xmlRegisterOutputCallbacks      (<a 
href="libxml2-xmlIO.html#xmlOutputMatchCallback">xmlOutputMatchCallback</a> matchFunc, <br/>                  
                       <a href="libxml2-xmlIO.html#xmlOutputOpenCallback">xmlOutputOpenCallback</a> openFunc, 
<br/>                                    <a 
href="libxml2-xmlIO.html#xmlOutputWriteCallback">xmlOutputWriteCallback</a> writeFunc, <br/>                  
                       <a href="libxml2-xmlIO.html#xmlOutputCloseCallback">xmlOutputCloseCallback</a> 
closeFunc)<br/>
-</pre><p>Register a new set of I/O callback for handling output.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>matchFunc</tt></i>:</span></td><td>the <a 
href="libxml2-xmlIO.html#xmlOutputMatchCallback">xmlOutputMatchCallback</a></td></tr><tr><td><span 
class="term"><i><tt>openFunc</tt></i>:</span></td><td>the <a 
href="libxml2-xmlIO.html#xmlOutputOpenCallback">xmlOutputOpenCallback</a></td></tr><tr><td><span 
class="term"><i><tt>writeFunc</tt></i>:</span></td><td>the <a 
href="libxml2-xmlIO.html#xmlOutputWriteCallback">xmlOutputWriteCallback</a></td></tr><tr><td><span 
class="term"><i><tt>closeFunc</tt></i>:</span></td><td>the <a 
href="libxml2-xmlIO.html#xmlOutputCloseCallback">xmlOutputCloseCallback</a></td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the registered handler number or -1 in case of 
error</td></tr></tbody></table></div></div>
-        <hr/>
-      </div>
-    </div>
-  </body>
+int    <a href="#xmlRegisterInputCallbacks">xmlRegisterInputCallbacks</a>      (<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);
+int    <a href="#xmlRegisterOutputCallbacks">xmlRegisterOutputCallbacks</a>    (<a 
href="libxml2-xmlIO.html#xmlOutputMatchCallback">xmlOutputMatchCallback</a> matchFunc, <br>                   
               <a href="libxml2-xmlIO.html#xmlOutputOpenCallback">xmlOutputOpenCallback</a> openFunc, <br>    
                                 <a 
href="libxml2-xmlIO.html#xmlOutputWriteCallback">xmlOutputWriteCallback</a> writeFunc, <br>                   
               <a href="libxml2-xmlIO.html#xmlOutputCloseCallback">xmlOutputCloseCallback</a> closeFunc);
+</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="xmlInputCloseCallback"></a>Function type xmlInputCloseCallback</h3>
+<pre class="programlisting">int        xmlInputCloseCallback           (void * context)<br>
+</pre>
+<p>Callback used in the I/O Input API to close the resource</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>context</tt></i>:</span></td>
+<td>an Input context</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="xmlInputMatchCallback"></a>Function type xmlInputMatchCallback</h3>
+<pre class="programlisting">int        xmlInputMatchCallback           (char const * filename)<br>
+</pre>
+<p>Callback used in the I/O Input API to detect if the current handler can provide input functionality for 
this resource.</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 or URI</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if yes and 0 if another Input module should be used</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlInputOpenCallback"></a>Function type xmlInputOpenCallback</h3>
+<pre class="programlisting">void *     xmlInputOpenCallback            (char const * filename)<br>
+</pre>
+<p>Callback used in the I/O Input API to open the resource</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 or URI</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>an Input context or NULL in case or error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlInputReadCallback"></a>Function type xmlInputReadCallback</h3>
+<pre class="programlisting">int        xmlInputReadCallback            (void * context, <br>                 
                   char * buffer, <br>                                     int len)<br>
+</pre>
+<p>Callback used in the I/O Input API to read the resource</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>context</tt></i>:</span></td>
+<td>an Input context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>buffer</tt></i>:</span></td>
+<td>the buffer to store data read</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>len</tt></i>:</span></td>
+<td>the length of the buffer in bytes</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the number of bytes read or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlOutputCloseCallback"></a>Function type xmlOutputCloseCallback</h3>
+<pre class="programlisting">int        xmlOutputCloseCallback          (void * context)<br>
+</pre>
+<p>Callback used in the I/O Output API to close the resource</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>context</tt></i>:</span></td>
+<td>an Output context</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="xmlOutputMatchCallback"></a>Function type xmlOutputMatchCallback</h3>
+<pre class="programlisting">int        xmlOutputMatchCallback          (char const * filename)<br>
+</pre>
+<p>Callback used in the I/O Output API to detect if the current handler can provide output functionality for 
this resource.</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 or URI</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if yes and 0 if another Output module should be used</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlOutputOpenCallback"></a>Function type xmlOutputOpenCallback</h3>
+<pre class="programlisting">void *     xmlOutputOpenCallback           (char const * filename)<br>
+</pre>
+<p>Callback used in the I/O Output API to open the resource</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 or URI</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>an Output context or NULL in case or error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlOutputWriteCallback"></a>Function type xmlOutputWriteCallback</h3>
+<pre class="programlisting">int        xmlOutputWriteCallback          (void * context, <br>                 
                   const char * buffer, <br>                                       int len)<br>
+</pre>
+<p>Callback used in the I/O Output API to write to the resource</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>context</tt></i>:</span></td>
+<td>an Output context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>buffer</tt></i>:</span></td>
+<td>the buffer of data to write</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>len</tt></i>:</span></td>
+<td>the length of the buffer in bytes</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the number of bytes written or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>encoder</tt></i>:</span></td>
+<td>the encoding converter or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the new parser output or NULL</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>enc</tt></i>:</span></td>
+<td>the charset encoding if known</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the new parser input or NULL</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCheckFilename"></a>xmlCheckFilename ()</h3>
+<pre class="programlisting">int        xmlCheckFilename                (const char * path)<br>
+</pre>
+<p>function checks to see if @path is a valid source (file, socket...) for XML. if stat is not available on 
the target machine,</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>path</tt></i>:</span></td>
+<td>the path to check</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1. if stat fails, returns 0 (if calling stat on the filename fails, it can't be right). if stat succeeds 
and the file is a directory, returns 2. otherwise returns 1.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCheckHTTPInput"></a>xmlCheckHTTPInput ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a>        
xmlCheckHTTPInput       (<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>         
                                   <a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> 
ret)<br>
+</pre>
+<p>Check an input in case it was created from an HTTP stream, in that case it will handle encoding and 
update of the base URL in case of redirection. It also checks for HTTP errors in which case the input is 
cleanly freed up and an appropriate error is raised in 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 XML parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ret</tt></i>:</span></td>
+<td>an XML parser input</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the input or NULL in case of HTTP error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCleanupInputCallbacks"></a>xmlCleanupInputCallbacks ()</h3>
+<pre class="programlisting">void       xmlCleanupInputCallbacks        (void)<br>
+</pre>
+<p>clears the entire input callback table. this includes the compiled-in I/O.</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCleanupOutputCallbacks"></a>xmlCleanupOutputCallbacks ()</h3>
+<pre class="programlisting">void       xmlCleanupOutputCallbacks       (void)<br>
+</pre>
+<p>clears the entire output callback table. this includes the compiled-in I/O callbacks.</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlFileClose"></a>xmlFileClose ()</h3>
+<pre class="programlisting">int        xmlFileClose                    (void * context)<br>
+</pre>
+<p>Close an 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 or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlFileMatch"></a>xmlFileMatch ()</h3>
+<pre class="programlisting">int        xmlFileMatch                    (const char * filename)<br>
+</pre>
+<p>input from FILE *</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="xmlFileOpen"></a>xmlFileOpen ()</h3>
+<pre class="programlisting">void *     xmlFileOpen                     (const char * filename)<br>
+</pre>
+<p>Wrapper around xmlFileOpen_real that try it with an unescaped version of @filename, if this fails 
fallback to @filename</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>a handler or NULL in case or failure</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlFileRead"></a>xmlFileRead ()</h3>
+<pre class="programlisting">int        xmlFileRead                     (void * context, <br>                 
                   char * buffer, <br>                                     int len)<br>
+</pre>
+<p>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 or &lt; 0 in case of failure</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlFreeParserInputBuffer"></a>xmlFreeParserInputBuffer ()</h3>
+<pre class="programlisting">void       xmlFreeParserInputBuffer        (<a 
href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> in)<br>
+</pre>
+<p>Free up the memory used by a buffered parser input</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>in</tt></i>:</span></td>
+<td>a buffered parser input</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlIOFTPClose"></a>xmlIOFTPClose ()</h3>
+<pre class="programlisting">int        xmlIOFTPClose                   (void * context)<br>
+</pre>
+<p>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>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>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>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>
+<p>Close an HTTP 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="xmlIOHTTPMatch"></a>xmlIOHTTPMatch ()</h3>
+<pre class="programlisting">int        xmlIOHTTPMatch                  (const char * filename)<br>
+</pre>
+<p>check if the URI matches an HTTP 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="xmlIOHTTPOpen"></a>xmlIOHTTPOpen ()</h3>
+<pre class="programlisting">void *     xmlIOHTTPOpen                   (const char * filename)<br>
+</pre>
+<p>open an HTTP 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="xmlIOHTTPOpenW"></a>xmlIOHTTPOpenW ()</h3>
+<pre class="programlisting">void *     xmlIOHTTPOpenW                  (const char * post_uri, <br>          
                           int compression)<br>
+</pre>
+<p>Open a temporary buffer to collect the document for a subsequent HTTP POST request. Non-static as is 
called from the output buffer creation routine.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>post_uri</tt></i>:</span></td>
+<td>The destination URI for the document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>compression</tt></i>:</span></td>
+<td>The compression desired for the document.</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="xmlIOHTTPRead"></a>xmlIOHTTPRead ()</h3>
+<pre class="programlisting">int        xmlIOHTTPRead                   (void * context, <br>                 
                   char * buffer, <br>                                     int len)<br>
+</pre>
+<p>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="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>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>URL</tt></i>:</span></td>
+<td>the URL for the entity to load</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ID</tt></i>:</span></td>
+<td>the System ID for the entity to load</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the context in which the entity is called or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a new allocated xmlParserInputPtr, or NULL.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNormalizeWindowsPath"></a>xmlNormalizeWindowsPath ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *     
xmlNormalizeWindowsPath (const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * path)<br>
+</pre>
+<p>This function is obsolete. Please see xmlURIFromPath in uri.c for a better solution.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>path</tt></i>:</span></td>
+<td>the input file path</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a canonicalized version of the path</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlOutputBufferClose"></a>xmlOutputBufferClose ()</h3>
+<pre class="programlisting">int        xmlOutputBufferClose            (<a 
href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> out)<br>
+</pre>
+<p>flushes and close the output I/O channel and free up all the associated resources</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 buffered output</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the number of byte written or -1 in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>buffer</tt></i>:</span></td>
+<td>a <a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>encoder</tt></i>:</span></td>
+<td>the encoding converter or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the new parser output or NULL</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>fd</tt></i>:</span></td>
+<td>a file descriptor number</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>encoder</tt></i>:</span></td>
+<td>the encoding converter or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the new parser output or NULL</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>file</tt></i>:</span></td>
+<td>a FILE*</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>encoder</tt></i>:</span></td>
+<td>the encoding converter or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the new parser output or NULL</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>URI</tt></i>:</span></td>
+<td>a C string containing the URI or filename</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>encoder</tt></i>:</span></td>
+<td>the encoding converter or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>compression</tt></i>:</span></td>
+<td>the compression ration (0 none, 9 max).</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the new output or NULL</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>iowrite</tt></i>:</span></td>
+<td>an I/O write function</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ioclose</tt></i>:</span></td>
+<td>an I/O close function</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ioctx</tt></i>:</span></td>
+<td>an I/O handler</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>encoder</tt></i>:</span></td>
+<td>the charset encoding if known</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the new parser output or NULL</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlOutputBufferFlush"></a>xmlOutputBufferFlush ()</h3>
+<pre class="programlisting">int        xmlOutputBufferFlush            (<a 
href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> out)<br>
+</pre>
+<p>flushes the output I/O channel</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 buffered output</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the number of byte written or -1 in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlOutputBufferGetContent"></a>xmlOutputBufferGetContent ()</h3>
+<pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *       
xmlOutputBufferGetContent       (<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> 
out)<br>
+</pre>
+<p>Gives a pointer to the data currently held in the output buffer</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>out</tt></i>:</span></td>
+<td>an <a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a pointer to the data or NULL in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlOutputBufferGetSize"></a>xmlOutputBufferGetSize ()</h3>
+<pre class="programlisting">size_t     xmlOutputBufferGetSize          (<a 
href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> out)<br>
+</pre>
+<p>Gives the length of the data currently held in the output buffer</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>out</tt></i>:</span></td>
+<td>an <a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 in case or error or no data is held, the size otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<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>
+<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">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>out</tt></i>:</span></td>
+<td>a buffered parser output</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>len</tt></i>:</span></td>
+<td>the size in bytes of the array.</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>buf</tt></i>:</span></td>
+<td>an char array</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the number of chars immediately written, or -1 in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>out</tt></i>:</span></td>
+<td>a buffered parser output</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>str</tt></i>:</span></td>
+<td>a zero terminated UTF-8 string</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>escaping</tt></i>:</span></td>
+<td>an optional escaping function (or NULL)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the number of chars immediately written, or -1 in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlOutputBufferWriteString"></a>xmlOutputBufferWriteString ()</h3>
+<pre class="programlisting">int        xmlOutputBufferWriteString      (<a 
href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> out, <br>                                  
       const char * str)<br>
+</pre>
+<p>Write the content of the string 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">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>out</tt></i>:</span></td>
+<td>a buffered parser output</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>str</tt></i>:</span></td>
+<td>a zero terminated C string</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the number of chars immediately written, or -1 in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParserGetDirectory"></a>xmlParserGetDirectory ()</h3>
+<pre class="programlisting">char *     xmlParserGetDirectory           (const char * filename)<br>
+</pre>
+<p>lookup the directory for that file</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 path to a file</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a new allocated string containing the directory, or NULL.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>fd</tt></i>:</span></td>
+<td>a file descriptor number</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>enc</tt></i>:</span></td>
+<td>the charset encoding if known</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the new parser input or NULL</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>file</tt></i>:</span></td>
+<td>a FILE*</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>enc</tt></i>:</span></td>
+<td>the charset encoding if known</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the new parser input or NULL</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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 If filename is "-' then we use stdin 
as the input. 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>
+<tr>
+<td><span class="term"><i><tt>URI</tt></i>:</span></td>
+<td>a C string containing the URI or filename</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>enc</tt></i>:</span></td>
+<td>the charset encoding if known</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the new parser input or NULL</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ioread</tt></i>:</span></td>
+<td>an I/O read function</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ioclose</tt></i>:</span></td>
+<td>an I/O close function</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ioctx</tt></i>:</span></td>
+<td>an I/O handler</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>enc</tt></i>:</span></td>
+<td>the charset encoding if known</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the new parser input or NULL</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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 buffered parser input for the progressive parsing for the input from a memory area.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>mem</tt></i>:</span></td>
+<td>the memory input</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>size</tt></i>:</span></td>
+<td>the length of the memory block</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>enc</tt></i>:</span></td>
+<td>the charset encoding if known</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the new parser input or NULL</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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 buffered parser input for the progressive parsing for the input from an immutable memory area. 
This will not copy the memory area to the buffer, but the memory is expected to be available until the end of 
the parsing, this is useful for example when using mmap'ed file.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>mem</tt></i>:</span></td>
+<td>the memory input</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>size</tt></i>:</span></td>
+<td>the length of the memory block</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>enc</tt></i>:</span></td>
+<td>the charset encoding if known</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the new parser input or NULL</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>in</tt></i>:</span></td>
+<td>a buffered parser input</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>len</tt></i>:</span></td>
+<td>indicative value of the amount of chars to read</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the number of chars read and stored in the buffer, or -1 in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>in</tt></i>:</span></td>
+<td>a buffered parser input</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>len</tt></i>:</span></td>
+<td>the size in bytes of the array.</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>buf</tt></i>:</span></td>
+<td>an char array</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the number of chars read and stored in the buffer, or -1 in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>in</tt></i>:</span></td>
+<td>a buffered parser input</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>len</tt></i>:</span></td>
+<td>indicative value of the amount of chars to read</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the number of chars read and stored in the buffer, or -1 in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlPopInputCallbacks"></a>xmlPopInputCallbacks ()</h3>
+<pre class="programlisting">int        xmlPopInputCallbacks            (void)<br>
+</pre>
+<p>Clear the top input callback from the input stack. this includes the compiled-in I/O.</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 number of input callback registered or -1 in case of error.</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlPopOutputCallbacks"></a>xmlPopOutputCallbacks ()</h3>
+<pre class="programlisting">int        xmlPopOutputCallbacks           (void)<br>
+</pre>
+<p>Remove the top output callbacks from the output stack. This includes the compiled-in I/O.</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 number of output callback registered or -1 in case of error.</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlRegisterDefaultInputCallbacks"></a>xmlRegisterDefaultInputCallbacks ()</h3>
+<pre class="programlisting">void       xmlRegisterDefaultInputCallbacks        (void)<br>
+</pre>
+<p>Registers the default compiled-in I/O handlers.</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlRegisterDefaultOutputCallbacks"></a>xmlRegisterDefaultOutputCallbacks ()</h3>
+<pre class="programlisting">void       xmlRegisterDefaultOutputCallbacks       (void)<br>
+</pre>
+<p>Registers the default compiled-in I/O handlers.</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlRegisterHTTPPostCallbacks"></a>xmlRegisterHTTPPostCallbacks ()</h3>
+<pre class="programlisting">void       xmlRegisterHTTPPostCallbacks    (void)<br>
+</pre>
+<p>By default, libxml submits HTTP output requests using the "PUT" method. Calling this method changes the 
HTTP output method to use the "POST" method instead.</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>matchFunc</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlIO.html#xmlInputMatchCallback">xmlInputMatchCallback</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>openFunc</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlIO.html#xmlInputOpenCallback">xmlInputOpenCallback</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>readFunc</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>closeFunc</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the registered handler number or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlRegisterOutputCallbacks"></a>xmlRegisterOutputCallbacks ()</h3>
+<pre class="programlisting">int        xmlRegisterOutputCallbacks      (<a 
href="libxml2-xmlIO.html#xmlOutputMatchCallback">xmlOutputMatchCallback</a> matchFunc, <br>                   
               <a href="libxml2-xmlIO.html#xmlOutputOpenCallback">xmlOutputOpenCallback</a> openFunc, <br>    
                                 <a 
href="libxml2-xmlIO.html#xmlOutputWriteCallback">xmlOutputWriteCallback</a> writeFunc, <br>                   
               <a href="libxml2-xmlIO.html#xmlOutputCloseCallback">xmlOutputCloseCallback</a> closeFunc)<br>
+</pre>
+<p>Register a new set of I/O callback for handling output.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>matchFunc</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlIO.html#xmlOutputMatchCallback">xmlOutputMatchCallback</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>openFunc</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlIO.html#xmlOutputOpenCallback">xmlOutputOpenCallback</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>writeFunc</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlIO.html#xmlOutputWriteCallback">xmlOutputWriteCallback</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>closeFunc</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlIO.html#xmlOutputCloseCallback">xmlOutputCloseCallback</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the registered handler number or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+</div>
+</div>
+</body>
 </html>
diff --git a/doc/devhelp/libxml2-xmlautomata.html b/doc/devhelp/libxml2-xmlautomata.html
index df2640a7..eb274b96 100644
--- a/doc/devhelp/libxml2-xmlautomata.html
+++ b/doc/devhelp/libxml2-xmlautomata.html
@@ -1,176 +1,696 @@
-<?xml version="1.0" encoding="UTF-8"?>
 <html>
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
-    <title>xmlautomata: API to build regexp automata</title>
-    <meta name="generator" content="Libxml2 devhelp stylesheet"/>
-    <link rel="start" href="index.html" title="libxml2 Reference Manual"/>
-    <link rel="up" href="general.html" title="API"/>
-    <link rel="stylesheet" href="style.css" type="text/css"/>
-    <link rel="chapter" href="general.html" title="API"/>
-  </head>
-  <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-    <table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
-      <tr valign="middle">
-        <td>
-          <a accesskey="p" href="libxml2-xmlIO.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-xmlerror.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">xmlautomata</span>
-    </h2>
-    <p>xmlautomata - API to build regexp automata</p>
-    <p>the API to build regexp automata </p>
-    <p>Author(s): Daniel Veillard </p>
-    <div class="refsynopsisdiv">
-      <h2>Synopsis</h2>
-      <pre class="synopsis">typedef struct _xmlAutomata <a href="#xmlAutomata">xmlAutomata</a>;
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>xmlautomata: API to build regexp automata</title>
+<meta name="generator" content="Libxml2 devhelp stylesheet">
+<link rel="start" href="index.html" title="libxml2 Reference Manual">
+<link rel="up" href="general.html" title="API">
+<link rel="stylesheet" href="style.css" type="text/css">
+<link rel="chapter" href="general.html" title="API">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr 
valign="middle">
+<td><a accesskey="p" href="libxml2-xmlIO.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-xmlerror.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">xmlautomata</span></h2>
+<p>xmlautomata - API to build regexp automata</p>
+<p>the API to build regexp automata </p>
+<p>Author(s): Daniel Veillard </p>
+<div class="refsynopsisdiv">
+<h2>Synopsis</h2>
+<pre class="synopsis">typedef struct _xmlAutomata <a href="#xmlAutomata">xmlAutomata</a>;
 typedef <a href="libxml2-xmlautomata.html#xmlAutomata">xmlAutomata</a> * <a 
href="#xmlAutomataPtr">xmlAutomataPtr</a>;
 typedef struct _xmlAutomataState <a href="#xmlAutomataState">xmlAutomataState</a>;
 typedef <a href="libxml2-xmlautomata.html#xmlAutomataState">xmlAutomataState</a> * <a 
href="#xmlAutomataStatePtr">xmlAutomataStatePtr</a>;
 <a href="libxml2-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a> <a 
href="#xmlAutomataCompile">xmlAutomataCompile</a>    (<a 
href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am);
 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> <a 
href="#xmlAutomataGetInitState">xmlAutomataGetInitState</a>  (<a 
href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am);
 int    <a href="#xmlAutomataIsDeterminist">xmlAutomataIsDeterminist</a>        (<a 
href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am);
-<a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> <a 
href="#xmlAutomataNewAllTrans">xmlAutomataNewAllTrans</a>    (<a 
href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br/>                                   
       <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br/>             
                                 <a 
href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br/>                         
                       int lax);
-<a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> <a 
href="#xmlAutomataNewCountTrans">xmlAutomataNewCountTrans</a>        (<a 
href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br/>                                   
               <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br/>     
                                                 <a 
href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br/>                         
                               const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * token, <br/>      
                                                 int min, <br/>                                               
   int max, <br/>                                                  void * data);
-<a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> <a 
href="#xmlAutomataNewCountTrans2">xmlAutomataNewCountTrans2</a>      (<a 
href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br/>                                   
               <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br/>     
                                                 <a 
href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br/>                         
                               const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * token, <br/>      
                                                 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * 
token2, <br/>                                                      int min, <br/>                             
                     int max, <br/>                                                  void * data);
-<a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> <a 
href="#xmlAutomataNewCountedTrans">xmlAutomataNewCountedTrans</a>    (<a 
href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br/>                                   
               <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br/>     
                                                 <a 
href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br/>                         
                               int counter);
-int    <a href="#xmlAutomataNewCounter">xmlAutomataNewCounter</a>              (<a 
href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br/>                                  
int min, <br/>                                  int max);
-<a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> <a 
href="#xmlAutomataNewCounterTrans">xmlAutomataNewCounterTrans</a>    (<a 
href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br/>                                   
               <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br/>     
                                                 <a 
href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br/>                         
                               int counter);
-<a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> <a 
href="#xmlAutomataNewEpsilon">xmlAutomataNewEpsilon</a>      (<a 
href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br/>                                   
       <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br/>             
                                 <a 
href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to);
-<a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> <a 
href="#xmlAutomataNewNegTrans">xmlAutomataNewNegTrans</a>    (<a 
href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br/>                                   
       <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br/>             
                                 <a 
href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br/>                         
                       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * token, <br/>              
                                 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * token2, <br/>   
                                           void * data);
-<a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> <a 
href="#xmlAutomataNewOnceTrans">xmlAutomataNewOnceTrans</a>  (<a 
href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br/>                                   
       <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br/>             
                                 <a 
href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br/>                         
                       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * token, <br/>              
                                 int min, <br/>                                          int max, <br/>       
                                   void * data);
-<a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> <a 
href="#xmlAutomataNewOnceTrans2">xmlAutomataNewOnceTrans2</a>        (<a 
href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br/>                                   
               <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br/>     
                                                 <a 
href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br/>                         
                               const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * token, <br/>      
                                                 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * 
token2, <br/>                                                      int min, <br/>                             
                     int max, <br/>                                                  void * data);
+<a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> <a 
href="#xmlAutomataNewAllTrans">xmlAutomataNewAllTrans</a>    (<a 
href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br>                                    
       <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br>              
                                 <a 
href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br>                          
                       int lax);
+<a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> <a 
href="#xmlAutomataNewCountTrans">xmlAutomataNewCountTrans</a>        (<a 
href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br>                                    
               <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br>      
                                                 <a 
href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br>                          
                               const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * token, <br>       
                                                 int min, <br>                                                
   int max, <br>                                                   void * data);
+<a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> <a 
href="#xmlAutomataNewCountTrans2">xmlAutomataNewCountTrans2</a>      (<a 
href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br>                                    
               <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br>      
                                                 <a 
href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br>                          
                               const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * token, <br>       
                                                 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * 
token2, <br>                                                       int min, <br>                              
                     int max, <br>                                                   void * data);
+<a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> <a 
href="#xmlAutomataNewCountedTrans">xmlAutomataNewCountedTrans</a>    (<a 
href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br>                                    
               <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br>      
                                                 <a 
href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br>                          
                               int counter);
+int    <a href="#xmlAutomataNewCounter">xmlAutomataNewCounter</a>              (<a 
href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br>                                   
int min, <br>                                   int max);
+<a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> <a 
href="#xmlAutomataNewCounterTrans">xmlAutomataNewCounterTrans</a>    (<a 
href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br>                                    
               <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br>      
                                                 <a 
href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br>                          
                               int counter);
+<a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> <a 
href="#xmlAutomataNewEpsilon">xmlAutomataNewEpsilon</a>      (<a 
href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br>                                    
       <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br>              
                                 <a 
href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to);
+<a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> <a 
href="#xmlAutomataNewNegTrans">xmlAutomataNewNegTrans</a>    (<a 
href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br>                                    
       <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br>              
                                 <a 
href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br>                          
                       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * token, <br>               
                                 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * token2, <br>    
                                           void * data);
+<a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> <a 
href="#xmlAutomataNewOnceTrans">xmlAutomataNewOnceTrans</a>  (<a 
href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br>                                    
       <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br>              
                                 <a 
href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br>                          
                       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * token, <br>               
                                 int min, <br>                                           int max, <br>        
                                   void * data);
+<a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> <a 
href="#xmlAutomataNewOnceTrans2">xmlAutomataNewOnceTrans2</a>        (<a 
href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br>                                    
               <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br>      
                                                 <a 
href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br>                          
                               const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * token, <br>       
                                                 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * 
token2, <br>                                                       int min, <br>                              
                     int max, <br>                                                   void * data);
 <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> <a 
href="#xmlAutomataNewState">xmlAutomataNewState</a>  (<a 
href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am);
-<a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> <a 
href="#xmlAutomataNewTransition">xmlAutomataNewTransition</a>        (<a 
href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br/>                                   
               <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br/>     
                                                 <a 
href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br/>                         
                               const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * token, <br/>      
                                                 void * data);
-<a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> <a 
href="#xmlAutomataNewTransition2">xmlAutomataNewTransition2</a>      (<a 
href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br/>                                   
               <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br/>     
                                                 <a 
href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br/>                         
                               const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * token, <br/>      
                                                 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * 
token2, <br/>                                                      void * data);
-int    <a href="#xmlAutomataSetFinalState">xmlAutomataSetFinalState</a>        (<a 
href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br/>                                  
<a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> state);
+<a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> <a 
href="#xmlAutomataNewTransition">xmlAutomataNewTransition</a>        (<a 
href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br>                                    
               <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br>      
                                                 <a 
href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br>                          
                               const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * token, <br>       
                                                 void * data);
+<a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> <a 
href="#xmlAutomataNewTransition2">xmlAutomataNewTransition2</a>      (<a 
href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br>                                    
               <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br>      
                                                 <a 
href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br>                          
                               const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * token, <br>       
                                                 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * 
token2, <br>                                                       void * data);
+int    <a href="#xmlAutomataSetFinalState">xmlAutomataSetFinalState</a>        (<a 
href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br>                                   
<a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> state);
 void   <a href="#xmlFreeAutomata">xmlFreeAutomata</a>                  (<a 
href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am);
 <a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a>   <a 
href="#xmlNewAutomata">xmlNewAutomata</a>            (void);
 </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="xmlAutomata">Structure </a>xmlAutomata</h3><pre 
class="programlisting">struct _xmlAutomata {
+</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="xmlAutomata">Structure </a>xmlAutomata</h3>
+<pre class="programlisting">struct _xmlAutomata {
 The content of this structure is not made public by the API.
 } xmlAutomata;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlAutomataPtr">Typedef </a>xmlAutomataPtr</h3><pre 
class="programlisting"><a href="libxml2-xmlautomata.html#xmlAutomata">xmlAutomata</a> * xmlAutomataPtr;
-</pre><p>A libxml automata description, It can be compiled into a regexp</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlAutomataPtr">Typedef </a>xmlAutomataPtr</h3>
+<pre class="programlisting"><a href="libxml2-xmlautomata.html#xmlAutomata">xmlAutomata</a> * xmlAutomataPtr;
+</pre>
+<p>A libxml automata description, It can be compiled into a regexp</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlAutomataState">Structure 
</a>xmlAutomataState</h3><pre class="programlisting">struct _xmlAutomataState {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlAutomataState">Structure </a>xmlAutomataState</h3>
+<pre class="programlisting">struct _xmlAutomataState {
 The content of this structure is not made public by the API.
 } xmlAutomataState;
-</pre><p/>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlAutomataStatePtr">Typedef 
</a>xmlAutomataStatePtr</h3><pre class="programlisting"><a 
href="libxml2-xmlautomata.html#xmlAutomataState">xmlAutomataState</a> * xmlAutomataStatePtr;
-</pre><p>A state int the automata description,</p>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlAutomataCompile"/>xmlAutomataCompile ()</h3><pre 
class="programlisting"><a href="libxml2-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a> xmlAutomataCompile      
(<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am)<br/>
-</pre><p>Compile the automata into a Reg Exp ready for being executed. The automata should be free after 
this point.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>am</tt></i>:</span></td><td>an automata</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the compiled regexp or NULL in case of 
error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlAutomataGetInitState"/>xmlAutomataGetInitState 
()</h3><pre class="programlisting"><a 
href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>       xmlAutomataGetInitState (<a 
href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am)<br/>
-</pre><p>Initial state lookup</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>am</tt></i>:</span></td><td>an automata</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the initial state of the 
automata</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlAutomataIsDeterminist"/>xmlAutomataIsDeterminist 
()</h3><pre class="programlisting">int        xmlAutomataIsDeterminist        (<a 
href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am)<br/>
-</pre><p>Checks if an automata is determinist.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>am</tt></i>:</span></td><td>an automata</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true, 0 if not, and -1 in case of 
error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlAutomataNewAllTrans"/>xmlAutomataNewAllTrans 
()</h3><pre class="programlisting"><a 
href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> xmlAutomataNewAllTrans  (<a 
href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br/>                                   
       <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br/>             
                                 <a 
href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br/>                         
                       int lax)<br/>
-</pre><p>If @to is NULL, this creates first a new target state in the automata and then adds a an ALL 
transition from the @from state to the target state. That transition is an epsilon transition allowed only 
when all transitions from the @from node have been activated.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>am</tt></i>:</span></td><td>an automata</td></tr><tr><td><span 
class="term"><i><tt>from</tt></i>:</span></td><td>the starting point of the transition</td></tr><tr><td><span 
class="term"><i><tt>to</tt></i>:</span></td><td>the target point of the transition or 
NULL</td></tr><tr><td><span class="term"><i><tt>lax</tt></i>:</span></td><td>allow to transition if not all 
all transitions have been activated</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the target state or NULL in case of 
error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlAutomataNewCountTrans"/>xmlAutomataNewCountTrans 
()</h3><pre class="programlisting"><a 
href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>     xmlAutomataNewCountTrans      
  (<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br/>                             
                     <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, 
<br/>                                                      <a 
href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br/>                         
                               const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * token, <br/>      
                                                 int min, <br/>                                               
   int max, <br/>                                                  void * data)<br/>
-</pre><p>If @to is NULL, this creates first a new target state in the automata and then adds a transition 
from the @from state to the target state activated by a succession of input of value @token and whose number 
is between @min and @max</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>am</tt></i>:</span></td><td>an automata</td></tr><tr><td><span 
class="term"><i><tt>from</tt></i>:</span></td><td>the starting point of the transition</td></tr><tr><td><span 
class="term"><i><tt>to</tt></i>:</span></td><td>the target point of the transition or 
NULL</td></tr><tr><td><span class="term"><i><tt>token</tt></i>:</span></td><td>the input string associated to 
that transition</td></tr><tr><td><span class="term"><i><tt>min</tt></i>:</span></td><td>the minimum 
successive occurrences of token</td></tr><tr><td><span class="term"><i><tt>max</tt></i>:</span></td><td>the 
maximum successive occurrences of token</td></tr><tr><td><span 
class="term"><i><tt>data</tt></i>:</span></td><td>data associated to the transition</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the target state or NULL in case of 
error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlAutomataNewCountTrans2"/>xmlAutomataNewCountTrans2 
()</h3><pre class="programlisting"><a 
href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>   xmlAutomataNewCountTrans2       
(<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br/>                               
                   <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br/> 
                                                     <a 
href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br/>                         
                               const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * token, <br/>      
                                                 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * 
token2, <br/>                                                      int min, <br/>                             
                     int max, <br/>                                                  void * data)<br/>
-</pre><p>If @to is NULL, this creates first a new target state in the automata and then adds a transition 
from the @from state to the target state activated by a succession of input of value @token and @token2 and 
whose number is between @min and @max</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>am</tt></i>:</span></td><td>an automata</td></tr><tr><td><span 
class="term"><i><tt>from</tt></i>:</span></td><td>the starting point of the transition</td></tr><tr><td><span 
class="term"><i><tt>to</tt></i>:</span></td><td>the target point of the transition or 
NULL</td></tr><tr><td><span class="term"><i><tt>token</tt></i>:</span></td><td>the input string associated to 
that transition</td></tr><tr><td><span class="term"><i><tt>token2</tt></i>:</span></td><td>the second input 
string associated to that transition</td></tr><tr><td><span 
class="term"><i><tt>min</tt></i>:</span></td><td>the minimum successive occurrences of 
token</td></tr><tr><td><span class="term"><i><tt>max</tt></i>:</span></td><td>the maximum successive 
occurrences of token</td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>data associated 
to the transition</td></tr><tr><td><span class="term"><i><
 tt>Returns</tt></i>:</span></td><td>the target state or NULL in case of 
error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlAutomataNewCountedTrans"/>xmlAutomataNewCountedTrans 
()</h3><pre class="programlisting"><a 
href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> xmlAutomataNewCountedTrans      
(<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br/>                               
                   <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br/> 
                                                     <a 
href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br/>                         
                               int counter)<br/>
-</pre><p>If @to is NULL, this creates first a new target state in the automata and then adds an epsilon 
transition from the @from state to the target state which will increment the counter provided</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>am</tt></i>:</span></td><td>an automata</td></tr><tr><td><span 
class="term"><i><tt>from</tt></i>:</span></td><td>the starting point of the transition</td></tr><tr><td><span 
class="term"><i><tt>to</tt></i>:</span></td><td>the target point of the transition or 
NULL</td></tr><tr><td><span class="term"><i><tt>counter</tt></i>:</span></td><td>the counter associated to 
that transition</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the target state 
or NULL in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlAutomataNewCounter"/>xmlAutomataNewCounter 
()</h3><pre class="programlisting">int      xmlAutomataNewCounter           (<a 
href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br/>                                  
int min, <br/>                                  int max)<br/>
-</pre><p>Create a new counter</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>am</tt></i>:</span></td><td>an automata</td></tr><tr><td><span 
class="term"><i><tt>min</tt></i>:</span></td><td>the minimal value on the counter</td></tr><tr><td><span 
class="term"><i><tt>max</tt></i>:</span></td><td>the maximal value on the counter</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the counter number or -1 in case of 
error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlAutomataNewCounterTrans"/>xmlAutomataNewCounterTrans 
()</h3><pre class="programlisting"><a 
href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> xmlAutomataNewCounterTrans      
(<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br/>                               
                   <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br/> 
                                                     <a 
href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br/>                         
                               int counter)<br/>
-</pre><p>If @to is NULL, this creates first a new target state in the automata and then adds an epsilon 
transition from the @from state to the target state which will be allowed only if the counter is within the 
right range.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>am</tt></i>:</span></td><td>an automata</td></tr><tr><td><span 
class="term"><i><tt>from</tt></i>:</span></td><td>the starting point of the transition</td></tr><tr><td><span 
class="term"><i><tt>to</tt></i>:</span></td><td>the target point of the transition or 
NULL</td></tr><tr><td><span class="term"><i><tt>counter</tt></i>:</span></td><td>the counter associated to 
that transition</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the target state 
or NULL in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlAutomataNewEpsilon"/>xmlAutomataNewEpsilon 
()</h3><pre class="programlisting"><a 
href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>   xmlAutomataNewEpsilon   (<a 
href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br/>                                   
       <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br/>             
                                 <a 
href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to)<br/>
-</pre><p>If @to is NULL, this creates first a new target state in the automata and then adds an epsilon 
transition from the @from state to the target state</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>am</tt></i>:</span></td><td>an automata</td></tr><tr><td><span 
class="term"><i><tt>from</tt></i>:</span></td><td>the starting point of the transition</td></tr><tr><td><span 
class="term"><i><tt>to</tt></i>:</span></td><td>the target point of the transition or 
NULL</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the target state or NULL in 
case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlAutomataNewNegTrans"/>xmlAutomataNewNegTrans 
()</h3><pre class="programlisting"><a 
href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> xmlAutomataNewNegTrans  (<a 
href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br/>                                   
       <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br/>             
                                 <a 
href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br/>                         
                       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * token, <br/>              
                                 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * token2, <br/>   
                                           void * data)<br/>
-</pre><p>If @to is NULL, this creates first a new target state in the automata and then adds a transition 
from the @from state to the target state activated by any value except (@token,@token2) Note that if @token2 
is not NULL, then (X, NULL) won't match to follow # the semantic of XSD ##other</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>am</tt></i>:</span></td><td>an automata</td></tr><tr><td><span 
class="term"><i><tt>from</tt></i>:</span></td><td>the starting point of the transition</td></tr><tr><td><span 
class="term"><i><tt>to</tt></i>:</span></td><td>the target point of the transition or 
NULL</td></tr><tr><td><span class="term"><i><tt>token</tt></i>:</span></td><td>the first input string 
associated to that transition</td></tr><tr><td><span class="term"><i><tt>token2</tt></i>:</span></td><td>the 
second input string associated to that transition</td></tr><tr><td><span 
class="term"><i><tt>data</tt></i>:</span></td><td>data passed to the callback function if the transition is 
activated</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the target state or 
NULL in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlAutomataNewOnceTrans"/>xmlAutomataNewOnceTrans 
()</h3><pre class="programlisting"><a 
href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>       xmlAutomataNewOnceTrans (<a 
href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br/>                                   
       <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br/>             
                                 <a 
href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br/>                         
                       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * token, <br/>              
                                 int min, <br/>                                          int max, <br/>       
                                   void * data)<br/>
-</pre><p>If @to is NULL, this creates first a new target state in the automata and then adds a transition 
from the @from state to the target state activated by a succession of input of value @token and whose number 
is between @min and @max, moreover that transition can only be crossed once.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>am</tt></i>:</span></td><td>an automata</td></tr><tr><td><span 
class="term"><i><tt>from</tt></i>:</span></td><td>the starting point of the transition</td></tr><tr><td><span 
class="term"><i><tt>to</tt></i>:</span></td><td>the target point of the transition or 
NULL</td></tr><tr><td><span class="term"><i><tt>token</tt></i>:</span></td><td>the input string associated to 
that transition</td></tr><tr><td><span class="term"><i><tt>min</tt></i>:</span></td><td>the minimum 
successive occurrences of token</td></tr><tr><td><span class="term"><i><tt>max</tt></i>:</span></td><td>the 
maximum successive occurrences of token</td></tr><tr><td><span 
class="term"><i><tt>data</tt></i>:</span></td><td>data associated to the transition</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the target state or NULL in case of 
error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlAutomataNewOnceTrans2"/>xmlAutomataNewOnceTrans2 
()</h3><pre class="programlisting"><a 
href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>     xmlAutomataNewOnceTrans2      
  (<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br/>                             
                     <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, 
<br/>                                                      <a 
href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br/>                         
                               const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * token, <br/>      
                                                 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * 
token2, <br/>                                                      int min, <br/>                             
                     int max, <br/>                                                  void * data)<br/>
-</pre><p>If @to is NULL, this creates first a new target state in the automata and then adds a transition 
from the @from state to the target state activated by a succession of input of value @token and @token2 and 
whose number is between @min and @max, moreover that transition can only be crossed once.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>am</tt></i>:</span></td><td>an automata</td></tr><tr><td><span 
class="term"><i><tt>from</tt></i>:</span></td><td>the starting point of the transition</td></tr><tr><td><span 
class="term"><i><tt>to</tt></i>:</span></td><td>the target point of the transition or 
NULL</td></tr><tr><td><span class="term"><i><tt>token</tt></i>:</span></td><td>the input string associated to 
that transition</td></tr><tr><td><span class="term"><i><tt>token2</tt></i>:</span></td><td>the second input 
string associated to that transition</td></tr><tr><td><span 
class="term"><i><tt>min</tt></i>:</span></td><td>the minimum successive occurrences of 
token</td></tr><tr><td><span class="term"><i><tt>max</tt></i>:</span></td><td>the maximum successive 
occurrences of token</td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>data associated 
to the transition</td></tr><tr><td><span class="term"><i><
 tt>Returns</tt></i>:</span></td><td>the target state or NULL in case of 
error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlAutomataNewState"/>xmlAutomataNewState ()</h3><pre 
class="programlisting"><a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>       
xmlAutomataNewState     (<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am)<br/>
-</pre><p>Create a new disconnected state in the automata</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>am</tt></i>:</span></td><td>an automata</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the new state or NULL in case of 
error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlAutomataNewTransition"/>xmlAutomataNewTransition 
()</h3><pre class="programlisting"><a 
href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>     xmlAutomataNewTransition      
  (<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br/>                             
                     <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, 
<br/>                                                      <a 
href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br/>                         
                               const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * token, <br/>      
                                                 void * data)<br/>
-</pre><p>If @to is NULL, this creates first a new target state in the automata and then adds a transition 
from the @from state to the target state activated by the value of @token</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>am</tt></i>:</span></td><td>an automata</td></tr><tr><td><span 
class="term"><i><tt>from</tt></i>:</span></td><td>the starting point of the transition</td></tr><tr><td><span 
class="term"><i><tt>to</tt></i>:</span></td><td>the target point of the transition or 
NULL</td></tr><tr><td><span class="term"><i><tt>token</tt></i>:</span></td><td>the input string associated to 
that transition</td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>data passed to the 
callback function if the transition is activated</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the target state or NULL in case of 
error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlAutomataNewTransition2"/>xmlAutomataNewTransition2 
()</h3><pre class="programlisting"><a 
href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>   xmlAutomataNewTransition2       
(<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br/>                               
                   <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br/> 
                                                     <a 
href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, <br/>                         
                               const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * token, <br/>      
                                                 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * 
token2, <br/>                                                      void * data)<br/>
-</pre><p>If @to is NULL, this creates first a new target state in the automata and then adds a transition 
from the @from state to the target state activated by the value of @token</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>am</tt></i>:</span></td><td>an automata</td></tr><tr><td><span 
class="term"><i><tt>from</tt></i>:</span></td><td>the starting point of the transition</td></tr><tr><td><span 
class="term"><i><tt>to</tt></i>:</span></td><td>the target point of the transition or 
NULL</td></tr><tr><td><span class="term"><i><tt>token</tt></i>:</span></td><td>the first input string 
associated to that transition</td></tr><tr><td><span class="term"><i><tt>token2</tt></i>:</span></td><td>the 
second input string associated to that transition</td></tr><tr><td><span 
class="term"><i><tt>data</tt></i>:</span></td><td>data passed to the callback function if the transition is 
activated</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the target state or 
NULL in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlAutomataSetFinalState"/>xmlAutomataSetFinalState 
()</h3><pre class="programlisting">int        xmlAutomataSetFinalState        (<a 
href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br/>                                  
<a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> state)<br/>
-</pre><p>Makes that state a final state</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>am</tt></i>:</span></td><td>an automata</td></tr><tr><td><span 
class="term"><i><tt>state</tt></i>:</span></td><td>a state in this automata</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="xmlFreeAutomata"/>xmlFreeAutomata ()</h3><pre 
class="programlisting">void xmlFreeAutomata                 (<a 
href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am)<br/>
-</pre><p>Free an automata</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>am</tt></i>:</span></td><td>an automata</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNewAutomata"/>xmlNewAutomata ()</h3><pre 
class="programlisting"><a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a>   xmlNewAutomata  
        (void)<br/>
-</pre><p>Create a new automata</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 new object or NULL in case of 
failure</td></tr></tbody></table></div></div>
-        <hr/>
-      </div>
-    </div>
-  </body>
+</pre>
+<p></p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlAutomataStatePtr">Typedef </a>xmlAutomataStatePtr</h3>
+<pre class="programlisting"><a href="libxml2-xmlautomata.html#xmlAutomataState">xmlAutomataState</a> * 
xmlAutomataStatePtr;
+</pre>
+<p>A state int the automata description,</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlAutomataCompile"></a>xmlAutomataCompile ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a>     
xmlAutomataCompile      (<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am)<br>
+</pre>
+<p>Compile the automata into a Reg Exp ready for being executed. The automata should be free after this 
point.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>am</tt></i>:</span></td>
+<td>an automata</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the compiled regexp or NULL in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlAutomataGetInitState"></a>xmlAutomataGetInitState ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>   
  xmlAutomataGetInitState (<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am)<br>
+</pre>
+<p>Initial state lookup</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>am</tt></i>:</span></td>
+<td>an automata</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the initial state of the automata</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlAutomataIsDeterminist"></a>xmlAutomataIsDeterminist ()</h3>
+<pre class="programlisting">int        xmlAutomataIsDeterminist        (<a 
href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am)<br>
+</pre>
+<p>Checks if an automata is determinist.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>am</tt></i>:</span></td>
+<td>an automata</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true, 0 if not, and -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlAutomataNewAllTrans"></a>xmlAutomataNewAllTrans ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>   
  xmlAutomataNewAllTrans  (<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br>      
                                     <a 
href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br>                        
                       <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, 
<br>                                                 int lax)<br>
+</pre>
+<p>If @to is NULL, this creates first a new target state in the automata and then adds a an ALL transition 
from the @from state to the target state. That transition is an epsilon transition allowed only when all 
transitions from the @from node have been activated.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>am</tt></i>:</span></td>
+<td>an automata</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>from</tt></i>:</span></td>
+<td>the starting point of the transition</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>to</tt></i>:</span></td>
+<td>the target point of the transition or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>lax</tt></i>:</span></td>
+<td>allow to transition if not all all transitions have been activated</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the target state or NULL in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlAutomataNewCountTrans"></a>xmlAutomataNewCountTrans ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>   
  xmlAutomataNewCountTrans        (<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, 
<br>                                                   <a 
href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br>                        
                               <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> 
to, <br>                                                         const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * token, <br>                                               
         int min, <br>                                                   int max, <br>                        
                           void * data)<br>
+</pre>
+<p>If @to is NULL, this creates first a new target state in the automata and then adds a transition from the 
@from state to the target state activated by a succession of input of value @token and whose number is 
between @min and @max</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>am</tt></i>:</span></td>
+<td>an automata</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>from</tt></i>:</span></td>
+<td>the starting point of the transition</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>to</tt></i>:</span></td>
+<td>the target point of the transition or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>token</tt></i>:</span></td>
+<td>the input string associated to that transition</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>min</tt></i>:</span></td>
+<td>the minimum successive occurrences of token</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>max</tt></i>:</span></td>
+<td>the maximum successive occurrences of token</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>data</tt></i>:</span></td>
+<td>data associated to the transition</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the target state or NULL in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlAutomataNewCountTrans2"></a>xmlAutomataNewCountTrans2 ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>   
  xmlAutomataNewCountTrans2       (<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, 
<br>                                                   <a 
href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br>                        
                               <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> 
to, <br>                                                         const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * token, <br>                                               
         const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * token2, <br>                            
                           int min, <br>                                                   int max, <br>      
                                             void * data)<br>
+</pre>
+<p>If @to is NULL, this creates first a new target state in the automata and then adds a transition from the 
@from state to the target state activated by a succession of input of value @token and @token2 and whose 
number is between @min and @max</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>am</tt></i>:</span></td>
+<td>an automata</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>from</tt></i>:</span></td>
+<td>the starting point of the transition</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>to</tt></i>:</span></td>
+<td>the target point of the transition or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>token</tt></i>:</span></td>
+<td>the input string associated to that transition</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>token2</tt></i>:</span></td>
+<td>the second input string associated to that transition</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>min</tt></i>:</span></td>
+<td>the minimum successive occurrences of token</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>max</tt></i>:</span></td>
+<td>the maximum successive occurrences of token</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>data</tt></i>:</span></td>
+<td>data associated to the transition</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the target state or NULL in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlAutomataNewCountedTrans"></a>xmlAutomataNewCountedTrans ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>   
  xmlAutomataNewCountedTrans      (<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, 
<br>                                                   <a 
href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br>                        
                               <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> 
to, <br>                                                         int counter)<br>
+</pre>
+<p>If @to is NULL, this creates first a new target state in the automata and then adds an epsilon transition 
from the @from state to the target state which will increment the counter provided</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>am</tt></i>:</span></td>
+<td>an automata</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>from</tt></i>:</span></td>
+<td>the starting point of the transition</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>to</tt></i>:</span></td>
+<td>the target point of the transition or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>counter</tt></i>:</span></td>
+<td>the counter associated to that transition</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the target state or NULL in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlAutomataNewCounter"></a>xmlAutomataNewCounter ()</h3>
+<pre class="programlisting">int        xmlAutomataNewCounter           (<a 
href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br>                                   
int min, <br>                                   int max)<br>
+</pre>
+<p>Create a new counter</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>am</tt></i>:</span></td>
+<td>an automata</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>min</tt></i>:</span></td>
+<td>the minimal value on the counter</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>max</tt></i>:</span></td>
+<td>the maximal value on the counter</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the counter number or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlAutomataNewCounterTrans"></a>xmlAutomataNewCounterTrans ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>   
  xmlAutomataNewCounterTrans      (<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, 
<br>                                                   <a 
href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br>                        
                               <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> 
to, <br>                                                         int counter)<br>
+</pre>
+<p>If @to is NULL, this creates first a new target state in the automata and then adds an epsilon transition 
from the @from state to the target state which will be allowed only if the counter is within the right 
range.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>am</tt></i>:</span></td>
+<td>an automata</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>from</tt></i>:</span></td>
+<td>the starting point of the transition</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>to</tt></i>:</span></td>
+<td>the target point of the transition or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>counter</tt></i>:</span></td>
+<td>the counter associated to that transition</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the target state or NULL in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlAutomataNewEpsilon"></a>xmlAutomataNewEpsilon ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>   
  xmlAutomataNewEpsilon   (<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br>      
                                     <a 
href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br>                        
                       <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to)<br>
+</pre>
+<p>If @to is NULL, this creates first a new target state in the automata and then adds an epsilon transition 
from the @from state to the target state</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>am</tt></i>:</span></td>
+<td>an automata</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>from</tt></i>:</span></td>
+<td>the starting point of the transition</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>to</tt></i>:</span></td>
+<td>the target point of the transition or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the target state or NULL in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlAutomataNewNegTrans"></a>xmlAutomataNewNegTrans ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>   
  xmlAutomataNewNegTrans  (<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br>      
                                     <a 
href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br>                        
                       <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, 
<br>                                                 const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * token, <br>                                               
 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * token2, <br>                                    
           void * data)<br>
+</pre>
+<p>If @to is NULL, this creates first a new target state in the automata and then adds a transition from the 
@from state to the target state activated by any value except (@token,@token2) Note that if @token2 is not 
NULL, then (X, NULL) won't match to follow # the semantic of XSD ##other</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>am</tt></i>:</span></td>
+<td>an automata</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>from</tt></i>:</span></td>
+<td>the starting point of the transition</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>to</tt></i>:</span></td>
+<td>the target point of the transition or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>token</tt></i>:</span></td>
+<td>the first input string associated to that transition</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>token2</tt></i>:</span></td>
+<td>the second input string associated to that transition</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>data</tt></i>:</span></td>
+<td>data passed to the callback function if the transition is activated</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the target state or NULL in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlAutomataNewOnceTrans"></a>xmlAutomataNewOnceTrans ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>   
  xmlAutomataNewOnceTrans (<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br>      
                                     <a 
href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br>                        
                       <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> to, 
<br>                                                 const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * token, <br>                                               
 int min, <br>                                           int max, <br>                                        
   void * data)<br>
+</pre>
+<p>If @to is NULL, this creates first a new target state in the automata and then adds a transition from the 
@from state to the target state activated by a succession of input of value @token and whose number is 
between @min and @max, moreover that transition can only be crossed once.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>am</tt></i>:</span></td>
+<td>an automata</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>from</tt></i>:</span></td>
+<td>the starting point of the transition</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>to</tt></i>:</span></td>
+<td>the target point of the transition or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>token</tt></i>:</span></td>
+<td>the input string associated to that transition</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>min</tt></i>:</span></td>
+<td>the minimum successive occurrences of token</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>max</tt></i>:</span></td>
+<td>the maximum successive occurrences of token</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>data</tt></i>:</span></td>
+<td>data associated to the transition</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the target state or NULL in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlAutomataNewOnceTrans2"></a>xmlAutomataNewOnceTrans2 ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>   
  xmlAutomataNewOnceTrans2        (<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, 
<br>                                                   <a 
href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br>                        
                               <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> 
to, <br>                                                         const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * token, <br>                                               
         const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * token2, <br>                            
                           int min, <br>                                                   int max, <br>      
                                             void * data)<br>
+</pre>
+<p>If @to is NULL, this creates first a new target state in the automata and then adds a transition from the 
@from state to the target state activated by a succession of input of value @token and @token2 and whose 
number is between @min and @max, moreover that transition can only be crossed once.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>am</tt></i>:</span></td>
+<td>an automata</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>from</tt></i>:</span></td>
+<td>the starting point of the transition</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>to</tt></i>:</span></td>
+<td>the target point of the transition or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>token</tt></i>:</span></td>
+<td>the input string associated to that transition</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>token2</tt></i>:</span></td>
+<td>the second input string associated to that transition</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>min</tt></i>:</span></td>
+<td>the minimum successive occurrences of token</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>max</tt></i>:</span></td>
+<td>the maximum successive occurrences of token</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>data</tt></i>:</span></td>
+<td>data associated to the transition</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the target state or NULL in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlAutomataNewState"></a>xmlAutomataNewState ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>   
  xmlAutomataNewState     (<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am)<br>
+</pre>
+<p>Create a new disconnected state in the automata</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>am</tt></i>:</span></td>
+<td>an automata</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the new state or NULL in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlAutomataNewTransition"></a>xmlAutomataNewTransition ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>   
  xmlAutomataNewTransition        (<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, 
<br>                                                   <a 
href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br>                        
                               <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> 
to, <br>                                                         const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * token, <br>                                               
         void * data)<br>
+</pre>
+<p>If @to is NULL, this creates first a new target state in the automata and then adds a transition from the 
@from state to the target state activated by the value of @token</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>am</tt></i>:</span></td>
+<td>an automata</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>from</tt></i>:</span></td>
+<td>the starting point of the transition</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>to</tt></i>:</span></td>
+<td>the target point of the transition or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>token</tt></i>:</span></td>
+<td>the input string associated to that transition</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>data</tt></i>:</span></td>
+<td>data passed to the callback function if the transition is activated</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the target state or NULL in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlAutomataNewTransition2"></a>xmlAutomataNewTransition2 ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a>   
  xmlAutomataNewTransition2       (<a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, 
<br>                                                   <a 
href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> from, <br>                        
                               <a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> 
to, <br>                                                         const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * token, <br>                                               
         const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * token2, <br>                            
                           void * data)<br>
+</pre>
+<p>If @to is NULL, this creates first a new target state in the automata and then adds a transition from the 
@from state to the target state activated by the value of @token</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>am</tt></i>:</span></td>
+<td>an automata</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>from</tt></i>:</span></td>
+<td>the starting point of the transition</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>to</tt></i>:</span></td>
+<td>the target point of the transition or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>token</tt></i>:</span></td>
+<td>the first input string associated to that transition</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>token2</tt></i>:</span></td>
+<td>the second input string associated to that transition</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>data</tt></i>:</span></td>
+<td>data passed to the callback function if the transition is activated</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the target state or NULL in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlAutomataSetFinalState"></a>xmlAutomataSetFinalState ()</h3>
+<pre class="programlisting">int        xmlAutomataSetFinalState        (<a 
href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am, <br>                                   
<a href="libxml2-xmlautomata.html#xmlAutomataStatePtr">xmlAutomataStatePtr</a> state)<br>
+</pre>
+<p>Makes that state a final state</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>am</tt></i>:</span></td>
+<td>an automata</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>state</tt></i>:</span></td>
+<td>a state in this automata</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="xmlFreeAutomata"></a>xmlFreeAutomata ()</h3>
+<pre class="programlisting">void       xmlFreeAutomata                 (<a 
href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a> am)<br>
+</pre>
+<p>Free an automata</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>am</tt></i>:</span></td>
+<td>an automata</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNewAutomata"></a>xmlNewAutomata ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlautomata.html#xmlAutomataPtr">xmlAutomataPtr</a>       
xmlNewAutomata          (void)<br>
+</pre>
+<p>Create a new automata</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 new object or NULL in case of failure</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+</div>
+</div>
+</body>
 </html>
diff --git a/doc/devhelp/libxml2-xmlerror.html b/doc/devhelp/libxml2-xmlerror.html
index 9122e084..f97c8e14 100644
--- a/doc/devhelp/libxml2-xmlerror.html
+++ b/doc/devhelp/libxml2-xmlerror.html
@@ -1,79 +1,59 @@
-<?xml version="1.0" encoding="UTF-8"?>
 <html>
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
-    <title>xmlerror: error handling</title>
-    <meta name="generator" content="Libxml2 devhelp stylesheet"/>
-    <link rel="start" href="index.html" title="libxml2 Reference Manual"/>
-    <link rel="up" href="general.html" title="API"/>
-    <link rel="stylesheet" href="style.css" type="text/css"/>
-    <link rel="chapter" href="general.html" title="API"/>
-  </head>
-  <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-    <table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
-      <tr valign="middle">
-        <td>
-          <a accesskey="p" href="libxml2-xmlautomata.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-xmlexports.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">xmlerror</span>
-    </h2>
-    <p>xmlerror - error handling</p>
-    <p>the API used to report errors </p>
-    <p>Author(s): Daniel Veillard </p>
-    <div class="refsynopsisdiv">
-      <h2>Synopsis</h2>
-      <pre class="synopsis">typedef struct _xmlError <a href="#xmlError">xmlError</a>;
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>xmlerror: error handling</title>
+<meta name="generator" content="Libxml2 devhelp stylesheet">
+<link rel="start" href="index.html" title="libxml2 Reference Manual">
+<link rel="up" href="general.html" title="API">
+<link rel="stylesheet" href="style.css" type="text/css">
+<link rel="chapter" href="general.html" title="API">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr 
valign="middle">
+<td><a accesskey="p" href="libxml2-xmlautomata.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-xmlexports.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">xmlerror</span></h2>
+<p>xmlerror - error handling</p>
+<p>the API used to report errors </p>
+<p>Author(s): Daniel Veillard </p>
+<div class="refsynopsisdiv">
+<h2>Synopsis</h2>
+<pre class="synopsis">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>                        (<a 
href="libxml2-xmlerror.html#xmlErrorPtr">xmlErrorPtr</a> from, <br/>                                         
<a href="libxml2-xmlerror.html#xmlErrorPtr">xmlErrorPtr</a> to);
+int    <a href="#xmlCopyError">xmlCopyError</a>                        (<a 
href="libxml2-xmlerror.html#xmlErrorPtr">xmlErrorPtr</a> from, <br>                                  <a 
href="libxml2-xmlerror.html#xmlErrorPtr">xmlErrorPtr</a> to);
 <a href="libxml2-xmlerror.html#xmlErrorPtr">xmlErrorPtr</a>    <a 
href="#xmlCtxtGetLastError">xmlCtxtGetLastError</a>  (void * ctx);
 void   <a href="#xmlCtxtResetLastError">xmlCtxtResetLastError</a>              (void * ctx);
-typedef void <a href="#xmlGenericErrorFunc">xmlGenericErrorFunc</a>            (void * ctx, <br/>            
                           const char * msg, <br/>                                         ... ...);
+typedef void <a href="#xmlGenericErrorFunc">xmlGenericErrorFunc</a>            (void * ctx, <br>             
                           const char * msg, <br>                                  ... ...);
 <a href="libxml2-xmlerror.html#xmlErrorPtr">xmlErrorPtr</a>    <a 
href="#xmlGetLastError">xmlGetLastError</a>          (void);
-void   <a href="#xmlParserError">xmlParserError</a>                    (void * ctx, <br/>                    
                   const char * msg, <br/>                                         ... ...);
+void   <a href="#xmlParserError">xmlParserError</a>                    (void * ctx, <br>                     
                   const char * msg, <br>                                  ... ...);
 void   <a href="#xmlParserPrintFileContext">xmlParserPrintFileContext</a>      (<a 
href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> input);
 void   <a href="#xmlParserPrintFileInfo">xmlParserPrintFileInfo</a>            (<a 
href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> input);
-void   <a href="#xmlParserValidityError">xmlParserValidityError</a>            (void * ctx, <br/>            
                           const char * msg, <br/>                                         ... ...);
-void   <a href="#xmlParserValidityWarning">xmlParserValidityWarning</a>        (void * ctx, <br/>            
                           const char * msg, <br/>                                         ... ...);
-void   <a href="#xmlParserWarning">xmlParserWarning</a>                (void * ctx, <br/>                    
                   const char * msg, <br/>                                         ... ...);
+void   <a href="#xmlParserValidityError">xmlParserValidityError</a>            (void * ctx, <br>             
                           const char * msg, <br>                                  ... ...);
+void   <a href="#xmlParserValidityWarning">xmlParserValidityWarning</a>        (void * ctx, <br>             
                           const char * msg, <br>                                  ... ...);
+void   <a href="#xmlParserWarning">xmlParserWarning</a>                (void * ctx, <br>                     
                   const char * msg, <br>                                  ... ...);
 void   <a href="#xmlResetError">xmlResetError</a>                      (<a 
href="libxml2-xmlerror.html#xmlErrorPtr">xmlErrorPtr</a> err);
 void   <a href="#xmlResetLastError">xmlResetLastError</a>              (void);
-void   <a href="#xmlSetGenericErrorFunc">xmlSetGenericErrorFunc</a>            (void * ctx, <br/>            
                           <a href="libxml2-xmlerror.html#xmlGenericErrorFunc">xmlGenericErrorFunc</a> 
handler);
-void   <a href="#xmlSetStructuredErrorFunc">xmlSetStructuredErrorFunc</a>      (void * ctx, <br/>            
                           <a href="libxml2-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a> 
handler);
-typedef void <a href="#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a>              (void * userData, 
<br/>                                  <a href="libxml2-xmlerror.html#xmlErrorPtr">xmlErrorPtr</a> error);
+void   <a href="#xmlSetGenericErrorFunc">xmlSetGenericErrorFunc</a>            (void * ctx, <br>             
                           <a href="libxml2-xmlerror.html#xmlGenericErrorFunc">xmlGenericErrorFunc</a> 
handler);
+void   <a href="#xmlSetStructuredErrorFunc">xmlSetStructuredErrorFunc</a>      (void * ctx, <br>             
                           <a href="libxml2-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a> 
handler);
+typedef void <a href="#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a>              (void * userData, 
<br>                                   <a href="libxml2-xmlerror.html#xmlErrorPtr">xmlErrorPtr</a> error);
 </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="xmlError">Structure </a>xmlError</h3><pre 
class="programlisting">struct _xmlError {
+</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="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
@@ -88,10 +68,14 @@ typedef void <a href="#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a>           (void
     void *     ctxt    : the parser context if available
     void *     node    : the node in the tree
 } xmlError;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlErrorDomain">Enum </a>xmlErrorDomain</h3><pre 
class="programlisting">enum <a href="#xmlErrorDomain">xmlErrorDomain</a> {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlErrorDomain">Enum </a>xmlErrorDomain</h3>
+<pre class="programlisting">enum <a href="#xmlErrorDomain">xmlErrorDomain</a> {
     <a name="XML_FROM_NONE">XML_FROM_NONE</a> = 0
     <a name="XML_FROM_PARSER">XML_FROM_PARSER</a> = 1 /* The XML parser */
     <a name="XML_FROM_TREE">XML_FROM_TREE</a> = 2 /* The tree module */
@@ -124,23 +108,35 @@ typedef void <a href="#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a>         (void
     <a name="XML_FROM_BUFFER">XML_FROM_BUFFER</a> = 29 /* The buffers module */
     <a name="XML_FROM_URI">XML_FROM_URI</a> = 30 /*  The URI module */
 };
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlErrorLevel">Enum </a>xmlErrorLevel</h3><pre 
class="programlisting">enum <a href="#xmlErrorLevel">xmlErrorLevel</a> {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlErrorLevel">Enum </a>xmlErrorLevel</h3>
+<pre class="programlisting">enum <a href="#xmlErrorLevel">xmlErrorLevel</a> {
     <a name="XML_ERR_NONE">XML_ERR_NONE</a> = 0
     <a name="XML_ERR_WARNING">XML_ERR_WARNING</a> = 1 /* A simple warning */
     <a name="XML_ERR_ERROR">XML_ERR_ERROR</a> = 2 /* A recoverable error */
     <a name="XML_ERR_FATAL">XML_ERR_FATAL</a> = 3 /*  A fatal error */
 };
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlErrorPtr">Typedef </a>xmlErrorPtr</h3><pre 
class="programlisting"><a href="libxml2-xmlerror.html#xmlError">xmlError</a> * xmlErrorPtr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlErrorPtr">Typedef </a>xmlErrorPtr</h3>
+<pre class="programlisting"><a href="libxml2-xmlerror.html#xmlError">xmlError</a> * xmlErrorPtr;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParserErrors">Enum </a>xmlParserErrors</h3><pre 
class="programlisting">enum <a href="#xmlParserErrors">xmlParserErrors</a> {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParserErrors">Enum </a>xmlParserErrors</h3>
+<pre class="programlisting">enum <a href="#xmlParserErrors">xmlParserErrors</a> {
     <a name="XML_ERR_OK">XML_ERR_OK</a> = 0
     <a name="XML_ERR_INTERNAL_ERROR">XML_ERR_INTERNAL_ERROR</a> = 1 /* 1 */
     <a name="XML_ERR_NO_MEMORY">XML_ERR_NO_MEMORY</a> = 2 /* 2 */
@@ -878,78 +874,343 @@ typedef void <a href="#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a>              
  (void
     <a name="XML_I18N_NO_OUTPUT">XML_I18N_NO_OUTPUT</a> = 6004 /* 6004 */
     <a name="XML_BUF_OVERFLOW">XML_BUF_OVERFLOW</a> = 7000
 };
-</pre><p/>
+</pre>
+<p></p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlGenericErrorFunc"></a>Function type xmlGenericErrorFunc</h3>
+<pre class="programlisting">void       xmlGenericErrorFunc             (void * ctx, <br>                     
                   const char * msg, <br>                                  ... ...)<br>
+</pre>
+<p>Signature of the function to use when there is an error and no parsing or validity context available .</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>a parsing context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>msg</tt></i>:</span></td>
+<td>the message</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>...</tt></i>:</span></td>
+<td>the extra arguments of the varargs to format the message</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlStructuredErrorFunc"></a>Function type xmlStructuredErrorFunc</h3>
+<pre class="programlisting">void       xmlStructuredErrorFunc          (void * userData, <br>                
                   <a href="libxml2-xmlerror.html#xmlErrorPtr">xmlErrorPtr</a> error)<br>
+</pre>
+<p>Signature of the function to use when there is an error and the module handles the new error reporting 
mechanism.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>userData</tt></i>:</span></td>
+<td>user provided data for the error callback</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>error</tt></i>:</span></td>
+<td>the error being raised.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<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>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                    (<a 
href="libxml2-xmlerror.html#xmlErrorPtr">xmlErrorPtr</a> from, <br>                                  <a 
href="libxml2-xmlerror.html#xmlErrorPtr">xmlErrorPtr</a> to)<br>
+</pre>
+<p>Save the original error to the new place.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>from</tt></i>:</span></td>
+<td>a source error</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>to</tt></i>:</span></td>
+<td>a target error</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 in case of success and -1 in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCtxtGetLastError"></a>xmlCtxtGetLastError ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlerror.html#xmlErrorPtr">xmlErrorPtr</a>        
xmlCtxtGetLastError     (void * ctx)<br>
+</pre>
+<p>Get the last parsing error registered.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>an XML parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>NULL if no error occurred or a pointer to the error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCtxtResetLastError"></a>xmlCtxtResetLastError ()</h3>
+<pre class="programlisting">void       xmlCtxtResetLastError           (void * ctx)<br>
+</pre>
+<p>Cleanup the last global error registered. For parsing error this does not change the well-formedness 
result.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>an XML parser context</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlGetLastError"></a>xmlGetLastError ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlerror.html#xmlErrorPtr">xmlErrorPtr</a>        
xmlGetLastError         (void)<br>
+</pre>
+<p>Get the last global error registered. This is per thread if compiled with thread support.</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 if no error occurred or a pointer to the error</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParserError"></a>xmlParserError ()</h3>
+<pre class="programlisting">void       xmlParserError                  (void * ctx, <br>                     
                   const char * msg, <br>                                  ... ...)<br>
+</pre>
+<p>Display and format an error messages, gives file, line, position and extra parameters.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>an XML parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>msg</tt></i>:</span></td>
+<td>the message to display/transmit</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>...</tt></i>:</span></td>
+<td>extra parameters for the message display</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParserPrintFileContext"></a>xmlParserPrintFileContext ()</h3>
+<pre class="programlisting">void       xmlParserPrintFileContext       (<a 
href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> input)<br>
+</pre>
+<p>Displays current context within the input content for error tracking</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>input</tt></i>:</span></td>
+<td>an <a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> input</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParserPrintFileInfo"></a>xmlParserPrintFileInfo ()</h3>
+<pre class="programlisting">void       xmlParserPrintFileInfo          (<a 
href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> input)<br>
+</pre>
+<p>Displays the associated file and line information for the current input</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>input</tt></i>:</span></td>
+<td>an <a href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> input</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParserValidityError"></a>xmlParserValidityError ()</h3>
+<pre class="programlisting">void       xmlParserValidityError          (void * ctx, <br>                     
                   const char * msg, <br>                                  ... ...)<br>
+</pre>
+<p>Display and format an validity error messages, gives file, line, position and extra parameters.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>an XML parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>msg</tt></i>:</span></td>
+<td>the message to display/transmit</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>...</tt></i>:</span></td>
+<td>extra parameters for the message display</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParserValidityWarning"></a>xmlParserValidityWarning ()</h3>
+<pre class="programlisting">void       xmlParserValidityWarning        (void * ctx, <br>                     
                   const char * msg, <br>                                  ... ...)<br>
+</pre>
+<p>Display and format a validity warning messages, gives file, line, position and extra parameters.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>an XML parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>msg</tt></i>:</span></td>
+<td>the message to display/transmit</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>...</tt></i>:</span></td>
+<td>extra parameters for the message display</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParserWarning"></a>xmlParserWarning ()</h3>
+<pre class="programlisting">void       xmlParserWarning                (void * ctx, <br>                     
                   const char * msg, <br>                                  ... ...)<br>
+</pre>
+<p>Display and format a warning messages, gives file, line, position and extra parameters.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>an XML parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>msg</tt></i>:</span></td>
+<td>the message to display/transmit</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>...</tt></i>:</span></td>
+<td>extra parameters for the message display</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlResetError"></a>xmlResetError ()</h3>
+<pre class="programlisting">void       xmlResetError                   (<a 
href="libxml2-xmlerror.html#xmlErrorPtr">xmlErrorPtr</a> err)<br>
+</pre>
+<p>Cleanup the error.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>err</tt></i>:</span></td>
+<td>pointer to the error.</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlResetLastError"></a>xmlResetLastError ()</h3>
+<pre class="programlisting">void       xmlResetLastError               (void)<br>
+</pre>
+<p>Cleanup the last global error registered. For parsing error this does not change the well-formedness 
result.</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSetGenericErrorFunc"></a>xmlSetGenericErrorFunc ()</h3>
+<pre class="programlisting">void       xmlSetGenericErrorFunc          (void * ctx, <br>                     
                   <a href="libxml2-xmlerror.html#xmlGenericErrorFunc">xmlGenericErrorFunc</a> handler)<br>
+</pre>
+<p>Function to reset the handler and the error context for out of context error messages. This simply means 
that @handler will be called for subsequent error messages while not parsing nor validating. And @ctx will be 
passed as first argument to @handler One can simply force messages to be emitted to another FILE * than 
stderr by setting @ctx to this file handle and @handler to NULL. For multi-threaded applications, this must 
be set separately for each thread.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>the new error handling context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>handler</tt></i>:</span></td>
+<td>the new handler function</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSetStructuredErrorFunc"></a>xmlSetStructuredErrorFunc ()</h3>
+<pre class="programlisting">void       xmlSetStructuredErrorFunc       (void * ctx, <br>                     
                   <a href="libxml2-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a> 
handler)<br>
+</pre>
+<p>Function to reset the handler and the error context for out of context structured error messages. This 
simply means that @handler will be called for subsequent error messages while not parsing nor validating. And 
@ctx will be passed as first argument to @handler For multi-threaded applications, this must be set 
separately for each thread.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>the new error handling context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>handler</tt></i>:</span></td>
+<td>the new handler function</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlGenericErrorFunc"/>Function type 
xmlGenericErrorFunc</h3><pre class="programlisting">void      xmlGenericErrorFunc             (void * ctx, 
<br/>                                       const char * msg, <br/>                                         
... ...)<br/>
-</pre><p>Signature of the function to use when there is an error and no parsing or validity context 
available .</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>a parsing context</td></tr><tr><td><span 
class="term"><i><tt>msg</tt></i>:</span></td><td>the message</td></tr><tr><td><span 
class="term"><i><tt>...</tt></i>:</span></td><td>the extra arguments of the varargs to format the 
message</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlStructuredErrorFunc"/>Function type 
xmlStructuredErrorFunc</h3><pre class="programlisting">void        xmlStructuredErrorFunc          (void * 
userData, <br/>                                  <a href="libxml2-xmlerror.html#xmlErrorPtr">xmlErrorPtr</a> 
error)<br/>
-</pre><p>Signature of the function to use when there is an error and the module handles the new error 
reporting mechanism.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>userData</tt></i>:</span></td><td>user provided data for the error 
callback</td></tr><tr><td><span class="term"><i><tt>error</tt></i>:</span></td><td>the error being 
raised.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="initGenericErrorDefaultFunc"/>initGenericErrorDefaultFunc ()</h3><pre class="programlisting">void 
initGenericErrorDefaultFunc     (<a href="libxml2-xmlerror.html#xmlGenericErrorFunc">xmlGenericErrorFunc</a> 
* handler)<br/>
-</pre><p>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"/>xmlCopyError ()</h3><pre 
class="programlisting">int        xmlCopyError                    (<a 
href="libxml2-xmlerror.html#xmlErrorPtr">xmlErrorPtr</a> from, <br/>                                         
<a href="libxml2-xmlerror.html#xmlErrorPtr">xmlErrorPtr</a> to)<br/>
-</pre><p>Save the original error to the new place.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>from</tt></i>:</span></td><td>a source error</td></tr><tr><td><span 
class="term"><i><tt>to</tt></i>:</span></td><td>a target error</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success and -1 in case of 
error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCtxtGetLastError"/>xmlCtxtGetLastError ()</h3><pre 
class="programlisting"><a href="libxml2-xmlerror.html#xmlErrorPtr">xmlErrorPtr</a>  xmlCtxtGetLastError     
(void * ctx)<br/>
-</pre><p>Get the last parsing error registered.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>NULL if no error occurred or a pointer to the 
error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCtxtResetLastError"/>xmlCtxtResetLastError 
()</h3><pre class="programlisting">void     xmlCtxtResetLastError           (void * ctx)<br/>
-</pre><p>Cleanup the last global error registered. For parsing error this does not change the 
well-formedness result.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>an XML parser context</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlGetLastError"/>xmlGetLastError ()</h3><pre 
class="programlisting"><a href="libxml2-xmlerror.html#xmlErrorPtr">xmlErrorPtr</a>  xmlGetLastError         
(void)<br/>
-</pre><p>Get the last global error registered. This is per thread if compiled with thread support.</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 if no error occurred or a pointer to the 
error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParserError"/>xmlParserError ()</h3><pre 
class="programlisting">void   xmlParserError                  (void * ctx, <br/>                              
         const char * msg, <br/>                                         ... ...)<br/>
-</pre><p>Display and format an error messages, gives file, line, position and extra parameters.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span 
class="term"><i><tt>msg</tt></i>:</span></td><td>the message to display/transmit</td></tr><tr><td><span 
class="term"><i><tt>...</tt></i>:</span></td><td>extra parameters for the message 
display</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParserPrintFileContext"/>xmlParserPrintFileContext 
()</h3><pre class="programlisting">void     xmlParserPrintFileContext       (<a 
href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> input)<br/>
-</pre><p>Displays current context within the input content for error tracking</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>input</tt></i>:</span></td><td>an <a 
href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> input</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParserPrintFileInfo"/>xmlParserPrintFileInfo 
()</h3><pre class="programlisting">void   xmlParserPrintFileInfo          (<a 
href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> input)<br/>
-</pre><p>Displays the associated file and line information for the current input</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>input</tt></i>:</span></td><td>an <a 
href="libxml2-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> input</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParserValidityError"/>xmlParserValidityError 
()</h3><pre class="programlisting">void   xmlParserValidityError          (void * ctx, <br/>                  
                     const char * msg, <br/>                                         ... ...)<br/>
-</pre><p>Display and format an validity error messages, gives file, line, position and extra parameters.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span 
class="term"><i><tt>msg</tt></i>:</span></td><td>the message to display/transmit</td></tr><tr><td><span 
class="term"><i><tt>...</tt></i>:</span></td><td>extra parameters for the message 
display</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParserValidityWarning"/>xmlParserValidityWarning 
()</h3><pre class="programlisting">void       xmlParserValidityWarning        (void * ctx, <br/>              
                         const char * msg, <br/>                                         ... ...)<br/>
-</pre><p>Display and format a validity warning messages, gives file, line, position and extra parameters.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span 
class="term"><i><tt>msg</tt></i>:</span></td><td>the message to display/transmit</td></tr><tr><td><span 
class="term"><i><tt>...</tt></i>:</span></td><td>extra parameters for the message 
display</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParserWarning"/>xmlParserWarning ()</h3><pre 
class="programlisting">void       xmlParserWarning                (void * ctx, <br/>                          
             const char * msg, <br/>                                         ... ...)<br/>
-</pre><p>Display and format a warning messages, gives file, line, position and extra parameters.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span 
class="term"><i><tt>msg</tt></i>:</span></td><td>the message to display/transmit</td></tr><tr><td><span 
class="term"><i><tt>...</tt></i>:</span></td><td>extra parameters for the message 
display</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlResetError"/>xmlResetError ()</h3><pre 
class="programlisting">void     xmlResetError                   (<a 
href="libxml2-xmlerror.html#xmlErrorPtr">xmlErrorPtr</a> err)<br/>
-</pre><p>Cleanup the error.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>err</tt></i>:</span></td><td>pointer to the error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlResetLastError"/>xmlResetLastError ()</h3><pre 
class="programlisting">void     xmlResetLastError               (void)<br/>
-</pre><p>Cleanup the last global error registered. For parsing error this does not change the 
well-formedness result.</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSetGenericErrorFunc"/>xmlSetGenericErrorFunc 
()</h3><pre class="programlisting">void   xmlSetGenericErrorFunc          (void * ctx, <br/>                  
                     <a href="libxml2-xmlerror.html#xmlGenericErrorFunc">xmlGenericErrorFunc</a> handler)<br/>
-</pre><p>Function to reset the handler and the error context for out of context error messages. This simply 
means that @handler will be called for subsequent error messages while not parsing nor validating. And @ctx 
will be passed as first argument to @handler One can simply force messages to be emitted to another FILE * 
than stderr by setting @ctx to this file handle and @handler to NULL. For multi-threaded applications, this 
must be set separately for each thread.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>the new error handling context</td></tr><tr><td><span 
class="term"><i><tt>handler</tt></i>:</span></td><td>the new handler 
function</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSetStructuredErrorFunc"/>xmlSetStructuredErrorFunc 
()</h3><pre class="programlisting">void     xmlSetStructuredErrorFunc       (void * ctx, <br/>                
                       <a href="libxml2-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a> 
handler)<br/>
-</pre><p>Function to reset the handler and the error context for out of context structured error messages. 
This simply means that @handler will be called for subsequent error messages while not parsing nor 
validating. And @ctx will be passed as first argument to @handler For multi-threaded applications, this must 
be set separately for each thread.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>the new error handling context</td></tr><tr><td><span 
class="term"><i><tt>handler</tt></i>:</span></td><td>the new handler 
function</td></tr></tbody></table></div></div>
-        <hr/>
-      </div>
-    </div>
-  </body>
+</body>
 </html>
diff --git a/doc/devhelp/libxml2-xmlexports.html b/doc/devhelp/libxml2-xmlexports.html
index 8afa1a6c..422affc1 100644
--- a/doc/devhelp/libxml2-xmlexports.html
+++ b/doc/devhelp/libxml2-xmlexports.html
@@ -1,82 +1,79 @@
-<?xml version="1.0" encoding="UTF-8"?>
 <html>
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
-    <title>xmlexports: macros for marking symbols as exportable/importable.</title>
-    <meta name="generator" content="Libxml2 devhelp stylesheet"/>
-    <link rel="start" href="index.html" title="libxml2 Reference Manual"/>
-    <link rel="up" href="general.html" title="API"/>
-    <link rel="stylesheet" href="style.css" type="text/css"/>
-    <link rel="chapter" href="general.html" title="API"/>
-  </head>
-  <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-    <table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
-      <tr valign="middle">
-        <td>
-          <a accesskey="p" href="libxml2-xmlerror.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-xmlmemory.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">xmlexports</span>
-    </h2>
-    <p>xmlexports - macros for marking symbols as exportable/importable.</p>
-    <p>macros for marking symbols as exportable/importable. </p>
-    <p>Author(s): </p>
-    <div class="refsynopsisdiv">
-      <h2>Synopsis</h2>
-      <pre class="synopsis">#define <a href="#XMLCALL">XMLCALL</a>;
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>xmlexports: macros for marking symbols as exportable/importable.</title>
+<meta name="generator" content="Libxml2 devhelp stylesheet">
+<link rel="start" href="index.html" title="libxml2 Reference Manual">
+<link rel="up" href="general.html" title="API">
+<link rel="stylesheet" href="style.css" type="text/css">
+<link rel="chapter" href="general.html" title="API">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr 
valign="middle">
+<td><a accesskey="p" href="libxml2-xmlerror.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-xmlmemory.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">xmlexports</span></h2>
+<p>xmlexports - macros for marking symbols as exportable/importable.</p>
+<p>macros for marking symbols as exportable/importable. </p>
+<p>Author(s): </p>
+<div class="refsynopsisdiv">
+<h2>Synopsis</h2>
+<pre class="synopsis">#define <a href="#XMLCALL">XMLCALL</a>;
 #define <a href="#XMLCDECL">XMLCDECL</a>;
 #define <a href="#XMLPUBFUN">XMLPUBFUN</a>;
 #define <a href="#XMLPUBLIC">XMLPUBLIC</a>;
 #define <a href="#XMLPUBVAR">XMLPUBVAR</a>;
 </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="XMLCALL">Macro </a>XMLCALL</h3><pre 
class="programlisting">#define <a href="#XMLCALL">XMLCALL</a>;
-</pre><p>Macro which declares the calling convention for exported functions</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XMLCDECL">Macro </a>XMLCDECL</h3><pre 
class="programlisting">#define <a href="#XMLCDECL">XMLCDECL</a>;
-</pre><p>Macro which declares the calling convention for exported functions that use '...'.</p>
+<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="XMLCALL">Macro </a>XMLCALL</h3>
+<pre class="programlisting">#define <a href="#XMLCALL">XMLCALL</a>;
+</pre>
+<p>Macro which declares the calling convention for exported functions</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XMLCDECL">Macro </a>XMLCDECL</h3>
+<pre class="programlisting">#define <a href="#XMLCDECL">XMLCDECL</a>;
+</pre>
+<p>Macro which declares the calling convention for exported functions that use '...'.</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XMLPUBFUN">Macro </a>XMLPUBFUN</h3>
+<pre class="programlisting">#define <a href="#XMLPUBFUN">XMLPUBFUN</a>;
+</pre>
+<p>Macro which declares an exportable function</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XMLPUBLIC">Macro </a>XMLPUBLIC</h3>
+<pre class="programlisting">#define <a href="#XMLPUBLIC">XMLPUBLIC</a>;
+</pre>
+<p>Macro which declares a public symbol</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XMLPUBFUN">Macro </a>XMLPUBFUN</h3><pre 
class="programlisting">#define <a href="#XMLPUBFUN">XMLPUBFUN</a>;
-</pre><p>Macro which declares an exportable function</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XMLPUBVAR">Macro </a>XMLPUBVAR</h3>
+<pre class="programlisting">#define <a href="#XMLPUBVAR">XMLPUBVAR</a>;
+</pre>
+<p>Macro which declares an exportable variable</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XMLPUBLIC">Macro </a>XMLPUBLIC</h3><pre 
class="programlisting">#define <a href="#XMLPUBLIC">XMLPUBLIC</a>;
-</pre><p>Macro which declares a public symbol</p>
+<hr>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XMLPUBVAR">Macro </a>XMLPUBVAR</h3><pre 
class="programlisting">#define <a href="#XMLPUBVAR">XMLPUBVAR</a>;
-</pre><p>Macro which declares an exportable variable</p>
 </div>
-        <hr/>
-      </div>
-    </div>
-  </body>
+</body>
 </html>
diff --git a/doc/devhelp/libxml2-xmlmemory.html b/doc/devhelp/libxml2-xmlmemory.html
index dfe10e33..e1aef9db 100644
--- a/doc/devhelp/libxml2-xmlmemory.html
+++ b/doc/devhelp/libxml2-xmlmemory.html
@@ -1,186 +1,613 @@
-<?xml version="1.0" encoding="UTF-8"?>
 <html>
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
-    <title>xmlmemory: interface for the memory allocator</title>
-    <meta name="generator" content="Libxml2 devhelp stylesheet"/>
-    <link rel="start" href="index.html" title="libxml2 Reference Manual"/>
-    <link rel="up" href="general.html" title="API"/>
-    <link rel="stylesheet" href="style.css" type="text/css"/>
-    <link rel="chapter" href="general.html" title="API"/>
-  </head>
-  <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-    <table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
-      <tr valign="middle">
-        <td>
-          <a accesskey="p" href="libxml2-xmlexports.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-xmlmodule.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">xmlmemory</span>
-    </h2>
-    <p>xmlmemory - interface for the memory allocator</p>
-    <p>provides interfaces for the memory allocator, including debugging capabilities. </p>
-    <p>Author(s): Daniel Veillard </p>
-    <div class="refsynopsisdiv">
-      <h2>Synopsis</h2>
-      <pre class="synopsis">#define <a href="#DEBUG_MEMORY">DEBUG_MEMORY</a>;
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>xmlmemory: interface for the memory allocator</title>
+<meta name="generator" content="Libxml2 devhelp stylesheet">
+<link rel="start" href="index.html" title="libxml2 Reference Manual">
+<link rel="up" href="general.html" title="API">
+<link rel="stylesheet" href="style.css" type="text/css">
+<link rel="chapter" href="general.html" title="API">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr 
valign="middle">
+<td><a accesskey="p" href="libxml2-xmlexports.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-xmlmodule.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">xmlmemory</span></h2>
+<p>xmlmemory - interface for the memory allocator</p>
+<p>provides interfaces for the memory allocator, including debugging capabilities. </p>
+<p>Author(s): Daniel Veillard </p>
+<div class="refsynopsisdiv">
+<h2>Synopsis</h2>
+<pre class="synopsis">#define <a href="#DEBUG_MEMORY">DEBUG_MEMORY</a>;
 #define <a href="#xmlMalloc">xmlMalloc</a>;
 #define <a href="#xmlMallocAtomic">xmlMallocAtomic</a>;
 #define <a href="#xmlMemStrdup">xmlMemStrdup</a>;
 #define <a href="#xmlRealloc">xmlRealloc</a>;
 void   <a href="#xmlCleanupMemory">xmlCleanupMemory</a>                (void);
 typedef void <a href="#xmlFreeFunc">xmlFreeFunc</a>                    (void * mem);
-int    <a href="#xmlGcMemGet">xmlGcMemGet</a>                  (<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);
-int    <a href="#xmlGcMemSetup">xmlGcMemSetup</a>                      (<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);
+int    <a href="#xmlGcMemGet">xmlGcMemGet</a>                  (<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);
+int    <a href="#xmlGcMemSetup">xmlGcMemSetup</a>                      (<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);
 int    <a href="#xmlInitMemory">xmlInitMemory</a>                      (void);
-void * <a href="#xmlMallocAtomicLoc">xmlMallocAtomicLoc</a>            (size_t size, <br/>                   
                   const char * file, <br/>                                        int line);
+void * <a href="#xmlMallocAtomicLoc">xmlMallocAtomicLoc</a>            (size_t size, <br>                    
                   const char * file, <br>                                         int line);
 typedef void * <a href="#xmlMallocFunc">xmlMallocFunc</a>                      (size_t size);
-void * <a href="#xmlMallocLoc">xmlMallocLoc</a>                        (size_t size, <br/>                   
                   const char * file, <br/>                                        int line);
+void * <a href="#xmlMallocLoc">xmlMallocLoc</a>                        (size_t size, <br>                    
                   const char * file, <br>                                         int line);
 int    <a href="#xmlMemBlocks">xmlMemBlocks</a>                        (void);
 void   <a href="#xmlMemDisplay">xmlMemDisplay</a>                      (FILE * fp);
-void   <a href="#xmlMemDisplayLast">xmlMemDisplayLast</a>              (FILE * fp, <br/>                     
                   long nbBytes);
+void   <a href="#xmlMemDisplayLast">xmlMemDisplayLast</a>              (FILE * fp, <br>                      
                   long nbBytes);
 void   <a href="#xmlMemFree">xmlMemFree</a>                    (void * ptr);
-int    <a href="#xmlMemGet">xmlMemGet</a>                      (<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#xmlReallocFunc">xmlReallocFunc</a> * reallocFunc, <br/>             
                            <a href="libxml2-xmlmemory.html#xmlStrdupFunc">xmlStrdupFunc</a> * strdupFunc);
+int    <a href="#xmlMemGet">xmlMemGet</a>                      (<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#xmlReallocFunc">xmlReallocFunc</a> * reallocFunc, <br>              
                    <a href="libxml2-xmlmemory.html#xmlStrdupFunc">xmlStrdupFunc</a> * strdupFunc);
 void * <a href="#xmlMemMalloc">xmlMemMalloc</a>                        (size_t size);
-void * <a href="#xmlMemRealloc">xmlMemRealloc</a>                      (void * ptr, <br/>                    
                   size_t size);
-int    <a href="#xmlMemSetup">xmlMemSetup</a>                  (<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#xmlReallocFunc">xmlReallocFunc</a> reallocFunc, <br/>               
                    <a href="libxml2-xmlmemory.html#xmlStrdupFunc">xmlStrdupFunc</a> strdupFunc);
-void   <a href="#xmlMemShow">xmlMemShow</a>                    (FILE * fp, <br/>                             
           int nr);
-char * <a href="#xmlMemStrdupLoc">xmlMemStrdupLoc</a>                  (const char * str, <br/>              
                           const char * file, <br/>                                        int line);
+void * <a href="#xmlMemRealloc">xmlMemRealloc</a>                      (void * ptr, <br>                     
                   size_t size);
+int    <a href="#xmlMemSetup">xmlMemSetup</a>                  (<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#xmlReallocFunc">xmlReallocFunc</a> reallocFunc, <br>                
                    <a href="libxml2-xmlmemory.html#xmlStrdupFunc">xmlStrdupFunc</a> strdupFunc);
+void   <a href="#xmlMemShow">xmlMemShow</a>                    (FILE * fp, <br>                              
           int nr);
+char * <a href="#xmlMemStrdupLoc">xmlMemStrdupLoc</a>                  (const char * str, <br>               
                   const char * file, <br>                                         int line);
 int    <a href="#xmlMemUsed">xmlMemUsed</a>                    (void);
 void   <a href="#xmlMemoryDump">xmlMemoryDump</a>                      (void);
 char * <a href="#xmlMemoryStrdup">xmlMemoryStrdup</a>                  (const char * str);
-typedef void * <a href="#xmlReallocFunc">xmlReallocFunc</a>                    (void * mem, <br/>            
                           size_t size);
-void * <a href="#xmlReallocLoc">xmlReallocLoc</a>                      (void * ptr, <br/>                    
                   size_t size, <br/>                                      const char * file, <br/>           
                             int line);
+typedef void * <a href="#xmlReallocFunc">xmlReallocFunc</a>                    (void * mem, <br>             
                           size_t size);
+void * <a href="#xmlReallocLoc">xmlReallocLoc</a>                      (void * ptr, <br>                     
                   size_t size, <br>                                       const char * file, <br>            
                             int line);
 typedef char * <a href="#xmlStrdupFunc">xmlStrdupFunc</a>                      (const char * str);
 </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="DEBUG_MEMORY">Macro </a>DEBUG_MEMORY</h3><pre 
class="programlisting">#define <a href="#DEBUG_MEMORY">DEBUG_MEMORY</a>;
-</pre><p><a href="libxml2-xmlmemory.html#DEBUG_MEMORY">DEBUG_MEMORY</a> replaces the allocator with a 
collect and debug shell to the libc allocator. <a href="libxml2-xmlmemory.html#DEBUG_MEMORY">DEBUG_MEMORY</a> 
should only be activated when debugging libxml i.e. if libxml has been configured with --with-debug-mem too. 
#define DEBUG_MEMORY_FREED #define <a 
href="libxml2-xmlversion.html#DEBUG_MEMORY_LOCATION">DEBUG_MEMORY_LOCATION</a></p>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlFreeFunc"/>Function type xmlFreeFunc</h3><pre 
class="programlisting">void      xmlFreeFunc                     (void * mem)<br/>
-</pre><p>Signature for a free() implementation.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>mem</tt></i>:</span></td><td>an already allocated block of 
memory</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlMallocFunc"/>Function type xmlMallocFunc</h3><pre 
class="programlisting">void *        xmlMallocFunc                   (size_t size)<br/>
-</pre><p>Signature for a malloc() implementation.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>size</tt></i>:</span></td><td>the size requested in bytes</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the newly allocated block or NULL in case 
of error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlReallocFunc"/>Function type xmlReallocFunc</h3><pre 
class="programlisting">void *      xmlReallocFunc                  (void * mem, <br/>                         
              size_t size)<br/>
-</pre><p>Signature for a realloc() implementation.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>mem</tt></i>:</span></td><td>an already allocated block of memory</td></tr><tr><td><span 
class="term"><i><tt>size</tt></i>:</span></td><td>the new size requested in bytes</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the newly reallocated block or NULL in case 
of error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlStrdupFunc"/>Function type xmlStrdupFunc</h3><pre 
class="programlisting">char *        xmlStrdupFunc                   (const char * str)<br/>
-</pre><p>Signature for an strdup() implementation.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>str</tt></i>:</span></td><td>a zero terminated string</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the copy of the string or NULL in case of 
error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCleanupMemory"/>xmlCleanupMemory ()</h3><pre 
class="programlisting">void       xmlCleanupMemory                (void)<br/>
-</pre><p>DEPRECATED: This function will be made private. Call <a 
href="libxml2-parser.html#xmlCleanupParser">xmlCleanupParser</a> to free global state but see the warnings 
there. <a href="libxml2-parser.html#xmlCleanupParser">xmlCleanupParser</a> should be only called once at 
program exit. In most cases, you don't have call cleanup functions at all. Free up all the memory allocated 
by the library for its own use. This should not be called by user level code.</p>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlGcMemGet"/>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>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>freeFunc</tt></i>:</span></td><td>place to save the free() function in 
use</td></tr><tr><td><span class="term"><i><tt>mallocFunc</tt></i>:</span></td><td>place to save the malloc() 
function in use</td></tr><tr><td><span class="term"><i><tt>mallocAtomicFunc</tt></i>:</span></td><td>place to 
save the atomic malloc() function in use</td></tr><tr><td><span 
class="term"><i><tt>reallocFunc</tt></i>:</span></td><td>place to save the realloc() function in 
use</td></tr><tr><td><span class="term"><i><tt>strdupFunc</tt></i>:</span></td><td>place to save the strdup() 
function in use</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 on 
success</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlGcMemSetup"/>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>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>freeFunc</tt></i>:</span></td><td>the free() function to use</td></tr><tr><td><span 
class="term"><i><tt>mallocFunc</tt></i>:</span></td><td>the malloc() function to use</td></tr><tr><td><span 
class="term"><i><tt>mallocAtomicFunc</tt></i>:</span></td><td>the malloc() function to use for atomic 
allocations</td></tr><tr><td><span class="term"><i><tt>reallocFunc</tt></i>:</span></td><td>the realloc() 
function to use</td></tr><tr><td><span class="term"><i><tt>strdupFunc</tt></i>:</span></td><td>the strdup() 
function to use</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 on 
success</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlInitMemory"/>xmlInitMemory ()</h3><pre 
class="programlisting">int      xmlInitMemory                   (void)<br/>
-</pre><p>DEPRECATED: This function will be made private. Call <a 
href="libxml2-parser.html#xmlInitParser">xmlInitParser</a> to initialize the library. Initialize the memory 
layer.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>0 on success</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlMallocAtomicLoc"/>xmlMallocAtomicLoc ()</h3><pre 
class="programlisting">void * xmlMallocAtomicLoc              (size_t size, <br/>                             
         const char * file, <br/>                                        int line)<br/>
-</pre><p>a malloc() equivalent, with logging of the allocation info.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>size</tt></i>:</span></td><td>an unsigned int specifying the size in byte to 
allocate.</td></tr><tr><td><span class="term"><i><tt>file</tt></i>:</span></td><td>the file name or 
NULL</td></tr><tr><td><span class="term"><i><tt>line</tt></i>:</span></td><td>the line 
number</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the allocated 
area or NULL in case of lack of memory.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlMallocLoc"/>xmlMallocLoc ()</h3><pre 
class="programlisting">void *     xmlMallocLoc                    (size_t size, <br/>                         
             const char * file, <br/>                                        int line)<br/>
-</pre><p>a malloc() equivalent, with logging of the allocation info.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>size</tt></i>:</span></td><td>an int specifying the size in byte to 
allocate.</td></tr><tr><td><span class="term"><i><tt>file</tt></i>:</span></td><td>the file name or 
NULL</td></tr><tr><td><span class="term"><i><tt>line</tt></i>:</span></td><td>the line 
number</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the allocated 
area or NULL in case of lack of memory.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlMemBlocks"/>xmlMemBlocks ()</h3><pre 
class="programlisting">int        xmlMemBlocks                    (void)<br/>
-</pre><p>Provides the number of memory areas currently allocated</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>an int representing the number of 
blocks</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlMemDisplay"/>xmlMemDisplay ()</h3><pre 
class="programlisting">void     xmlMemDisplay                   (FILE * fp)<br/>
-</pre><p>show in-extenso the memory blocks allocated</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>fp</tt></i>:</span></td><td>a FILE descriptor used as the output file, if NULL, the 
result is written to the file .memorylist</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlMemDisplayLast"/>xmlMemDisplayLast ()</h3><pre 
class="programlisting">void     xmlMemDisplayLast               (FILE * fp, <br/>                             
           long nbBytes)<br/>
-</pre><p>the last nbBytes of memory allocated and not freed, useful for dumping the memory left allocated 
between two places at runtime.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>fp</tt></i>:</span></td><td>a FILE descriptor used as the output file, if NULL, the 
result is written to the file .memorylist</td></tr><tr><td><span 
class="term"><i><tt>nbBytes</tt></i>:</span></td><td>the amount of memory to 
dump</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlMemFree"/>xmlMemFree ()</h3><pre 
class="programlisting">void   xmlMemFree                      (void * ptr)<br/>
-</pre><p>a free() equivalent, with error checking.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ptr</tt></i>:</span></td><td>the memory block 
pointer</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlMemGet"/>xmlMemGet ()</h3><pre 
class="programlisting">int      xmlMemGet                       (<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#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</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>freeFunc</tt></i>:</span></td><td>place to save the free() function in 
use</td></tr><tr><td><span class="term"><i><tt>mallocFunc</tt></i>:</span></td><td>place to save the malloc() 
function in use</td></tr><tr><td><span class="term"><i><tt>reallocFunc</tt></i>:</span></td><td>place to save 
the realloc() function in use</td></tr><tr><td><span 
class="term"><i><tt>strdupFunc</tt></i>:</span></td><td>place to save the strdup() function in 
use</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 on 
success</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlMemMalloc"/>xmlMemMalloc ()</h3><pre 
class="programlisting">void *     xmlMemMalloc                    (size_t size)<br/>
-</pre><p>a malloc() equivalent, with logging of the allocation info.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>size</tt></i>:</span></td><td>an int specifying the size in byte to 
allocate.</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the 
allocated area or NULL in case of lack of memory.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlMemRealloc"/>xmlMemRealloc ()</h3><pre 
class="programlisting">void *   xmlMemRealloc                   (void * ptr, <br/>                            
           size_t size)<br/>
-</pre><p>a realloc() equivalent, with logging of the allocation info.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ptr</tt></i>:</span></td><td>the initial memory block pointer</td></tr><tr><td><span 
class="term"><i><tt>size</tt></i>:</span></td><td>an int specifying the size in byte to 
allocate.</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the 
allocated area or NULL in case of lack of memory.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlMemSetup"/>xmlMemSetup ()</h3><pre 
class="programlisting">int  xmlMemSetup                     (<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#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 ! Should this be blocked if there was already some allocations done ?</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>freeFunc</tt></i>:</span></td><td>the free() function to use</td></tr><tr><td><span 
class="term"><i><tt>mallocFunc</tt></i>:</span></td><td>the malloc() function to use</td></tr><tr><td><span 
class="term"><i><tt>reallocFunc</tt></i>:</span></td><td>the realloc() function to use</td></tr><tr><td><span 
class="term"><i><tt>strdupFunc</tt></i>:</span></td><td>the strdup() function to use</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>0 on success</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlMemShow"/>xmlMemShow ()</h3><pre 
class="programlisting">void   xmlMemShow                      (FILE * fp, <br/>                               
         int nr)<br/>
-</pre><p>show a show display of the memory allocated, and dump the @nr last allocated areas which were not 
freed</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>fp</tt></i>:</span></td><td>a FILE descriptor used as the output 
file</td></tr><tr><td><span class="term"><i><tt>nr</tt></i>:</span></td><td>number of entries to 
dump</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlMemStrdupLoc"/>xmlMemStrdupLoc ()</h3><pre 
class="programlisting">char *       xmlMemStrdupLoc                 (const char * str, <br/>                  
                       const char * file, <br/>                                        int line)<br/>
-</pre><p>a strdup() equivalent, with logging of the allocation info.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>str</tt></i>:</span></td><td>the initial string pointer</td></tr><tr><td><span 
class="term"><i><tt>file</tt></i>:</span></td><td>the file name or NULL</td></tr><tr><td><span 
class="term"><i><tt>line</tt></i>:</span></td><td>the line number</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the new string or NULL if allocation error 
occurred.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlMemUsed"/>xmlMemUsed ()</h3><pre 
class="programlisting">int    xmlMemUsed                      (void)<br/>
-</pre><p>Provides the amount of memory currently allocated</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>an int representing the amount of memory 
allocated.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlMemoryDump"/>xmlMemoryDump ()</h3><pre 
class="programlisting">void     xmlMemoryDump                   (void)<br/>
-</pre><p>Dump in-extenso the memory blocks allocated to the file .memorylist</p>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlMemoryStrdup"/>xmlMemoryStrdup ()</h3><pre 
class="programlisting">char *       xmlMemoryStrdup                 (const char * str)<br/>
-</pre><p>a strdup() equivalent, with logging of the allocation info.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>str</tt></i>:</span></td><td>the initial string pointer</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the new string or NULL if allocation error 
occurred.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlReallocLoc"/>xmlReallocLoc ()</h3><pre 
class="programlisting">void *   xmlReallocLoc                   (void * ptr, <br/>                            
           size_t size, <br/>                                      const char * file, <br/>                   
                     int line)<br/>
-</pre><p>a realloc() equivalent, with logging of the allocation info.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ptr</tt></i>:</span></td><td>the initial memory block pointer</td></tr><tr><td><span 
class="term"><i><tt>size</tt></i>:</span></td><td>an int specifying the size in byte to 
allocate.</td></tr><tr><td><span class="term"><i><tt>file</tt></i>:</span></td><td>the file name or 
NULL</td></tr><tr><td><span class="term"><i><tt>line</tt></i>:</span></td><td>the line 
number</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the allocated 
area or NULL in case of lack of memory.</td></tr></tbody></table></div></div>
-        <hr/>
-      </div>
-    </div>
-  </body>
+</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="DEBUG_MEMORY">Macro </a>DEBUG_MEMORY</h3>
+<pre class="programlisting">#define <a href="#DEBUG_MEMORY">DEBUG_MEMORY</a>;
+</pre>
+<p><a href="libxml2-xmlmemory.html#DEBUG_MEMORY">DEBUG_MEMORY</a> replaces the allocator with a collect and 
debug shell to the libc allocator. <a href="libxml2-xmlmemory.html#DEBUG_MEMORY">DEBUG_MEMORY</a> should only 
be activated when debugging libxml i.e. if libxml has been configured with --with-debug-mem too. #define 
DEBUG_MEMORY_FREED #define <a 
href="libxml2-xmlversion.html#DEBUG_MEMORY_LOCATION">DEBUG_MEMORY_LOCATION</a></p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlFreeFunc"></a>Function type xmlFreeFunc</h3>
+<pre class="programlisting">void       xmlFreeFunc                     (void * mem)<br>
+</pre>
+<p>Signature for a free() implementation.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>mem</tt></i>:</span></td>
+<td>an already allocated block of memory</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlMallocFunc"></a>Function type xmlMallocFunc</h3>
+<pre class="programlisting">void *     xmlMallocFunc                   (size_t size)<br>
+</pre>
+<p>Signature for a malloc() implementation.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>size</tt></i>:</span></td>
+<td>the size requested in bytes</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a pointer to the newly allocated block or NULL in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlReallocFunc"></a>Function type xmlReallocFunc</h3>
+<pre class="programlisting">void *     xmlReallocFunc                  (void * mem, <br>                     
                   size_t size)<br>
+</pre>
+<p>Signature for a realloc() implementation.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>mem</tt></i>:</span></td>
+<td>an already allocated block of memory</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>size</tt></i>:</span></td>
+<td>the new size requested in bytes</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a pointer to the newly reallocated block or NULL in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlStrdupFunc"></a>Function type xmlStrdupFunc</h3>
+<pre class="programlisting">char *     xmlStrdupFunc                   (const char * str)<br>
+</pre>
+<p>Signature for an strdup() implementation.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>str</tt></i>:</span></td>
+<td>a zero terminated string</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the copy of the string or NULL in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCleanupMemory"></a>xmlCleanupMemory ()</h3>
+<pre class="programlisting">void       xmlCleanupMemory                (void)<br>
+</pre>
+<p>DEPRECATED: This function will be made private. Call <a 
href="libxml2-parser.html#xmlCleanupParser">xmlCleanupParser</a> to free global state but see the warnings 
there. <a href="libxml2-parser.html#xmlCleanupParser">xmlCleanupParser</a> should be only called once at 
program exit. In most cases, you don't have call cleanup functions at all. Free up all the memory allocated 
by the library for its own use. This should not be called by user level code.</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>freeFunc</tt></i>:</span></td>
+<td>place to save the free() function in use</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>mallocFunc</tt></i>:</span></td>
+<td>place to save the malloc() function in use</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>mallocAtomicFunc</tt></i>:</span></td>
+<td>place to save the atomic malloc() function in use</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>reallocFunc</tt></i>:</span></td>
+<td>place to save the realloc() function in use</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>strdupFunc</tt></i>:</span></td>
+<td>place to save the strdup() function in use</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 on success</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>freeFunc</tt></i>:</span></td>
+<td>the free() function to use</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>mallocFunc</tt></i>:</span></td>
+<td>the malloc() function to use</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>mallocAtomicFunc</tt></i>:</span></td>
+<td>the malloc() function to use for atomic allocations</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>reallocFunc</tt></i>:</span></td>
+<td>the realloc() function to use</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>strdupFunc</tt></i>:</span></td>
+<td>the strdup() function to use</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 on success</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlInitMemory"></a>xmlInitMemory ()</h3>
+<pre class="programlisting">int        xmlInitMemory                   (void)<br>
+</pre>
+<p>DEPRECATED: This function will be made private. Call <a 
href="libxml2-parser.html#xmlInitParser">xmlInitParser</a> to initialize the library. Initialize the memory 
layer.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 on success</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlMallocAtomicLoc"></a>xmlMallocAtomicLoc ()</h3>
+<pre class="programlisting">void *     xmlMallocAtomicLoc              (size_t size, <br>                    
                   const char * file, <br>                                         int line)<br>
+</pre>
+<p>a malloc() equivalent, with logging of the allocation info.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>size</tt></i>:</span></td>
+<td>an unsigned int specifying the size in byte to allocate.</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>file</tt></i>:</span></td>
+<td>the file name or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>line</tt></i>:</span></td>
+<td>the line number</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a pointer to the allocated area or NULL in case of lack of memory.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlMallocLoc"></a>xmlMallocLoc ()</h3>
+<pre class="programlisting">void *     xmlMallocLoc                    (size_t size, <br>                    
                   const char * file, <br>                                         int line)<br>
+</pre>
+<p>a malloc() equivalent, with logging of the allocation info.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>size</tt></i>:</span></td>
+<td>an int specifying the size in byte to allocate.</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>file</tt></i>:</span></td>
+<td>the file name or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>line</tt></i>:</span></td>
+<td>the line number</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a pointer to the allocated area or NULL in case of lack of memory.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlMemBlocks"></a>xmlMemBlocks ()</h3>
+<pre class="programlisting">int        xmlMemBlocks                    (void)<br>
+</pre>
+<p>Provides the number of memory areas currently allocated</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>an int representing the number of blocks</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlMemDisplay"></a>xmlMemDisplay ()</h3>
+<pre class="programlisting">void       xmlMemDisplay                   (FILE * fp)<br>
+</pre>
+<p>show in-extenso the memory blocks allocated</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>fp</tt></i>:</span></td>
+<td>a FILE descriptor used as the output file, if NULL, the result is written to the file .memorylist</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlMemDisplayLast"></a>xmlMemDisplayLast ()</h3>
+<pre class="programlisting">void       xmlMemDisplayLast               (FILE * fp, <br>                      
                   long nbBytes)<br>
+</pre>
+<p>the last nbBytes of memory allocated and not freed, useful for dumping the memory left allocated between 
two places at runtime.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>fp</tt></i>:</span></td>
+<td>a FILE descriptor used as the output file, if NULL, the result is written to the file .memorylist</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>nbBytes</tt></i>:</span></td>
+<td>the amount of memory to dump</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlMemFree"></a>xmlMemFree ()</h3>
+<pre class="programlisting">void       xmlMemFree                      (void * ptr)<br>
+</pre>
+<p>a free() equivalent, with error checking.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>ptr</tt></i>:</span></td>
+<td>the memory block pointer</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlMemGet"></a>xmlMemGet ()</h3>
+<pre class="programlisting">int        xmlMemGet                       (<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#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</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>freeFunc</tt></i>:</span></td>
+<td>place to save the free() function in use</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>mallocFunc</tt></i>:</span></td>
+<td>place to save the malloc() function in use</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>reallocFunc</tt></i>:</span></td>
+<td>place to save the realloc() function in use</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>strdupFunc</tt></i>:</span></td>
+<td>place to save the strdup() function in use</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 on success</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlMemMalloc"></a>xmlMemMalloc ()</h3>
+<pre class="programlisting">void *     xmlMemMalloc                    (size_t size)<br>
+</pre>
+<p>a malloc() equivalent, with logging of the allocation info.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>size</tt></i>:</span></td>
+<td>an int specifying the size in byte to allocate.</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a pointer to the allocated area or NULL in case of lack of memory.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlMemRealloc"></a>xmlMemRealloc ()</h3>
+<pre class="programlisting">void *     xmlMemRealloc                   (void * ptr, <br>                     
                   size_t size)<br>
+</pre>
+<p>a realloc() equivalent, with logging of the allocation info.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ptr</tt></i>:</span></td>
+<td>the initial memory block pointer</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>size</tt></i>:</span></td>
+<td>an int specifying the size in byte to allocate.</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a pointer to the allocated area or NULL in case of lack of memory.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlMemSetup"></a>xmlMemSetup ()</h3>
+<pre class="programlisting">int        xmlMemSetup                     (<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#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 ! Should this be blocked if there was already some allocations done ?</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>freeFunc</tt></i>:</span></td>
+<td>the free() function to use</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>mallocFunc</tt></i>:</span></td>
+<td>the malloc() function to use</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>reallocFunc</tt></i>:</span></td>
+<td>the realloc() function to use</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>strdupFunc</tt></i>:</span></td>
+<td>the strdup() function to use</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 on success</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlMemShow"></a>xmlMemShow ()</h3>
+<pre class="programlisting">void       xmlMemShow                      (FILE * fp, <br>                      
                   int nr)<br>
+</pre>
+<p>show a show display of the memory allocated, and dump the @nr last allocated areas which were not 
freed</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>fp</tt></i>:</span></td>
+<td>a FILE descriptor used as the output file</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>nr</tt></i>:</span></td>
+<td>number of entries to dump</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlMemStrdupLoc"></a>xmlMemStrdupLoc ()</h3>
+<pre class="programlisting">char *     xmlMemStrdupLoc                 (const char * str, <br>               
                   const char * file, <br>                                         int line)<br>
+</pre>
+<p>a strdup() equivalent, with logging of the allocation info.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>str</tt></i>:</span></td>
+<td>the initial string pointer</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>file</tt></i>:</span></td>
+<td>the file name or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>line</tt></i>:</span></td>
+<td>the line number</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a pointer to the new string or NULL if allocation error occurred.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlMemUsed"></a>xmlMemUsed ()</h3>
+<pre class="programlisting">int        xmlMemUsed                      (void)<br>
+</pre>
+<p>Provides the amount of memory currently allocated</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>an int representing the amount of memory allocated.</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlMemoryDump"></a>xmlMemoryDump ()</h3>
+<pre class="programlisting">void       xmlMemoryDump                   (void)<br>
+</pre>
+<p>Dump in-extenso the memory blocks allocated to the file .memorylist</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlMemoryStrdup"></a>xmlMemoryStrdup ()</h3>
+<pre class="programlisting">char *     xmlMemoryStrdup                 (const char * str)<br>
+</pre>
+<p>a strdup() equivalent, with logging of the allocation info.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>str</tt></i>:</span></td>
+<td>the initial string pointer</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a pointer to the new string or NULL if allocation error occurred.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlReallocLoc"></a>xmlReallocLoc ()</h3>
+<pre class="programlisting">void *     xmlReallocLoc                   (void * ptr, <br>                     
                   size_t size, <br>                                       const char * file, <br>            
                             int line)<br>
+</pre>
+<p>a realloc() equivalent, with logging of the allocation info.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ptr</tt></i>:</span></td>
+<td>the initial memory block pointer</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>size</tt></i>:</span></td>
+<td>an int specifying the size in byte to allocate.</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>file</tt></i>:</span></td>
+<td>the file name or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>line</tt></i>:</span></td>
+<td>the line number</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a pointer to the allocated area or NULL in case of lack of memory.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+</div>
+</div>
+</body>
 </html>
diff --git a/doc/devhelp/libxml2-xmlmodule.html b/doc/devhelp/libxml2-xmlmodule.html
index f330ed5d..e28329b9 100644
--- a/doc/devhelp/libxml2-xmlmodule.html
+++ b/doc/devhelp/libxml2-xmlmodule.html
@@ -1,97 +1,167 @@
-<?xml version="1.0" encoding="UTF-8"?>
 <html>
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
-    <title>xmlmodule: dynamic module loading</title>
-    <meta name="generator" content="Libxml2 devhelp stylesheet"/>
-    <link rel="start" href="index.html" title="libxml2 Reference Manual"/>
-    <link rel="up" href="general.html" title="API"/>
-    <link rel="stylesheet" href="style.css" type="text/css"/>
-    <link rel="chapter" href="general.html" title="API"/>
-  </head>
-  <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-    <table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
-      <tr valign="middle">
-        <td>
-          <a accesskey="p" href="libxml2-xmlmemory.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-xmlreader.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">xmlmodule</span>
-    </h2>
-    <p>xmlmodule - dynamic module loading</p>
-    <p>basic API for dynamic module loading, used by libexslt added in 2.6.17 </p>
-    <p>Author(s): Joel W. Reed </p>
-    <div class="refsynopsisdiv">
-      <h2>Synopsis</h2>
-      <pre class="synopsis">typedef struct _xmlModule <a href="#xmlModule">xmlModule</a>;
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>xmlmodule: dynamic module loading</title>
+<meta name="generator" content="Libxml2 devhelp stylesheet">
+<link rel="start" href="index.html" title="libxml2 Reference Manual">
+<link rel="up" href="general.html" title="API">
+<link rel="stylesheet" href="style.css" type="text/css">
+<link rel="chapter" href="general.html" title="API">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr 
valign="middle">
+<td><a accesskey="p" href="libxml2-xmlmemory.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-xmlreader.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">xmlmodule</span></h2>
+<p>xmlmodule - dynamic module loading</p>
+<p>basic API for dynamic module loading, used by libexslt added in 2.6.17 </p>
+<p>Author(s): Joel W. Reed </p>
+<div class="refsynopsisdiv">
+<h2>Synopsis</h2>
+<pre class="synopsis">typedef struct _xmlModule <a href="#xmlModule">xmlModule</a>;
 typedef enum <a href="#xmlModuleOption">xmlModuleOption</a>;
 typedef <a href="libxml2-xmlmodule.html#xmlModule">xmlModule</a> * <a href="#xmlModulePtr">xmlModulePtr</a>;
 int    <a href="#xmlModuleClose">xmlModuleClose</a>                    (<a 
href="libxml2-xmlmodule.html#xmlModulePtr">xmlModulePtr</a> module);
 int    <a href="#xmlModuleFree">xmlModuleFree</a>                      (<a 
href="libxml2-xmlmodule.html#xmlModulePtr">xmlModulePtr</a> module);
-<a href="libxml2-xmlmodule.html#xmlModulePtr">xmlModulePtr</a> <a href="#xmlModuleOpen">xmlModuleOpen</a>    
          (const char * name, <br/>                                        int options);
-int    <a href="#xmlModuleSymbol">xmlModuleSymbol</a>                  (<a 
href="libxml2-xmlmodule.html#xmlModulePtr">xmlModulePtr</a> module, <br/>                                    
const char * name, <br/>                                        void ** symbol);
+<a href="libxml2-xmlmodule.html#xmlModulePtr">xmlModulePtr</a> <a href="#xmlModuleOpen">xmlModuleOpen</a>    
          (const char * name, <br>                                         int options);
+int    <a href="#xmlModuleSymbol">xmlModuleSymbol</a>                  (<a 
href="libxml2-xmlmodule.html#xmlModulePtr">xmlModulePtr</a> module, <br>                                     
const char * name, <br>                                         void ** symbol);
 </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="xmlModule">Structure </a>xmlModule</h3><pre 
class="programlisting">struct _xmlModule {
+</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="xmlModule">Structure </a>xmlModule</h3>
+<pre class="programlisting">struct _xmlModule {
 The content of this structure is not made public by the API.
 } xmlModule;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlModuleOption">Enum </a>xmlModuleOption</h3><pre 
class="programlisting">enum <a href="#xmlModuleOption">xmlModuleOption</a> {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlModuleOption">Enum </a>xmlModuleOption</h3>
+<pre class="programlisting">enum <a href="#xmlModuleOption">xmlModuleOption</a> {
     <a name="XML_MODULE_LAZY">XML_MODULE_LAZY</a> = 1 /* lazy binding */
     <a name="XML_MODULE_LOCAL">XML_MODULE_LOCAL</a> = 2 /*  local binding */
 };
-</pre><p/>
+</pre>
+<p></p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlModulePtr">Typedef </a>xmlModulePtr</h3>
+<pre class="programlisting"><a href="libxml2-xmlmodule.html#xmlModule">xmlModule</a> * xmlModulePtr;
+</pre>
+<p>A handle to a dynamically loaded module</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlModuleClose"></a>xmlModuleClose ()</h3>
+<pre class="programlisting">int        xmlModuleClose                  (<a 
href="libxml2-xmlmodule.html#xmlModulePtr">xmlModulePtr</a> module)<br>
+</pre>
+<p>The close operations unload the associated module and free the data associated to the module.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>module</tt></i>:</span></td>
+<td>the module handle</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 in case of success, -1 in case of argument error and -2 if the module could not be 
closed/unloaded.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlModuleFree"></a>xmlModuleFree ()</h3>
+<pre class="programlisting">int        xmlModuleFree                   (<a 
href="libxml2-xmlmodule.html#xmlModulePtr">xmlModulePtr</a> module)<br>
+</pre>
+<p>The free operations free the data associated to the module but does not unload the associated shared 
library which may still be in use.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>module</tt></i>:</span></td>
+<td>the module handle</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 in case of success, -1 in case of argument error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlModuleOpen"></a>xmlModuleOpen ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlmodule.html#xmlModulePtr">xmlModulePtr</a>     xmlModuleOpen 
          (const char * name, <br>                                         int options)<br>
+</pre>
+<p>Opens a module/shared library given its name or path NOTE: that due to portability issues, behaviour can 
only be guaranteed with @name using ASCII. We cannot guarantee that an UTF-8 string would work, which is why 
name is a const char * and not a const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * . TODO: options 
are not yet implemented.</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 module name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>options</tt></i>:</span></td>
+<td>a set of <a href="libxml2-xmlmodule.html#xmlModuleOption">xmlModuleOption</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a handle for the module or NULL in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlModuleSymbol"></a>xmlModuleSymbol ()</h3>
+<pre class="programlisting">int        xmlModuleSymbol                 (<a 
href="libxml2-xmlmodule.html#xmlModulePtr">xmlModulePtr</a> module, <br>                                     
const char * name, <br>                                         void ** symbol)<br>
+</pre>
+<p>Lookup for a symbol address in the given module NOTE: that due to portability issues, behaviour can only 
be guaranteed with @name using ASCII. We cannot guarantee that an UTF-8 string would work, which is why name 
is a const char * and not a const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * .</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>module</tt></i>:</span></td>
+<td>the module</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the name of the symbol</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>symbol</tt></i>:</span></td>
+<td>the resulting symbol address</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 if the symbol was found, or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlModulePtr">Typedef </a>xmlModulePtr</h3><pre 
class="programlisting"><a href="libxml2-xmlmodule.html#xmlModule">xmlModule</a> * xmlModulePtr;
-</pre><p>A handle to a dynamically loaded module</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlModuleClose"/>xmlModuleClose ()</h3><pre 
class="programlisting">int    xmlModuleClose                  (<a 
href="libxml2-xmlmodule.html#xmlModulePtr">xmlModulePtr</a> module)<br/>
-</pre><p>The close operations unload the associated module and free the data associated to the module.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>module</tt></i>:</span></td><td>the module handle</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success, -1 in case of argument error and 
-2 if the module could not be closed/unloaded.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlModuleFree"/>xmlModuleFree ()</h3><pre 
class="programlisting">int      xmlModuleFree                   (<a 
href="libxml2-xmlmodule.html#xmlModulePtr">xmlModulePtr</a> module)<br/>
-</pre><p>The free operations free the data associated to the module but does not unload the associated 
shared library which may still be in use.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>module</tt></i>:</span></td><td>the module handle</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success, -1 in case of argument 
error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlModuleOpen"/>xmlModuleOpen ()</h3><pre 
class="programlisting"><a href="libxml2-xmlmodule.html#xmlModulePtr">xmlModulePtr</a>   xmlModuleOpen         
  (const char * name, <br/>                                        int options)<br/>
-</pre><p>Opens a module/shared library given its name or path NOTE: that due to portability issues, 
behaviour can only be guaranteed with @name using ASCII. We cannot guarantee that an UTF-8 string would work, 
which is why name is a const char * and not a const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * . 
TODO: options are not yet implemented.</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 module name</td></tr><tr><td><span 
class="term"><i><tt>options</tt></i>:</span></td><td>a set of <a 
href="libxml2-xmlmodule.html#xmlModuleOption">xmlModuleOption</a></td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>a handle for the module or NULL in case of 
error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlModuleSymbol"/>xmlModuleSymbol ()</h3><pre 
class="programlisting">int  xmlModuleSymbol                 (<a 
href="libxml2-xmlmodule.html#xmlModulePtr">xmlModulePtr</a> module, <br/>                                    
const char * name, <br/>                                        void ** symbol)<br/>
-</pre><p>Lookup for a symbol address in the given module NOTE: that due to portability issues, behaviour can 
only be guaranteed with @name using ASCII. We cannot guarantee that an UTF-8 string would work, which is why 
name is a const char * and not a const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * .</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>module</tt></i>:</span></td><td>the module</td></tr><tr><td><span 
class="term"><i><tt>name</tt></i>:</span></td><td>the name of the symbol</td></tr><tr><td><span 
class="term"><i><tt>symbol</tt></i>:</span></td><td>the resulting symbol address</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if the symbol was found, or -1 in case of 
error</td></tr></tbody></table></div></div>
-        <hr/>
-      </div>
-    </div>
-  </body>
+</body>
 </html>
diff --git a/doc/devhelp/libxml2-xmlreader.html b/doc/devhelp/libxml2-xmlreader.html
index ee2f4ee2..02306873 100644
--- a/doc/devhelp/libxml2-xmlreader.html
+++ b/doc/devhelp/libxml2-xmlreader.html
@@ -1,49 +1,28 @@
-<?xml version="1.0" encoding="UTF-8"?>
 <html>
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
-    <title>xmlreader: the XMLReader implementation</title>
-    <meta name="generator" content="Libxml2 devhelp stylesheet"/>
-    <link rel="start" href="index.html" title="libxml2 Reference Manual"/>
-    <link rel="up" href="general.html" title="API"/>
-    <link rel="stylesheet" href="style.css" type="text/css"/>
-    <link rel="chapter" href="general.html" title="API"/>
-  </head>
-  <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-    <table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
-      <tr valign="middle">
-        <td>
-          <a accesskey="p" href="libxml2-xmlmodule.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-xmlregexp.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">xmlreader</span>
-    </h2>
-    <p>xmlreader - the XMLReader implementation</p>
-    <p>API of the XML streaming API based on C# interfaces. </p>
-    <p>Author(s): Daniel Veillard </p>
-    <div class="refsynopsisdiv">
-      <h2>Synopsis</h2>
-      <pre class="synopsis">typedef enum <a href="#xmlParserProperties">xmlParserProperties</a>;
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>xmlreader: the XMLReader implementation</title>
+<meta name="generator" content="Libxml2 devhelp stylesheet">
+<link rel="start" href="index.html" title="libxml2 Reference Manual">
+<link rel="up" href="general.html" title="API">
+<link rel="stylesheet" href="style.css" type="text/css">
+<link rel="chapter" href="general.html" title="API">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr 
valign="middle">
+<td><a accesskey="p" href="libxml2-xmlmodule.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-xmlregexp.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">xmlreader</span></h2>
+<p>xmlreader - the XMLReader implementation</p>
+<p>API of the XML streaming API based on C# interfaces. </p>
+<p>Author(s): Daniel Veillard </p>
+<div class="refsynopsisdiv">
+<h2>Synopsis</h2>
+<pre class="synopsis">typedef enum <a href="#xmlParserProperties">xmlParserProperties</a>;
 typedef enum <a href="#xmlParserSeverities">xmlParserSeverities</a>;
 typedef enum <a href="#xmlReaderTypes">xmlReaderTypes</a>;
 typedef struct _xmlTextReader <a href="#xmlTextReader">xmlTextReader</a>;
@@ -51,19 +30,19 @@ typedef void * <a href="#xmlTextReaderLocatorPtr">xmlTextReaderLocatorPtr</a>;
 typedef enum <a href="#xmlTextReaderMode">xmlTextReaderMode</a>;
 typedef <a href="libxml2-xmlreader.html#xmlTextReader">xmlTextReader</a> * <a 
href="#xmlTextReaderPtr">xmlTextReaderPtr</a>;
 void   <a href="#xmlFreeTextReader">xmlFreeTextReader</a>              (<a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
-<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> <a 
href="#xmlNewTextReader">xmlNewTextReader</a>        (<a 
href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> input, <br/>                     
                       const char * URI);
+<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> <a 
href="#xmlNewTextReader">xmlNewTextReader</a>        (<a 
href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> input, <br>                      
                       const char * URI);
 <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> <a 
href="#xmlNewTextReaderFilename">xmlNewTextReaderFilename</a>        (const char * URI);
-<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> <a 
href="#xmlReaderForDoc">xmlReaderForDoc</a>  (const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * 
cur, <br/>                                         const char * URL, <br/>                                    
     const char * encoding, <br/>                                    int options);
-<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> <a 
href="#xmlReaderForFd">xmlReaderForFd</a>    (int fd, <br/>                                   const char * 
URL, <br/>                                         const char * encoding, <br/>                               
     int options);
-<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> <a 
href="#xmlReaderForFile">xmlReaderForFile</a>        (const char * filename, <br/>                            
                const char * encoding, <br/>                                            int options);
-<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> <a 
href="#xmlReaderForIO">xmlReaderForIO</a>    (<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-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> <a 
href="#xmlReaderForMemory">xmlReaderForMemory</a>    (const char * buffer, <br/>                              
                int size, <br/>                                                 const char * URL, <br/>       
                                          const char * encoding, <br/>                                        
    int options);
-int    <a href="#xmlReaderNewDoc">xmlReaderNewDoc</a>                  (<a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br/>                             
       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur, <br/>                                
         const char * URL, <br/>                                         const char * encoding, <br/>         
                           int options);
-int    <a href="#xmlReaderNewFd">xmlReaderNewFd</a>                    (<a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br/>                             
       int fd, <br/>                                   const char * URL, <br/>                                
         const char * encoding, <br/>                                    int options);
-int    <a href="#xmlReaderNewFile">xmlReaderNewFile</a>                (<a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br/>                             
       const char * filename, <br/>                                    const char * encoding, <br/>           
                         int options);
-int    <a href="#xmlReaderNewIO">xmlReaderNewIO</a>                    (<a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <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);
-int    <a href="#xmlReaderNewMemory">xmlReaderNewMemory</a>            (<a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br/>                             
       const char * buffer, <br/>                                      int size, <br/>                        
                 const char * URL, <br/>                                         const char * encoding, <br/> 
                                   int options);
-int    <a href="#xmlReaderNewWalker">xmlReaderNewWalker</a>            (<a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br/>                             
       <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc);
+<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> <a 
href="#xmlReaderForDoc">xmlReaderForDoc</a>  (const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * 
cur, <br>                                  const char * URL, <br>                                  const char 
* encoding, <br>                                     int options);
+<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> <a 
href="#xmlReaderForFd">xmlReaderForFd</a>    (int fd, <br>                                    const char * 
URL, <br>                                  const char * encoding, <br>                                     
int options);
+<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> <a 
href="#xmlReaderForFile">xmlReaderForFile</a>        (const char * filename, <br>                             
                const char * encoding, <br>                                             int options);
+<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> <a 
href="#xmlReaderForIO">xmlReaderForIO</a>    (<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-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> <a 
href="#xmlReaderForMemory">xmlReaderForMemory</a>    (const char * buffer, <br>                               
                int size, <br>                                          const char * URL, <br>                
                          const char * encoding, <br>                                             int 
options);
+int    <a href="#xmlReaderNewDoc">xmlReaderNewDoc</a>                  (<a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>                              
       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur, <br>                                 
 const char * URL, <br>                                  const char * encoding, <br>                          
           int options);
+int    <a href="#xmlReaderNewFd">xmlReaderNewFd</a>                    (<a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>                              
       int fd, <br>                                    const char * URL, <br>                                 
 const char * encoding, <br>                                     int options);
+int    <a href="#xmlReaderNewFile">xmlReaderNewFile</a>                (<a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>                              
       const char * filename, <br>                                     const char * encoding, <br>            
                         int options);
+int    <a href="#xmlReaderNewIO">xmlReaderNewIO</a>                    (<a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <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);
+int    <a href="#xmlReaderNewMemory">xmlReaderNewMemory</a>            (<a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>                              
       const char * buffer, <br>                                       int size, <br>                         
         const char * URL, <br>                                  const char * encoding, <br>                  
                   int options);
+int    <a href="#xmlReaderNewWalker">xmlReaderNewWalker</a>            (<a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>                              
       <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc);
 <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> <a 
href="#xmlReaderWalker">xmlReaderWalker</a>  (<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc);
 int    <a href="#xmlTextReaderAttributeCount">xmlTextReaderAttributeCount</a>  (<a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * <a 
href="#xmlTextReaderBaseUri">xmlTextReaderBaseUri</a>        (<a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
@@ -75,22 +54,22 @@ const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *        <a href="#xmlTextRe
 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *   <a 
href="#xmlTextReaderConstName">xmlTextReaderConstName</a>    (<a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *   <a 
href="#xmlTextReaderConstNamespaceUri">xmlTextReaderConstNamespaceUri</a>    (<a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *   <a 
href="#xmlTextReaderConstPrefix">xmlTextReaderConstPrefix</a>        (<a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
-const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *   <a 
href="#xmlTextReaderConstString">xmlTextReaderConstString</a>        (<a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br/>                             
               const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str);
+const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *   <a 
href="#xmlTextReaderConstString">xmlTextReaderConstString</a>        (<a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>                              
               const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str);
 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *   <a 
href="#xmlTextReaderConstValue">xmlTextReaderConstValue</a>  (<a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *   <a 
href="#xmlTextReaderConstXmlLang">xmlTextReaderConstXmlLang</a>      (<a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *   <a 
href="#xmlTextReaderConstXmlVersion">xmlTextReaderConstXmlVersion</a>        (<a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
 <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>    <a 
href="#xmlTextReaderCurrentDoc">xmlTextReaderCurrentDoc</a>  (<a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>  <a 
href="#xmlTextReaderCurrentNode">xmlTextReaderCurrentNode</a>        (<a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
 int    <a href="#xmlTextReaderDepth">xmlTextReaderDepth</a>            (<a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
-typedef void <a href="#xmlTextReaderErrorFunc">xmlTextReaderErrorFunc</a>              (void * arg, <br/>    
                                   const char * msg, <br/>                                         <a 
href="libxml2-xmlreader.html#xmlParserSeverities">xmlParserSeverities</a> severity, <br/>                     
               <a href="libxml2-xmlreader.html#xmlTextReaderLocatorPtr">xmlTextReaderLocatorPtr</a> locator);
+typedef void <a href="#xmlTextReaderErrorFunc">xmlTextReaderErrorFunc</a>              (void * arg, <br>     
                                   const char * msg, <br>                                  <a 
href="libxml2-xmlreader.html#xmlParserSeverities">xmlParserSeverities</a> severity, <br>                      
               <a href="libxml2-xmlreader.html#xmlTextReaderLocatorPtr">xmlTextReaderLocatorPtr</a> locator);
 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>  <a 
href="#xmlTextReaderExpand">xmlTextReaderExpand</a>  (<a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
-<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * <a 
href="#xmlTextReaderGetAttribute">xmlTextReaderGetAttribute</a>      (<a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br/>                             
               const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
-<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * <a 
href="#xmlTextReaderGetAttributeNo">xmlTextReaderGetAttributeNo</a>  (<a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br/>                             
               int no);
-<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * <a 
href="#xmlTextReaderGetAttributeNs">xmlTextReaderGetAttributeNs</a>  (<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);
-void   <a href="#xmlTextReaderGetErrorHandler">xmlTextReaderGetErrorHandler</a>        (<a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br/>                             
       <a href="libxml2-xmlreader.html#xmlTextReaderErrorFunc">xmlTextReaderErrorFunc</a> * f, <br/>          
                         void ** arg);
+<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * <a 
href="#xmlTextReaderGetAttribute">xmlTextReaderGetAttribute</a>      (<a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>                              
               const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
+<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * <a 
href="#xmlTextReaderGetAttributeNo">xmlTextReaderGetAttributeNo</a>  (<a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>                              
               int no);
+<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * <a 
href="#xmlTextReaderGetAttributeNs">xmlTextReaderGetAttributeNs</a>  (<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);
+void   <a href="#xmlTextReaderGetErrorHandler">xmlTextReaderGetErrorHandler</a>        (<a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>                              
       <a href="libxml2-xmlreader.html#xmlTextReaderErrorFunc">xmlTextReaderErrorFunc</a> * f, <br>           
                         void ** arg);
 int    <a href="#xmlTextReaderGetParserColumnNumber">xmlTextReaderGetParserColumnNumber</a>    (<a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
 int    <a href="#xmlTextReaderGetParserLineNumber">xmlTextReaderGetParserLineNumber</a>        (<a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
-int    <a href="#xmlTextReaderGetParserProp">xmlTextReaderGetParserProp</a>    (<a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br/>                             
       int prop);
+int    <a href="#xmlTextReaderGetParserProp">xmlTextReaderGetParserProp</a>    (<a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>                              
       int prop);
 <a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a>        <a 
href="#xmlTextReaderGetRemainder">xmlTextReaderGetRemainder</a>      (<a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
 int    <a href="#xmlTextReaderHasAttributes">xmlTextReaderHasAttributes</a>    (<a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
 int    <a href="#xmlTextReaderHasValue">xmlTextReaderHasValue</a>              (<a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
@@ -101,10 +80,10 @@ int        <a href="#xmlTextReaderIsValid">xmlTextReaderIsValid</a>                (<a 
href="libxml2-
 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * <a 
href="#xmlTextReaderLocalName">xmlTextReaderLocalName</a>    (<a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * <a 
href="#xmlTextReaderLocatorBaseURI">xmlTextReaderLocatorBaseURI</a>  (<a 
href="libxml2-xmlreader.html#xmlTextReaderLocatorPtr">xmlTextReaderLocatorPtr</a> locator);
 int    <a href="#xmlTextReaderLocatorLineNumber">xmlTextReaderLocatorLineNumber</a>    (<a 
href="libxml2-xmlreader.html#xmlTextReaderLocatorPtr">xmlTextReaderLocatorPtr</a> locator);
-<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * <a 
href="#xmlTextReaderLookupNamespace">xmlTextReaderLookupNamespace</a>        (<a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br/>                             
               const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix);
-int    <a href="#xmlTextReaderMoveToAttribute">xmlTextReaderMoveToAttribute</a>        (<a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br/>                             
       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
-int    <a href="#xmlTextReaderMoveToAttributeNo">xmlTextReaderMoveToAttributeNo</a>    (<a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br/>                             
       int no);
-int    <a href="#xmlTextReaderMoveToAttributeNs">xmlTextReaderMoveToAttributeNs</a>    (<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);
+<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * <a 
href="#xmlTextReaderLookupNamespace">xmlTextReaderLookupNamespace</a>        (<a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>                              
               const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix);
+int    <a href="#xmlTextReaderMoveToAttribute">xmlTextReaderMoveToAttribute</a>        (<a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>                              
       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
+int    <a href="#xmlTextReaderMoveToAttributeNo">xmlTextReaderMoveToAttributeNo</a>    (<a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>                              
       int no);
+int    <a href="#xmlTextReaderMoveToAttributeNs">xmlTextReaderMoveToAttributeNs</a>    (<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);
 int    <a href="#xmlTextReaderMoveToElement">xmlTextReaderMoveToElement</a>    (<a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
 int    <a href="#xmlTextReaderMoveToFirstAttribute">xmlTextReaderMoveToFirstAttribute</a>      (<a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
 int    <a href="#xmlTextReaderMoveToNextAttribute">xmlTextReaderMoveToNextAttribute</a>        (<a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
@@ -116,7 +95,7 @@ int  <a href="#xmlTextReaderNodeType">xmlTextReaderNodeType</a>              (<a 
href="libxml
 int    <a href="#xmlTextReaderNormalization">xmlTextReaderNormalization</a>    (<a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * <a 
href="#xmlTextReaderPrefix">xmlTextReaderPrefix</a>  (<a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
 <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>  <a 
href="#xmlTextReaderPreserve">xmlTextReaderPreserve</a>      (<a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
-int    <a href="#xmlTextReaderPreservePattern">xmlTextReaderPreservePattern</a>        (<a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br/>                             
       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pattern, <br/>                            
         const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** namespaces);
+int    <a href="#xmlTextReaderPreservePattern">xmlTextReaderPreservePattern</a>        (<a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>                              
       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pattern, <br>                             
         const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** namespaces);
 int    <a href="#xmlTextReaderQuoteChar">xmlTextReaderQuoteChar</a>            (<a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
 int    <a href="#xmlTextReaderRead">xmlTextReaderRead</a>              (<a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
 int    <a href="#xmlTextReaderReadAttributeValue">xmlTextReaderReadAttributeValue</a>  (<a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
@@ -124,46 +103,55 @@ int       <a href="#xmlTextReaderReadAttributeValue">xmlTextReaderReadAttributeValue</
 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * <a 
href="#xmlTextReaderReadOuterXml">xmlTextReaderReadOuterXml</a>      (<a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
 int    <a href="#xmlTextReaderReadState">xmlTextReaderReadState</a>            (<a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * <a 
href="#xmlTextReaderReadString">xmlTextReaderReadString</a>  (<a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
-int    <a href="#xmlTextReaderRelaxNGSetSchema">xmlTextReaderRelaxNGSetSchema</a>      (<a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br/>                             
       <a href="libxml2-relaxng.html#xmlRelaxNGPtr">xmlRelaxNGPtr</a> schema);
-int    <a href="#xmlTextReaderRelaxNGValidate">xmlTextReaderRelaxNGValidate</a>        (<a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br/>                             
       const char * rng);
-int    <a href="#xmlTextReaderRelaxNGValidateCtxt">xmlTextReaderRelaxNGValidateCtxt</a>        (<a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br/>                             
               <a href="libxml2-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt, <br/>   
                                         int options);
-int    <a href="#xmlTextReaderSchemaValidate">xmlTextReaderSchemaValidate</a>  (<a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br/>                             
       const char * xsd);
-int    <a href="#xmlTextReaderSchemaValidateCtxt">xmlTextReaderSchemaValidateCtxt</a>  (<a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br/>                             
       <a href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt, <br/>          
                         int options);
-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);
-int    <a href="#xmlTextReaderSetParserProp">xmlTextReaderSetParserProp</a>    (<a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br/>                             
       int prop, <br/>                                         int value);
-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);
+int    <a href="#xmlTextReaderRelaxNGSetSchema">xmlTextReaderRelaxNGSetSchema</a>      (<a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>                              
       <a href="libxml2-relaxng.html#xmlRelaxNGPtr">xmlRelaxNGPtr</a> schema);
+int    <a href="#xmlTextReaderRelaxNGValidate">xmlTextReaderRelaxNGValidate</a>        (<a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>                              
       const char * rng);
+int    <a href="#xmlTextReaderRelaxNGValidateCtxt">xmlTextReaderRelaxNGValidateCtxt</a>        (<a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>                              
               <a href="libxml2-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt, <br>    
                                         int options);
+int    <a href="#xmlTextReaderSchemaValidate">xmlTextReaderSchemaValidate</a>  (<a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>                              
       const char * xsd);
+int    <a href="#xmlTextReaderSchemaValidateCtxt">xmlTextReaderSchemaValidateCtxt</a>  (<a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>                              
       <a href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt, <br>           
                         int options);
+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);
+int    <a href="#xmlTextReaderSetParserProp">xmlTextReaderSetParserProp</a>    (<a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>                              
       int prop, <br>                                  int value);
+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);
 int    <a href="#xmlTextReaderStandalone">xmlTextReaderStandalone</a>          (<a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * <a href="#xmlTextReaderValue">xmlTextReaderValue</a>  
  (<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * <a 
href="#xmlTextReaderXmlLang">xmlTextReaderXmlLang</a>        (<a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader);
 </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="xmlParserProperties">Enum 
</a>xmlParserProperties</h3><pre class="programlisting">enum <a 
href="#xmlParserProperties">xmlParserProperties</a> {
+</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="xmlParserProperties">Enum </a>xmlParserProperties</h3>
+<pre class="programlisting">enum <a href="#xmlParserProperties">xmlParserProperties</a> {
     <a name="XML_PARSER_LOADDTD">XML_PARSER_LOADDTD</a> = 1
     <a name="XML_PARSER_DEFAULTATTRS">XML_PARSER_DEFAULTATTRS</a> = 2
     <a name="XML_PARSER_VALIDATE">XML_PARSER_VALIDATE</a> = 3
     <a name="XML_PARSER_SUBST_ENTITIES">XML_PARSER_SUBST_ENTITIES</a> = 4
 };
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlParserSeverities">Enum 
</a>xmlParserSeverities</h3><pre class="programlisting">enum <a 
href="#xmlParserSeverities">xmlParserSeverities</a> {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlParserSeverities">Enum </a>xmlParserSeverities</h3>
+<pre class="programlisting">enum <a href="#xmlParserSeverities">xmlParserSeverities</a> {
     <a name="XML_PARSER_SEVERITY_VALIDITY_WARNING">XML_PARSER_SEVERITY_VALIDITY_WARNING</a> = 1
     <a name="XML_PARSER_SEVERITY_VALIDITY_ERROR">XML_PARSER_SEVERITY_VALIDITY_ERROR</a> = 2
     <a name="XML_PARSER_SEVERITY_WARNING">XML_PARSER_SEVERITY_WARNING</a> = 3
     <a name="XML_PARSER_SEVERITY_ERROR">XML_PARSER_SEVERITY_ERROR</a> = 4
 };
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlReaderTypes">Enum </a>xmlReaderTypes</h3><pre 
class="programlisting">enum <a href="#xmlReaderTypes">xmlReaderTypes</a> {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlReaderTypes">Enum </a>xmlReaderTypes</h3>
+<pre class="programlisting">enum <a href="#xmlReaderTypes">xmlReaderTypes</a> {
     <a name="XML_READER_TYPE_NONE">XML_READER_TYPE_NONE</a> = 0
     <a name="XML_READER_TYPE_ELEMENT">XML_READER_TYPE_ELEMENT</a> = 1
     <a name="XML_READER_TYPE_ATTRIBUTE">XML_READER_TYPE_ATTRIBUTE</a> = 2
@@ -183,20 +171,32 @@ int       <a href="#xmlTextReaderStandalone">xmlTextReaderStandalone</a>          (<a 
href="li
     <a name="XML_READER_TYPE_END_ENTITY">XML_READER_TYPE_END_ENTITY</a> = 16
     <a name="XML_READER_TYPE_XML_DECLARATION">XML_READER_TYPE_XML_DECLARATION</a> = 17
 };
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextReader">Structure </a>xmlTextReader</h3><pre 
class="programlisting">struct _xmlTextReader {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextReader">Structure </a>xmlTextReader</h3>
+<pre class="programlisting">struct _xmlTextReader {
 The content of this structure is not made public by the API.
 } xmlTextReader;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextReaderLocatorPtr">Typedef 
</a>xmlTextReaderLocatorPtr</h3><pre class="programlisting">void * xmlTextReaderLocatorPtr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextReaderLocatorPtr">Typedef </a>xmlTextReaderLocatorPtr</h3>
+<pre class="programlisting">void * xmlTextReaderLocatorPtr;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextReaderMode">Enum </a>xmlTextReaderMode</h3><pre 
class="programlisting">enum <a href="#xmlTextReaderMode">xmlTextReaderMode</a> {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextReaderMode">Enum </a>xmlTextReaderMode</h3>
+<pre class="programlisting">enum <a href="#xmlTextReaderMode">xmlTextReaderMode</a> {
     <a name="XML_TEXTREADER_MODE_INITIAL">XML_TEXTREADER_MODE_INITIAL</a> = 0
     <a name="XML_TEXTREADER_MODE_INTERACTIVE">XML_TEXTREADER_MODE_INTERACTIVE</a> = 1
     <a name="XML_TEXTREADER_MODE_ERROR">XML_TEXTREADER_MODE_ERROR</a> = 2
@@ -204,362 +204,2145 @@ The content of this structure is not made public by the API.
     <a name="XML_TEXTREADER_MODE_CLOSED">XML_TEXTREADER_MODE_CLOSED</a> = 4
     <a name="XML_TEXTREADER_MODE_READING">XML_TEXTREADER_MODE_READING</a> = 5
 };
-</pre><p/>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextReaderPtr">Typedef </a>xmlTextReaderPtr</h3><pre 
class="programlisting"><a href="libxml2-xmlreader.html#xmlTextReader">xmlTextReader</a> * xmlTextReaderPtr;
-</pre><p>Pointer to an xmlReader context.</p>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextReaderErrorFunc"/>Function type 
xmlTextReaderErrorFunc</h3><pre class="programlisting">void        xmlTextReaderErrorFunc          (void * 
arg, <br/>                                       const char * msg, <br/>                                      
   <a href="libxml2-xmlreader.html#xmlParserSeverities">xmlParserSeverities</a> severity, <br/>               
                     <a href="libxml2-xmlreader.html#xmlTextReaderLocatorPtr">xmlTextReaderLocatorPtr</a> 
locator)<br/>
-</pre><p>Signature of an error callback from a reader parser</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>arg</tt></i>:</span></td><td>the user argument</td></tr><tr><td><span 
class="term"><i><tt>msg</tt></i>:</span></td><td>the message</td></tr><tr><td><span 
class="term"><i><tt>severity</tt></i>:</span></td><td>the severity of the error</td></tr><tr><td><span 
class="term"><i><tt>locator</tt></i>:</span></td><td>a locator indicating where the error 
occurred</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlFreeTextReader"/>xmlFreeTextReader ()</h3><pre 
class="programlisting">void     xmlFreeTextReader               (<a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br/>
-</pre><p>Deallocate all the resources associated to the reader</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>reader</tt></i>:</span></td><td>the <a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a></td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNewTextReader"/>xmlNewTextReader ()</h3><pre 
class="programlisting"><a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a>     
xmlNewTextReader        (<a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> 
input, <br/>                                            const char * URI)<br/>
-</pre><p>Create an <a href="libxml2-xmlreader.html#xmlTextReader">xmlTextReader</a> structure fed with 
@input</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 <a 
href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> used to read 
data</td></tr><tr><td><span class="term"><i><tt>URI</tt></i>:</span></td><td>the URI information for the 
source if available</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new <a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> or NULL in case of 
error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNewTextReaderFilename"/>xmlNewTextReaderFilename 
()</h3><pre class="programlisting"><a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a>     
xmlNewTextReaderFilename        (const char * URI)<br/>
-</pre><p>Create an <a href="libxml2-xmlreader.html#xmlTextReader">xmlTextReader</a> structure fed with the 
resource at @URI</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 of the resource to process</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the new <a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> or NULL in case of 
error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlReaderForDoc"/>xmlReaderForDoc ()</h3><pre 
class="programlisting"><a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a>       
xmlReaderForDoc (const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur, <br/>                      
                   const char * URL, <br/>                                         const char * encoding, 
<br/>                                    int options)<br/>
-</pre><p>Create an xmltextReader for an XML in-memory document. The parsing flags @options are a combination 
of xmlParserOption.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>cur</tt></i>:</span></td><td>a pointer to a zero terminated string</td></tr><tr><td><span 
class="term"><i><tt>URL</tt></i>:</span></td><td>the base URL to use for the document</td></tr><tr><td><span 
class="term"><i><tt>encoding</tt></i>:</span></td><td>the document encoding, or NULL</td></tr><tr><td><span 
class="term"><i><tt>options</tt></i>:</span></td><td>a combination of <a 
href="libxml2-parser.html#xmlParserOption">xmlParserOption</a></td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the new reader or NULL in case of 
error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlReaderForFd"/>xmlReaderForFd ()</h3><pre 
class="programlisting"><a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> xmlReaderForFd  
(int fd, <br/>                                   const char * URL, <br/>                                      
   const char * encoding, <br/>                                    int options)<br/>
-</pre><p>Create an xmltextReader for an XML from a file descriptor. The parsing flags @options are a 
combination of xmlParserOption. NOTE that the file descriptor will not be closed when the reader is closed or 
reset.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>fd</tt></i>:</span></td><td>an open file descriptor</td></tr><tr><td><span 
class="term"><i><tt>URL</tt></i>:</span></td><td>the base URL to use for the document</td></tr><tr><td><span 
class="term"><i><tt>encoding</tt></i>:</span></td><td>the document encoding, or NULL</td></tr><tr><td><span 
class="term"><i><tt>options</tt></i>:</span></td><td>a combination of <a 
href="libxml2-parser.html#xmlParserOption">xmlParserOption</a></td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the new reader or NULL in case of 
error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlReaderForFile"/>xmlReaderForFile ()</h3><pre 
class="programlisting"><a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a>     
xmlReaderForFile        (const char * filename, <br/>                                            const char * 
encoding, <br/>                                            int options)<br/>
-</pre><p>parse an XML file from the filesystem or the network. The parsing flags @options are a combination 
of xmlParserOption.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>filename</tt></i>:</span></td><td>a file or URL</td></tr><tr><td><span 
class="term"><i><tt>encoding</tt></i>:</span></td><td>the document encoding, or NULL</td></tr><tr><td><span 
class="term"><i><tt>options</tt></i>:</span></td><td>a combination of <a 
href="libxml2-parser.html#xmlParserOption">xmlParserOption</a></td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the new reader or NULL in case of 
error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlReaderForIO"/>xmlReaderForIO ()</h3><pre 
class="programlisting"><a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> xmlReaderForIO  
(<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>Create an xmltextReader for an XML document from I/O functions and source. The parsing flags 
@options are a combination of xmlParserOption.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ioread</tt></i>:</span></td><td>an I/O read function</td></tr><tr><td><span 
class="term"><i><tt>ioclose</tt></i>:</span></td><td>an I/O close function</td></tr><tr><td><span 
class="term"><i><tt>ioctx</tt></i>:</span></td><td>an I/O handler</td></tr><tr><td><span 
class="term"><i><tt>URL</tt></i>:</span></td><td>the base URL to use for the document</td></tr><tr><td><span 
class="term"><i><tt>encoding</tt></i>:</span></td><td>the document encoding, or NULL</td></tr><tr><td><span 
class="term"><i><tt>options</tt></i>:</span></td><td>a combination of <a 
href="libxml2-parser.html#xmlParserOption">xmlParserOption</a></td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the new reader or NULL in case of 
error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlReaderForMemory"/>xmlReaderForMemory ()</h3><pre 
class="programlisting"><a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> 
xmlReaderForMemory      (const char * buffer, <br/>                                              int size, 
<br/>                                                 const char * URL, <br/>                                 
                const char * encoding, <br/>                                            int options)<br/>
-</pre><p>Create an xmltextReader for an XML in-memory document. The parsing flags @options are a combination 
of xmlParserOption.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>buffer</tt></i>:</span></td><td>a pointer to a char array</td></tr><tr><td><span 
class="term"><i><tt>size</tt></i>:</span></td><td>the size of the array</td></tr><tr><td><span 
class="term"><i><tt>URL</tt></i>:</span></td><td>the base URL to use for the document</td></tr><tr><td><span 
class="term"><i><tt>encoding</tt></i>:</span></td><td>the document encoding, or NULL</td></tr><tr><td><span 
class="term"><i><tt>options</tt></i>:</span></td><td>a combination of <a 
href="libxml2-parser.html#xmlParserOption">xmlParserOption</a></td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the new reader or NULL in case of 
error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlReaderNewDoc"/>xmlReaderNewDoc ()</h3><pre 
class="programlisting">int  xmlReaderNewDoc                 (<a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br/>                             
       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur, <br/>                                
         const char * URL, <br/>                                         const char * encoding, <br/>         
                           int options)<br/>
-</pre><p>Setup an xmltextReader to parse an XML in-memory document. The parsing flags @options are a 
combination of xmlParserOption. This reuses the existing @reader xmlTextReader.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>reader</tt></i>:</span></td><td>an XML reader</td></tr><tr><td><span 
class="term"><i><tt>cur</tt></i>:</span></td><td>a pointer to a zero terminated string</td></tr><tr><td><span 
class="term"><i><tt>URL</tt></i>:</span></td><td>the base URL to use for the document</td></tr><tr><td><span 
class="term"><i><tt>encoding</tt></i>:</span></td><td>the document encoding, or NULL</td></tr><tr><td><span 
class="term"><i><tt>options</tt></i>:</span></td><td>a combination of <a 
href="libxml2-parser.html#xmlParserOption">xmlParserOption</a></td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success and -1 in case of 
error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlReaderNewFd"/>xmlReaderNewFd ()</h3><pre 
class="programlisting">int    xmlReaderNewFd                  (<a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br/>                             
       int fd, <br/>                                   const char * URL, <br/>                                
         const char * encoding, <br/>                                    int options)<br/>
-</pre><p>Setup an xmltextReader to parse an XML from a file descriptor. NOTE that the file descriptor will 
not be closed when the reader is closed or reset. The parsing flags @options are a combination of 
xmlParserOption. This reuses the existing @reader xmlTextReader.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>reader</tt></i>:</span></td><td>an XML reader</td></tr><tr><td><span 
class="term"><i><tt>fd</tt></i>:</span></td><td>an open file descriptor</td></tr><tr><td><span 
class="term"><i><tt>URL</tt></i>:</span></td><td>the base URL to use for the document</td></tr><tr><td><span 
class="term"><i><tt>encoding</tt></i>:</span></td><td>the document encoding, or NULL</td></tr><tr><td><span 
class="term"><i><tt>options</tt></i>:</span></td><td>a combination of <a 
href="libxml2-parser.html#xmlParserOption">xmlParserOption</a></td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success and -1 in case of 
error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlReaderNewFile"/>xmlReaderNewFile ()</h3><pre 
class="programlisting">int        xmlReaderNewFile                (<a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br/>                             
       const char * filename, <br/>                                    const char * encoding, <br/>           
                         int options)<br/>
-</pre><p>parse an XML file from the filesystem or the network. The parsing flags @options are a combination 
of xmlParserOption. This reuses the existing @reader xmlTextReader.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>reader</tt></i>:</span></td><td>an XML reader</td></tr><tr><td><span 
class="term"><i><tt>filename</tt></i>:</span></td><td>a file or URL</td></tr><tr><td><span 
class="term"><i><tt>encoding</tt></i>:</span></td><td>the document encoding, or NULL</td></tr><tr><td><span 
class="term"><i><tt>options</tt></i>:</span></td><td>a combination of <a 
href="libxml2-parser.html#xmlParserOption">xmlParserOption</a></td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success and -1 in case of 
error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlReaderNewIO"/>xmlReaderNewIO ()</h3><pre 
class="programlisting">int    xmlReaderNewIO                  (<a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <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>Setup an xmltextReader to parse an XML document from I/O functions and source. The parsing flags 
@options are a combination of xmlParserOption. This reuses the existing @reader xmlTextReader.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>reader</tt></i>:</span></td><td>an XML reader</td></tr><tr><td><span 
class="term"><i><tt>ioread</tt></i>:</span></td><td>an I/O read function</td></tr><tr><td><span 
class="term"><i><tt>ioclose</tt></i>:</span></td><td>an I/O close function</td></tr><tr><td><span 
class="term"><i><tt>ioctx</tt></i>:</span></td><td>an I/O handler</td></tr><tr><td><span 
class="term"><i><tt>URL</tt></i>:</span></td><td>the base URL to use for the document</td></tr><tr><td><span 
class="term"><i><tt>encoding</tt></i>:</span></td><td>the document encoding, or NULL</td></tr><tr><td><span 
class="term"><i><tt>options</tt></i>:</span></td><td>a combination of <a 
href="libxml2-parser.html#xmlParserOption">xmlParserOption</a></td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success and -1 in case of 
error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlReaderNewMemory"/>xmlReaderNewMemory ()</h3><pre 
class="programlisting">int    xmlReaderNewMemory              (<a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br/>                             
       const char * buffer, <br/>                                      int size, <br/>                        
                 const char * URL, <br/>                                         const char * encoding, <br/> 
                                   int options)<br/>
-</pre><p>Setup an xmltextReader to parse an XML in-memory document. The parsing flags @options are a 
combination of xmlParserOption. This reuses the existing @reader xmlTextReader.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>reader</tt></i>:</span></td><td>an XML reader</td></tr><tr><td><span 
class="term"><i><tt>buffer</tt></i>:</span></td><td>a pointer to a char array</td></tr><tr><td><span 
class="term"><i><tt>size</tt></i>:</span></td><td>the size of the array</td></tr><tr><td><span 
class="term"><i><tt>URL</tt></i>:</span></td><td>the base URL to use for the document</td></tr><tr><td><span 
class="term"><i><tt>encoding</tt></i>:</span></td><td>the document encoding, or NULL</td></tr><tr><td><span 
class="term"><i><tt>options</tt></i>:</span></td><td>a combination of <a 
href="libxml2-parser.html#xmlParserOption">xmlParserOption</a></td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success and -1 in case of 
error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlReaderNewWalker"/>xmlReaderNewWalker ()</h3><pre 
class="programlisting">int    xmlReaderNewWalker              (<a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br/>                             
       <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br/>
-</pre><p>Setup an xmltextReader to parse a preparsed XML document. This reuses the existing @reader 
xmlTextReader.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>reader</tt></i>:</span></td><td>an XML reader</td></tr><tr><td><span 
class="term"><i><tt>doc</tt></i>:</span></td><td>a preparsed document</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success and -1 in case of 
error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlReaderWalker"/>xmlReaderWalker ()</h3><pre 
class="programlisting"><a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a>       
xmlReaderWalker (<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br/>
-</pre><p>Create an xmltextReader for a preparsed document.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>doc</tt></i>:</span></td><td>a preparsed document</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the new reader or NULL in case of 
error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlTextReaderAttributeCount"/>xmlTextReaderAttributeCount ()</h3><pre class="programlisting">int  
xmlTextReaderAttributeCount     (<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> 
reader)<br/>
-</pre><p>Provides the number of attributes of the current node</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>reader</tt></i>:</span></td><td>the <a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></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></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextReaderBaseUri"/>xmlTextReaderBaseUri ()</h3><pre 
class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *     xmlTextReaderBaseUri    (<a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br/>
-</pre><p>The base URI of the node.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>reader</tt></i>:</span></td><td>the <a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the base URI or NULL if not available, if non NULL it 
need to be freed by the caller.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextReaderByteConsumed"/>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>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>reader</tt></i>:</span></td><td>an XML reader</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the index in bytes from the beginning of the entity or 
-1 in case the index could not be computed.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextReaderClose"/>xmlTextReaderClose ()</h3><pre 
class="programlisting">int    xmlTextReaderClose              (<a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br/>
-</pre><p>This method releases any resources allocated by the current instance changes the state to Closed 
and close any underlying input.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>reader</tt></i>:</span></td><td>the <a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</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="xmlTextReaderConstBaseUri"/>xmlTextReaderConstBaseUri 
()</h3><pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *     
xmlTextReaderConstBaseUri       (<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> 
reader)<br/>
-</pre><p>The base URI of the node.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>reader</tt></i>:</span></td><td>the <a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the base URI or NULL if not available, the string will 
be deallocated with the reader</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextReaderConstEncoding"/>xmlTextReaderConstEncoding 
()</h3><pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *   
xmlTextReaderConstEncoding      (<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> 
reader)<br/>
-</pre><p>Determine the encoding of the document being read.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>reader</tt></i>:</span></td><td>the <a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>a string containing the encoding of the document or NULL 
in case of error. The string is deallocated with the reader.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlTextReaderConstLocalName"/>xmlTextReaderConstLocalName ()</h3><pre class="programlisting">const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * xmlTextReaderConstLocalName     (<a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br/>
-</pre><p>The local name of the node.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>reader</tt></i>:</span></td><td>the <a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the local name or NULL if not available, the string will 
be deallocated with the reader.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextReaderConstName"/>xmlTextReaderConstName 
()</h3><pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *   
xmlTextReaderConstName  (<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br/>
-</pre><p>The qualified name of the node, equal to Prefix :LocalName.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>reader</tt></i>:</span></td><td>the <a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the local name or NULL if not available, the string is 
deallocated with the reader.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlTextReaderConstNamespaceUri"/>xmlTextReaderConstNamespaceUri ()</h3><pre 
class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *   
xmlTextReaderConstNamespaceUri  (<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> 
reader)<br/>
-</pre><p>The URI defining the namespace associated with the node.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>reader</tt></i>:</span></td><td>the <a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the namespace URI or NULL if not available, the string 
will be deallocated with the reader</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextReaderConstPrefix"/>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>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>reader</tt></i>:</span></td><td>the <a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the prefix or NULL if not available, the string is 
deallocated with the reader.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextReaderConstString"/>xmlTextReaderConstString 
()</h3><pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *       
xmlTextReaderConstString        (<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> 
reader, <br/>                                            const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str)<br/>
-</pre><p>Get an interned string from the reader, allows for example to speedup string name comparisons</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>reader</tt></i>:</span></td><td>the <a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span 
class="term"><i><tt>str</tt></i>:</span></td><td>the string to intern.</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>an interned copy of the string or NULL in case of error. 
The string will be deallocated with the reader.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextReaderConstValue"/>xmlTextReaderConstValue 
()</h3><pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * 
xmlTextReaderConstValue (<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br/>
-</pre><p>Provides the text value of the node if present</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>reader</tt></i>:</span></td><td>the <a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the string or NULL if not available. The result will be 
deallocated on the next Read() operation.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextReaderConstXmlLang"/>xmlTextReaderConstXmlLang 
()</h3><pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *     
xmlTextReaderConstXmlLang       (<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> 
reader)<br/>
-</pre><p>The xml:lang scope within which the node resides.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>reader</tt></i>:</span></td><td>the <a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the xml:lang value or NULL if none 
exists.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlTextReaderConstXmlVersion"/>xmlTextReaderConstXmlVersion ()</h3><pre class="programlisting">const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *       xmlTextReaderConstXmlVersion    (<a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br/>
-</pre><p>Determine the XML version of the document being read.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>reader</tt></i>:</span></td><td>the <a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>a string containing the XML version of the document or 
NULL in case of error. The string is deallocated with the reader.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextReaderCurrentDoc"/>xmlTextReaderCurrentDoc 
()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>  
xmlTextReaderCurrentDoc (<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br/>
-</pre><p>Hacking interface allowing to get the <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> 
corresponding to the current document being accessed by the xmlTextReader. NOTE: as a result of this call, 
the reader will not destroy the associated XML document and calling xmlFreeDoc() on the result is needed once 
the reader parsing has finished.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>reader</tt></i>:</span></td><td>the <a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> 
or NULL in case of error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextReaderCurrentNode"/>xmlTextReaderCurrentNode 
()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>      
xmlTextReaderCurrentNode        (<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> 
reader)<br/>
-</pre><p>Hacking interface allowing to get the <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> 
corresponding to the current node being accessed by the xmlTextReader. This is dangerous because the 
underlying node may be destroyed on the next Reads.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>reader</tt></i>:</span></td><td>the <a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> or NULL in case of 
error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextReaderDepth"/>xmlTextReaderDepth ()</h3><pre 
class="programlisting">int    xmlTextReaderDepth              (<a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br/>
-</pre><p>The depth of the node in the tree.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>reader</tt></i>:</span></td><td>the <a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the depth or -1 in case of 
error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextReaderExpand"/>xmlTextReaderExpand ()</h3><pre 
class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>        xmlTextReaderExpand     
(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br/>
-</pre><p>Reads the contents of the current node and the full subtree. It then makes the subtree available 
until the next xmlTextReaderRead() call</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>reader</tt></i>:</span></td><td>the <a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>a node pointer valid until the next xmlTextReaderRead() 
call or NULL in case of error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextReaderGetAttribute"/>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>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>reader</tt></i>:</span></td><td>the <a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span 
class="term"><i><tt>name</tt></i>:</span></td><td>the qualified name of the attribute.</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>a string containing the value of the specified 
attribute, or NULL in case of error. The string must be deallocated by the 
caller.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlTextReaderGetAttributeNo"/>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>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>reader</tt></i>:</span></td><td>the <a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></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></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>a string containing the value of the specified 
attribute, or NULL in case of error. The string must be deallocated by the 
caller.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlTextReaderGetAttributeNs"/>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>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>reader</tt></i>:</span></td><td>the <a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span 
class="term"><i><tt>localName</tt></i>:</span></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 attribute.</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a string 
containing the value of the specified attribute, or NULL in case of error. The string must be deallocated by 
the caller.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlTextReaderGetErrorHandler"/>xmlTextReaderGetErrorHandler ()</h3><pre class="programlisting">void     
  xmlTextReaderGetErrorHandler    (<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> 
reader, <br/>                                    <a 
href="libxml2-xmlreader.html#xmlTextReaderErrorFunc">xmlTextReaderErrorFunc</a> * f, <br/>                    
               void ** arg)<br/>
-</pre><p>Retrieve the error callback function and user argument.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>reader</tt></i>:</span></td><td>the <a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span 
class="term"><i><tt>f</tt></i>:</span></td><td>the callback function or NULL is no callback has been 
registered</td></tr><tr><td><span class="term"><i><tt>arg</tt></i>:</span></td><td>a user 
argument</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlTextReaderGetParserColumnNumber"/>xmlTextReaderGetParserColumnNumber ()</h3><pre 
class="programlisting">int    xmlTextReaderGetParserColumnNumber      (<a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br/>
-</pre><p>Provide the column number of the current parsing point.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>reader</tt></i>:</span></td><td>the user data (XML reader context)</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>an int or 0 if not 
available</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlTextReaderGetParserLineNumber"/>xmlTextReaderGetParserLineNumber ()</h3><pre 
class="programlisting">int        xmlTextReaderGetParserLineNumber        (<a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br/>
-</pre><p>Provide the line number of the current parsing point.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>reader</tt></i>:</span></td><td>the user data (XML reader context)</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>an int or 0 if not 
available</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextReaderGetParserProp"/>xmlTextReaderGetParserProp 
()</h3><pre class="programlisting">int    xmlTextReaderGetParserProp      (<a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br/>                             
       int prop)<br/>
-</pre><p>Read the parser internal property.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>reader</tt></i>:</span></td><td>the <a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span 
class="term"><i><tt>prop</tt></i>:</span></td><td>the <a 
href="libxml2-xmlreader.html#xmlParserProperties">xmlParserProperties</a> to get</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the value, usually 0 or 1, or -1 in case of 
error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextReaderGetRemainder"/>xmlTextReaderGetRemainder 
()</h3><pre class="programlisting"><a 
href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a>  xmlTextReaderGetRemainder       
(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br/>
-</pre><p>Method to get the remainder of the buffered XML. this method stops the parser, set its state to End 
Of File and return the input stream with what is left that the parser did not use. The implementation is not 
good, the parser certainly progressed past what's left in reader-&gt;input, and there is an allocation 
problem. Best would be to rewrite it differently.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>reader</tt></i>:</span></td><td>the <a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a 
href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> attached to the XML or NULL in 
case of error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextReaderHasAttributes"/>xmlTextReaderHasAttributes 
()</h3><pre class="programlisting">int    xmlTextReaderHasAttributes      (<a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br/>
-</pre><p>Whether the node has attributes.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>reader</tt></i>:</span></td><td>the <a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</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 or 
error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextReaderHasValue"/>xmlTextReaderHasValue 
()</h3><pre class="programlisting">int      xmlTextReaderHasValue           (<a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br/>
-</pre><p>Whether the node can have a text value.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>reader</tt></i>:</span></td><td>the <a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</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 or 
error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextReaderIsDefault"/>xmlTextReaderIsDefault 
()</h3><pre class="programlisting">int    xmlTextReaderIsDefault          (<a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br/>
-</pre><p>Whether an Attribute node was generated from the default value defined in the DTD or schema.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>reader</tt></i>:</span></td><td>the <a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if not defaulted, 1 if defaulted, and -1 in case of 
error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlTextReaderIsEmptyElement"/>xmlTextReaderIsEmptyElement ()</h3><pre class="programlisting">int  
xmlTextReaderIsEmptyElement     (<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> 
reader)<br/>
-</pre><p>Check if the current node is empty</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>reader</tt></i>:</span></td><td>the <a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if empty, 0 if not and -1 in case of 
error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlTextReaderIsNamespaceDecl"/>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 attribute.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>reader</tt></i>:</span></td><td>the <a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></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></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextReaderIsValid"/>xmlTextReaderIsValid ()</h3><pre 
class="programlisting">int        xmlTextReaderIsValid            (<a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br/>
-</pre><p>Retrieve the validity status from the parser context</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>reader</tt></i>:</span></td><td>the <a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the flag value 1 if valid, 0 if no, and -1 in case of 
error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextReaderLocalName"/>xmlTextReaderLocalName 
()</h3><pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * 
xmlTextReaderLocalName  (<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br/>
-</pre><p>The local name of the node.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>reader</tt></i>:</span></td><td>the <a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the local name or NULL if not available, if non NULL it 
need to be freed by the caller.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlTextReaderLocatorBaseURI"/>xmlTextReaderLocatorBaseURI ()</h3><pre class="programlisting"><a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *       xmlTextReaderLocatorBaseURI     (<a 
href="libxml2-xmlreader.html#xmlTextReaderLocatorPtr">xmlTextReaderLocatorPtr</a> locator)<br/>
-</pre><p>Obtain the base URI for the given locator.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>locator</tt></i>:</span></td><td>the <a 
href="libxml2-xmlreader.html#xmlTextReaderLocatorPtr">xmlTextReaderLocatorPtr</a> used</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the base URI or NULL in case of error, if non NULL it 
need to be freed by the caller.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlTextReaderLocatorLineNumber"/>xmlTextReaderLocatorLineNumber ()</h3><pre class="programlisting">int  
  xmlTextReaderLocatorLineNumber  (<a 
href="libxml2-xmlreader.html#xmlTextReaderLocatorPtr">xmlTextReaderLocatorPtr</a> locator)<br/>
-</pre><p>Obtain the line number for the given locator.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>locator</tt></i>:</span></td><td>the <a 
href="libxml2-xmlreader.html#xmlTextReaderLocatorPtr">xmlTextReaderLocatorPtr</a> used</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the line number or -1 in case of 
error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlTextReaderLookupNamespace"/>xmlTextReaderLookupNamespace ()</h3><pre class="programlisting"><a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *     xmlTextReaderLookupNamespace    (<a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br/>                             
               const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix)<br/>
-</pre><p>Resolves a namespace prefix in the scope of the current element.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>reader</tt></i>:</span></td><td>the <a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span 
class="term"><i><tt>prefix</tt></i>:</span></td><td>the prefix whose namespace URI is to be resolved. To 
return the default namespace, specify NULL</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>a string containing the namespace URI to which the 
prefix maps or NULL in case of error. The string must be deallocated by the 
caller.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlTextReaderMoveToAttribute"/>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>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>reader</tt></i>:</span></td><td>the <a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span 
class="term"><i><tt>name</tt></i>:</span></td><td>the qualified name of the attribute.</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 in case of success, -1 in case of error, 0 if not 
found</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlTextReaderMoveToAttributeNo"/>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>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>reader</tt></i>:</span></td><td>the <a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></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></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 in case of success, -1 in case of error, 0 if not 
found</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlTextReaderMoveToAttributeNs"/>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>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>reader</tt></i>:</span></td><td>the <a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span 
class="term"><i><tt>localName</tt></i>:</span></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 attribute.</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 in case of 
success, -1 in case of error, 0 if not found</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextReaderMoveToElement"/>xmlTextReaderMoveToElement 
()</h3><pre class="programlisting">int    xmlTextReaderMoveToElement      (<a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br/>
-</pre><p>Moves the position of the current instance to the node that contains the current Attribute node.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>reader</tt></i>:</span></td><td>the <a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 in case of success, -1 in case of error, 0 if not 
moved</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlTextReaderMoveToFirstAttribute"/>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>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>reader</tt></i>:</span></td><td>the <a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 in case of success, -1 in case of error, 0 if not 
found</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlTextReaderMoveToNextAttribute"/>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>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>reader</tt></i>:</span></td><td>the <a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 in case of success, -1 in case of error, 0 if not 
found</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextReaderName"/>xmlTextReaderName ()</h3><pre 
class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *   xmlTextReaderName       (<a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br/>
-</pre><p>The qualified name of the node, equal to Prefix :LocalName.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>reader</tt></i>:</span></td><td>the <a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the local name or NULL if not available, if non NULL it 
need to be freed by the caller.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextReaderNamespaceUri"/>xmlTextReaderNamespaceUri 
()</h3><pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *   
xmlTextReaderNamespaceUri       (<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> 
reader)<br/>
-</pre><p>The URI defining the namespace associated with the node.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>reader</tt></i>:</span></td><td>the <a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the namespace URI or NULL if not available, if non NULL 
it need to be freed by the caller.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextReaderNext"/>xmlTextReaderNext ()</h3><pre 
class="programlisting">int      xmlTextReaderNext               (<a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br/>
-</pre><p>Skip to the node following the current one in document order while avoiding the subtree if any.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>reader</tt></i>:</span></td><td>the <a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if the node was read successfully, 0 if there is no 
more nodes to read, or -1 in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextReaderNextSibling"/>xmlTextReaderNextSibling 
()</h3><pre class="programlisting">int        xmlTextReaderNextSibling        (<a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br/>
-</pre><p>Skip to the node following the current one in document order while avoiding the subtree if any. 
Currently implemented only for Readers built on a document</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>reader</tt></i>:</span></td><td>the <a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if the node was read successfully, 0 if there is no 
more nodes to read, or -1 in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextReaderNodeType"/>xmlTextReaderNodeType 
()</h3><pre class="programlisting">int      xmlTextReaderNodeType           (<a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br/>
-</pre><p>Get the node type of the current node Reference: 
http://www.gnu.org/software/dotgnu/pnetlib-doc/System/Xml/XmlNodeType.html</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>reader</tt></i>:</span></td><td>the <a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a 
href="libxml2-xmlreader.html#xmlReaderTypes">xmlReaderTypes</a> of the current node or -1 in case of 
error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextReaderNormalization"/>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>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>reader</tt></i>:</span></td><td>the <a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 or -1 in case of 
error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextReaderPrefix"/>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>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>reader</tt></i>:</span></td><td>the <a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the prefix or NULL if not available, if non NULL it need 
to be freed by the caller.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextReaderPreserve"/>xmlTextReaderPreserve 
()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>    
xmlTextReaderPreserve   (<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br/>
-</pre><p>This tells the XML Reader to preserve the current node. The caller must also use 
xmlTextReaderCurrentDoc() to keep an handle on the resulting document once parsing has finished</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>reader</tt></i>:</span></td><td>the <a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> or NULL in case of 
error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlTextReaderPreservePattern"/>xmlTextReaderPreservePattern ()</h3><pre class="programlisting">int      
  xmlTextReaderPreservePattern    (<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> 
reader, <br/>                                    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * 
pattern, <br/>                                     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> 
** namespaces)<br/>
-</pre><p>This tells the XML Reader to preserve all nodes matched by the pattern. The caller must also use 
xmlTextReaderCurrentDoc() to keep an handle on the resulting document once parsing has finished</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>reader</tt></i>:</span></td><td>the <a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span 
class="term"><i><tt>pattern</tt></i>:</span></td><td>an XPath subset pattern</td></tr><tr><td><span 
class="term"><i><tt>namespaces</tt></i>:</span></td><td>the prefix definitions, array of [URI, prefix] or 
NULL</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a non-negative number in 
case of success and -1 in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextReaderQuoteChar"/>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 attribute.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>reader</tt></i>:</span></td><td>the <a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>" or ' and -1 in case of 
error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextReaderRead"/>xmlTextReaderRead ()</h3><pre 
class="programlisting">int      xmlTextReaderRead               (<a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br/>
-</pre><p>Moves the position of the current instance to the next node in the stream, exposing its 
properties.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>reader</tt></i>:</span></td><td>the <a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if the node was read successfully, 0 if there is no 
more nodes to read, or -1 in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlTextReaderReadAttributeValue"/>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>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>reader</tt></i>:</span></td><td>the <a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></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></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextReaderReadInnerXml"/>xmlTextReaderReadInnerXml 
()</h3><pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *   
xmlTextReaderReadInnerXml       (<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> 
reader)<br/>
-</pre><p>Reads the contents of the current node, including child nodes and markup.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>reader</tt></i>:</span></td><td>the <a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>a string containing the XML content, or NULL if the 
current node is neither an element nor attribute, or has no child nodes. The string must be deallocated by 
the caller.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextReaderReadOuterXml"/>xmlTextReaderReadOuterXml 
()</h3><pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *   
xmlTextReaderReadOuterXml       (<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> 
reader)<br/>
-</pre><p>Reads the contents of the current node, including child nodes and markup.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>reader</tt></i>:</span></td><td>the <a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>a string containing the node and any XML content, or 
NULL if the current node cannot be serialized. The string must be deallocated by the 
caller.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextReaderReadState"/>xmlTextReaderReadState 
()</h3><pre class="programlisting">int    xmlTextReaderReadState          (<a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br/>
-</pre><p>Gets the read state of the reader.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>reader</tt></i>:</span></td><td>the <a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the state value, or -1 in case of 
error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextReaderReadString"/>xmlTextReaderReadString 
()</h3><pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *       
xmlTextReaderReadString (<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br/>
-</pre><p>Reads the contents of an element or a text node as a string.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>reader</tt></i>:</span></td><td>the <a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></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></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlTextReaderRelaxNGSetSchema"/>xmlTextReaderRelaxNGSetSchema ()</h3><pre class="programlisting">int    
  xmlTextReaderRelaxNGSetSchema   (<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> 
reader, <br/>                                    <a 
href="libxml2-relaxng.html#xmlRelaxNGPtr">xmlRelaxNGPtr</a> schema)<br/>
-</pre><p>Use RelaxNG to validate the document as it is processed. Activation is only possible before the 
first Read(). if @schema is NULL, then RelaxNG validation is deactivated. @ The @schema should not be freed 
until the reader is deallocated or its use has been deactivated.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>reader</tt></i>:</span></td><td>the <a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span 
class="term"><i><tt>schema</tt></i>:</span></td><td>a precompiled RelaxNG schema</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case the RelaxNG validation could be (de)activated 
and -1 in case of error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlTextReaderRelaxNGValidate"/>xmlTextReaderRelaxNGValidate ()</h3><pre class="programlisting">int      
  xmlTextReaderRelaxNGValidate    (<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> 
reader, <br/>                                    const char * rng)<br/>
-</pre><p>Use RelaxNG schema to validate the document as it is processed. Activation is only possible before 
the first Read(). If @rng is NULL, then RelaxNG schema validation is deactivated.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>reader</tt></i>:</span></td><td>the <a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span 
class="term"><i><tt>rng</tt></i>:</span></td><td>the path to a RelaxNG schema or NULL</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case the schemas validation could be (de)activated 
and -1 in case of error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlTextReaderRelaxNGValidateCtxt"/>xmlTextReaderRelaxNGValidateCtxt ()</h3><pre 
class="programlisting">int        xmlTextReaderRelaxNGValidateCtxt        (<a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br/>                             
               <a href="libxml2-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt, <br/>   
                                         int options)<br/>
-</pre><p>Use RelaxNG schema context to validate the document as it is processed. Activation is only possible 
before the first Read(). If @ctxt is NULL, then RelaxNG schema validation is deactivated.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>reader</tt></i>:</span></td><td>the <a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span 
class="term"><i><tt>ctxt</tt></i>:</span></td><td>the RelaxNG schema validation context or 
NULL</td></tr><tr><td><span class="term"><i><tt>options</tt></i>:</span></td><td>options (not used 
yet)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case the schemas 
validation could be (de)activated and -1 in case of error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlTextReaderSchemaValidate"/>xmlTextReaderSchemaValidate ()</h3><pre class="programlisting">int  
xmlTextReaderSchemaValidate     (<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> 
reader, <br/>                                    const char * xsd)<br/>
-</pre><p>Use W3C XSD schema to validate the document as it is processed. Activation is only possible before 
the first Read(). If @xsd is NULL, then XML Schema validation is deactivated.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>reader</tt></i>:</span></td><td>the <a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span 
class="term"><i><tt>xsd</tt></i>:</span></td><td>the path to a W3C XSD schema or NULL</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case the schemas validation could be (de)activated 
and -1 in case of error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlTextReaderSchemaValidateCtxt"/>xmlTextReaderSchemaValidateCtxt ()</h3><pre 
class="programlisting">int  xmlTextReaderSchemaValidateCtxt (<a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br/>                             
       <a href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt, <br/>          
                         int options)<br/>
-</pre><p>Use W3C XSD schema context to validate the document as it is processed. Activation is only possible 
before the first Read(). If @ctxt is NULL, then XML Schema validation is deactivated.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>reader</tt></i>:</span></td><td>the <a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span 
class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XML Schema validation context or 
NULL</td></tr><tr><td><span class="term"><i><tt>options</tt></i>:</span></td><td>options (not used 
yet)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case the schemas 
validation could be (de)activated and -1 in case of error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlTextReaderSetErrorHandler"/>xmlTextReaderSetErrorHandler ()</h3><pre class="programlisting">void     
  xmlTextReaderSetErrorHandler    (<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> 
reader, <br/>                                    <a 
href="libxml2-xmlreader.html#xmlTextReaderErrorFunc">xmlTextReaderErrorFunc</a> f, <br/>                      
               void * arg)<br/>
-</pre><p>Register a callback function that will be called on error and warnings. If @f is NULL, the default 
error and warning handlers are restored.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>reader</tt></i>:</span></td><td>the <a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span 
class="term"><i><tt>f</tt></i>:</span></td><td>the callback function to call on error and 
warnings</td></tr><tr><td><span class="term"><i><tt>arg</tt></i>:</span></td><td>a user argument to pass to 
the callback function</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextReaderSetParserProp"/>xmlTextReaderSetParserProp 
()</h3><pre class="programlisting">int    xmlTextReaderSetParserProp      (<a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br/>                             
       int prop, <br/>                                         int value)<br/>
-</pre><p>Change the parser processing behaviour by changing some of its internal properties. Note that some 
properties can only be changed before any read has been done.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>reader</tt></i>:</span></td><td>the <a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span 
class="term"><i><tt>prop</tt></i>:</span></td><td>the <a 
href="libxml2-xmlreader.html#xmlParserProperties">xmlParserProperties</a> to set</td></tr><tr><td><span 
class="term"><i><tt>value</tt></i>:</span></td><td>usually 0 or 1 to (de)activate it</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if the call was successful, or -1 in case of 
error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextReaderSetSchema"/>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><p>Use XSD Schema to validate the document as it is processed. Activation is only possible before the 
first Read(). if @schema is NULL, then Schema validation is deactivated. The @schema should not be freed 
until the reader is deallocated or its use has been deactivated.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>reader</tt></i>:</span></td><td>the <a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span 
class="term"><i><tt>schema</tt></i>:</span></td><td>a precompiled Schema schema</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case the Schema validation could be (de)activated 
and -1 in case of error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlTextReaderSetStructuredErrorHandler"/>xmlTextReaderSetStructuredErrorHandler ()</h3><pre 
class="programlisting">void   xmlTextReaderSetStructuredErrorHandler  (<a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br/>                             
               <a href="libxml2-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a> f, <br/>     
                                         void * arg)<br/>
-</pre><p>Register a callback function that will be called on error and warnings. If @f is NULL, the default 
error and warning handlers are restored.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>reader</tt></i>:</span></td><td>the <a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span 
class="term"><i><tt>f</tt></i>:</span></td><td>the callback function to call on error and 
warnings</td></tr><tr><td><span class="term"><i><tt>arg</tt></i>:</span></td><td>a user argument to pass to 
the callback function</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextReaderSetup"/>xmlTextReaderSetup ()</h3><pre 
class="programlisting">int    xmlTextReaderSetup              (<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)<br/>
-</pre><p>Setup an XML reader with new options</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>reader</tt></i>:</span></td><td>an XML reader</td></tr><tr><td><span 
class="term"><i><tt>input</tt></i>:</span></td><td><a 
href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> used to feed the reader, will be 
destroyed with it.</td></tr><tr><td><span class="term"><i><tt>URL</tt></i>:</span></td><td>the base URL to 
use for the document</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>the 
document encoding, or NULL</td></tr><tr><td><span class="term"><i><tt>options</tt></i>:</span></td><td>a 
combination of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a></td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success and -1 in case of 
error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextReaderStandalone"/>xmlTextReaderStandalone 
()</h3><pre class="programlisting">int  xmlTextReaderStandalone         (<a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br/>
-</pre><p>Determine the standalone status of the document being read.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>reader</tt></i>:</span></td><td>the <a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if the document was declared to be standalone, 0 if it 
was declared to be not standalone, or -1 if the document did not specify its standalone status or in case of 
error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextReaderValue"/>xmlTextReaderValue ()</h3><pre 
class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * xmlTextReaderValue      (<a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br/>
-</pre><p>Provides the text value of the node if present</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>reader</tt></i>:</span></td><td>the <a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the string or NULL if not available. The result must be 
deallocated with xmlFree()</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextReaderXmlLang"/>xmlTextReaderXmlLang ()</h3><pre 
class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *     xmlTextReaderXmlLang    (<a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br/>
-</pre><p>The xml:lang scope within which the node resides.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>reader</tt></i>:</span></td><td>the <a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the xml:lang value or NULL if none exists., if non NULL 
it need to be freed by the caller.</td></tr></tbody></table></div></div>
-        <hr/>
-      </div>
-    </div>
-  </body>
+</pre>
+<p></p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextReaderPtr">Typedef </a>xmlTextReaderPtr</h3>
+<pre class="programlisting"><a href="libxml2-xmlreader.html#xmlTextReader">xmlTextReader</a> * 
xmlTextReaderPtr;
+</pre>
+<p>Pointer to an xmlReader context.</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextReaderErrorFunc"></a>Function type xmlTextReaderErrorFunc</h3>
+<pre class="programlisting">void       xmlTextReaderErrorFunc          (void * arg, <br>                     
                   const char * msg, <br>                                  <a 
href="libxml2-xmlreader.html#xmlParserSeverities">xmlParserSeverities</a> severity, <br>                      
               <a href="libxml2-xmlreader.html#xmlTextReaderLocatorPtr">xmlTextReaderLocatorPtr</a> 
locator)<br>
+</pre>
+<p>Signature of an error callback from a reader parser</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>arg</tt></i>:</span></td>
+<td>the user argument</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>msg</tt></i>:</span></td>
+<td>the message</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>severity</tt></i>:</span></td>
+<td>the severity of the error</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>locator</tt></i>:</span></td>
+<td>a locator indicating where the error occurred</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlFreeTextReader"></a>xmlFreeTextReader ()</h3>
+<pre class="programlisting">void       xmlFreeTextReader               (<a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
+</pre>
+<p>Deallocate all the resources associated to the reader</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>reader</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a>
+</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNewTextReader"></a>xmlNewTextReader ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a>     
xmlNewTextReader        (<a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> 
input, <br>                                             const char * URI)<br>
+</pre>
+<p>Create an <a href="libxml2-xmlreader.html#xmlTextReader">xmlTextReader</a> structure fed with @input</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 <a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> used to read 
data</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>URI</tt></i>:</span></td>
+<td>the URI information for the source if available</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the new <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> or NULL in case of 
error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNewTextReaderFilename"></a>xmlNewTextReaderFilename ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a>     
xmlNewTextReaderFilename        (const char * URI)<br>
+</pre>
+<p>Create an <a href="libxml2-xmlreader.html#xmlTextReader">xmlTextReader</a> structure fed with the 
resource at @URI</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 of the resource to process</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the new <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> or NULL in case of 
error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlReaderForDoc"></a>xmlReaderForDoc ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a>     
xmlReaderForDoc (const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur, <br>                       
           const char * URL, <br>                                  const char * encoding, <br>                
                     int options)<br>
+</pre>
+<p>Create an xmltextReader for an XML in-memory document. The parsing flags @options are a combination of 
xmlParserOption.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>a pointer to a zero terminated string</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>URL</tt></i>:</span></td>
+<td>the base URL to use for the document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
+<td>the document encoding, or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>options</tt></i>:</span></td>
+<td>a combination of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the new reader or NULL in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlReaderForFd"></a>xmlReaderForFd ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a>     
xmlReaderForFd  (int fd, <br>                                    const char * URL, <br>                       
           const char * encoding, <br>                                     int options)<br>
+</pre>
+<p>Create an xmltextReader for an XML from a file descriptor. The parsing flags @options are a combination 
of xmlParserOption. NOTE that the file descriptor will not be closed when the reader is closed or reset.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>fd</tt></i>:</span></td>
+<td>an open file descriptor</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>URL</tt></i>:</span></td>
+<td>the base URL to use for the document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
+<td>the document encoding, or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>options</tt></i>:</span></td>
+<td>a combination of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the new reader or NULL in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlReaderForFile"></a>xmlReaderForFile ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a>     
xmlReaderForFile        (const char * filename, <br>                                             const char * 
encoding, <br>                                             int options)<br>
+</pre>
+<p>parse an XML file from the filesystem or the network. The parsing flags @options are a combination of 
xmlParserOption.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>filename</tt></i>:</span></td>
+<td>a file or URL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
+<td>the document encoding, or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>options</tt></i>:</span></td>
+<td>a combination of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the new reader or NULL in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlReaderForIO"></a>xmlReaderForIO ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a>     
xmlReaderForIO  (<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>Create an xmltextReader for an XML document from I/O functions and source. The parsing flags @options are 
a combination of xmlParserOption.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ioread</tt></i>:</span></td>
+<td>an I/O read function</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ioclose</tt></i>:</span></td>
+<td>an I/O close function</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ioctx</tt></i>:</span></td>
+<td>an I/O handler</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>URL</tt></i>:</span></td>
+<td>the base URL to use for the document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
+<td>the document encoding, or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>options</tt></i>:</span></td>
+<td>a combination of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the new reader or NULL in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlReaderForMemory"></a>xmlReaderForMemory ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a>     
xmlReaderForMemory      (const char * buffer, <br>                                               int size, 
<br>                                          const char * URL, <br>                                          
const char * encoding, <br>                                             int options)<br>
+</pre>
+<p>Create an xmltextReader for an XML in-memory document. The parsing flags @options are a combination of 
xmlParserOption.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>buffer</tt></i>:</span></td>
+<td>a pointer to a char array</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>size</tt></i>:</span></td>
+<td>the size of the array</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>URL</tt></i>:</span></td>
+<td>the base URL to use for the document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
+<td>the document encoding, or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>options</tt></i>:</span></td>
+<td>a combination of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the new reader or NULL in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlReaderNewDoc"></a>xmlReaderNewDoc ()</h3>
+<pre class="programlisting">int        xmlReaderNewDoc                 (<a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>                              
       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur, <br>                                 
 const char * URL, <br>                                  const char * encoding, <br>                          
           int options)<br>
+</pre>
+<p>Setup an xmltextReader to parse an XML in-memory document. The parsing flags @options are a combination 
of xmlParserOption. This reuses the existing @reader xmlTextReader.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>reader</tt></i>:</span></td>
+<td>an XML reader</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>a pointer to a zero terminated string</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>URL</tt></i>:</span></td>
+<td>the base URL to use for the document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
+<td>the document encoding, or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>options</tt></i>:</span></td>
+<td>a combination of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 in case of success and -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlReaderNewFd"></a>xmlReaderNewFd ()</h3>
+<pre class="programlisting">int        xmlReaderNewFd                  (<a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>                              
       int fd, <br>                                    const char * URL, <br>                                 
 const char * encoding, <br>                                     int options)<br>
+</pre>
+<p>Setup an xmltextReader to parse an XML from a file descriptor. NOTE that the file descriptor will not be 
closed when the reader is closed or reset. The parsing flags @options are a combination of xmlParserOption. 
This reuses the existing @reader xmlTextReader.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>reader</tt></i>:</span></td>
+<td>an XML reader</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>fd</tt></i>:</span></td>
+<td>an open file descriptor</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>URL</tt></i>:</span></td>
+<td>the base URL to use for the document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
+<td>the document encoding, or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>options</tt></i>:</span></td>
+<td>a combination of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 in case of success and -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlReaderNewFile"></a>xmlReaderNewFile ()</h3>
+<pre class="programlisting">int        xmlReaderNewFile                (<a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>                              
       const char * filename, <br>                                     const char * encoding, <br>            
                         int options)<br>
+</pre>
+<p>parse an XML file from the filesystem or the network. The parsing flags @options are a combination of 
xmlParserOption. This reuses the existing @reader xmlTextReader.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>reader</tt></i>:</span></td>
+<td>an XML reader</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>filename</tt></i>:</span></td>
+<td>a file or URL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
+<td>the document encoding, or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>options</tt></i>:</span></td>
+<td>a combination of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 in case of success and -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlReaderNewIO"></a>xmlReaderNewIO ()</h3>
+<pre class="programlisting">int        xmlReaderNewIO                  (<a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <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>Setup an xmltextReader to parse an XML document from I/O functions and source. The parsing flags @options 
are a combination of xmlParserOption. This reuses the existing @reader xmlTextReader.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>reader</tt></i>:</span></td>
+<td>an XML reader</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ioread</tt></i>:</span></td>
+<td>an I/O read function</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ioclose</tt></i>:</span></td>
+<td>an I/O close function</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ioctx</tt></i>:</span></td>
+<td>an I/O handler</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>URL</tt></i>:</span></td>
+<td>the base URL to use for the document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
+<td>the document encoding, or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>options</tt></i>:</span></td>
+<td>a combination of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 in case of success and -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlReaderNewMemory"></a>xmlReaderNewMemory ()</h3>
+<pre class="programlisting">int        xmlReaderNewMemory              (<a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>                              
       const char * buffer, <br>                                       int size, <br>                         
         const char * URL, <br>                                  const char * encoding, <br>                  
                   int options)<br>
+</pre>
+<p>Setup an xmltextReader to parse an XML in-memory document. The parsing flags @options are a combination 
of xmlParserOption. This reuses the existing @reader xmlTextReader.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>reader</tt></i>:</span></td>
+<td>an XML reader</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>buffer</tt></i>:</span></td>
+<td>a pointer to a char array</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>size</tt></i>:</span></td>
+<td>the size of the array</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>URL</tt></i>:</span></td>
+<td>the base URL to use for the document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
+<td>the document encoding, or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>options</tt></i>:</span></td>
+<td>a combination of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 in case of success and -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlReaderNewWalker"></a>xmlReaderNewWalker ()</h3>
+<pre class="programlisting">int        xmlReaderNewWalker              (<a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>                              
       <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br>
+</pre>
+<p>Setup an xmltextReader to parse a preparsed XML document. This reuses the existing @reader 
xmlTextReader.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>reader</tt></i>:</span></td>
+<td>an XML reader</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>doc</tt></i>:</span></td>
+<td>a preparsed document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 in case of success and -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlReaderWalker"></a>xmlReaderWalker ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a>     
xmlReaderWalker (<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br>
+</pre>
+<p>Create an xmltextReader for a preparsed document.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>doc</tt></i>:</span></td>
+<td>a preparsed document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the new reader or NULL in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextReaderAttributeCount"></a>xmlTextReaderAttributeCount ()</h3>
+<pre class="programlisting">int        xmlTextReaderAttributeCount     (<a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
+</pre>
+<p>Provides the number of attributes of the current node</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>reader</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
+</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>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextReaderBaseUri"></a>xmlTextReaderBaseUri ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *     xmlTextReaderBaseUri  
  (<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
+</pre>
+<p>The base URI of the node.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>reader</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the base URI or NULL if not available, if non NULL it need to be freed by the caller.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>reader</tt></i>:</span></td>
+<td>an XML reader</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the index in bytes from the beginning of the entity or -1 in case the index could not be computed.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextReaderClose"></a>xmlTextReaderClose ()</h3>
+<pre class="programlisting">int        xmlTextReaderClose              (<a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
+</pre>
+<p>This method releases any resources allocated by the current instance changes the state to Closed and 
close any underlying input.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>reader</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</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="xmlTextReaderConstBaseUri"></a>xmlTextReaderConstBaseUri ()</h3>
+<pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *       
xmlTextReaderConstBaseUri       (<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> 
reader)<br>
+</pre>
+<p>The base URI of the node.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>reader</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the base URI or NULL if not available, the string will be deallocated with the reader</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextReaderConstEncoding"></a>xmlTextReaderConstEncoding ()</h3>
+<pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *       
xmlTextReaderConstEncoding      (<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> 
reader)<br>
+</pre>
+<p>Determine the encoding of the document being read.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>reader</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a string containing the encoding of the document or NULL in case of error. The string is deallocated 
with the reader.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextReaderConstLocalName"></a>xmlTextReaderConstLocalName ()</h3>
+<pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *       
xmlTextReaderConstLocalName     (<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> 
reader)<br>
+</pre>
+<p>The local name of the node.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>reader</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the local name or NULL if not available, the string will be deallocated with the reader.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextReaderConstName"></a>xmlTextReaderConstName ()</h3>
+<pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *       
xmlTextReaderConstName  (<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
+</pre>
+<p>The qualified name of the node, equal to Prefix :LocalName.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>reader</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the local name or NULL if not available, the string is deallocated with the reader.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextReaderConstNamespaceUri"></a>xmlTextReaderConstNamespaceUri ()</h3>
+<pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *       
xmlTextReaderConstNamespaceUri  (<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> 
reader)<br>
+</pre>
+<p>The URI defining the namespace associated with the node.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>reader</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the namespace URI or NULL if not available, the string will be deallocated with the reader</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>reader</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the prefix or NULL if not available, the string is deallocated with the reader.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextReaderConstString"></a>xmlTextReaderConstString ()</h3>
+<pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *       
xmlTextReaderConstString        (<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> 
reader, <br>                                             const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str)<br>
+</pre>
+<p>Get an interned string from the reader, allows for example to speedup string name comparisons</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>reader</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>str</tt></i>:</span></td>
+<td>the string to intern.</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>an interned copy of the string or NULL in case of error. The string will be deallocated with the 
reader.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextReaderConstValue"></a>xmlTextReaderConstValue ()</h3>
+<pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *       
xmlTextReaderConstValue (<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
+</pre>
+<p>Provides the text value of the node if present</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>reader</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the string or NULL if not available. The result will be deallocated on the next Read() operation.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextReaderConstXmlLang"></a>xmlTextReaderConstXmlLang ()</h3>
+<pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *       
xmlTextReaderConstXmlLang       (<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> 
reader)<br>
+</pre>
+<p>The xml:lang scope within which the node resides.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>reader</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the xml:lang value or NULL if none exists.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextReaderConstXmlVersion"></a>xmlTextReaderConstXmlVersion ()</h3>
+<pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *       
xmlTextReaderConstXmlVersion    (<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> 
reader)<br>
+</pre>
+<p>Determine the XML version of the document being read.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>reader</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a string containing the XML version of the document or NULL in case of error. The string is deallocated 
with the reader.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextReaderCurrentDoc"></a>xmlTextReaderCurrentDoc ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a>        
xmlTextReaderCurrentDoc (<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
+</pre>
+<p>Hacking interface allowing to get the <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> corresponding 
to the current document being accessed by the xmlTextReader. NOTE: as a result of this call, the reader will 
not destroy the associated XML document and calling xmlFreeDoc() on the result is needed once the reader 
parsing has finished.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>reader</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> or NULL in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextReaderCurrentNode"></a>xmlTextReaderCurrentNode ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>      
xmlTextReaderCurrentNode        (<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> 
reader)<br>
+</pre>
+<p>Hacking interface allowing to get the <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> corresponding 
to the current node being accessed by the xmlTextReader. This is dangerous because the underlying node may be 
destroyed on the next Reads.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>reader</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> or NULL in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextReaderDepth"></a>xmlTextReaderDepth ()</h3>
+<pre class="programlisting">int        xmlTextReaderDepth              (<a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
+</pre>
+<p>The depth of the node in the tree.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>reader</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the depth or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextReaderExpand"></a>xmlTextReaderExpand ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>      xmlTextReaderExpand   
  (<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
+</pre>
+<p>Reads the contents of the current node and the full subtree. It then makes the subtree available until 
the next xmlTextReaderRead() call</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>reader</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a node pointer valid until the next xmlTextReaderRead() call or NULL in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>reader</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the qualified name of the attribute.</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a string containing the value of the specified attribute, or NULL in case of error. The string must be 
deallocated by the caller.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>reader</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
+</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>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a string containing the value of the specified attribute, or NULL in case of error. The string must be 
deallocated by the caller.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>reader</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>localName</tt></i>:</span></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 attribute.</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a string containing the value of the specified attribute, or NULL in case of error. The string must be 
deallocated by the caller.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextReaderGetErrorHandler"></a>xmlTextReaderGetErrorHandler ()</h3>
+<pre class="programlisting">void       xmlTextReaderGetErrorHandler    (<a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>                              
       <a href="libxml2-xmlreader.html#xmlTextReaderErrorFunc">xmlTextReaderErrorFunc</a> * f, <br>           
                         void ** arg)<br>
+</pre>
+<p>Retrieve the error callback function and user argument.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>reader</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>f</tt></i>:</span></td>
+<td>the callback function or NULL is no callback has been registered</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>arg</tt></i>:</span></td>
+<td>a user argument</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextReaderGetParserColumnNumber"></a>xmlTextReaderGetParserColumnNumber ()</h3>
+<pre class="programlisting">int        xmlTextReaderGetParserColumnNumber      (<a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
+</pre>
+<p>Provide the column number of the current parsing point.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>reader</tt></i>:</span></td>
+<td>the user data (XML reader context)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>an int or 0 if not available</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextReaderGetParserLineNumber"></a>xmlTextReaderGetParserLineNumber ()</h3>
+<pre class="programlisting">int        xmlTextReaderGetParserLineNumber        (<a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
+</pre>
+<p>Provide the line number of the current parsing point.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>reader</tt></i>:</span></td>
+<td>the user data (XML reader context)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>an int or 0 if not available</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextReaderGetParserProp"></a>xmlTextReaderGetParserProp ()</h3>
+<pre class="programlisting">int        xmlTextReaderGetParserProp      (<a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>                              
       int prop)<br>
+</pre>
+<p>Read the parser internal property.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>reader</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>prop</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlreader.html#xmlParserProperties">xmlParserProperties</a> to get</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the value, usually 0 or 1, or -1 in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextReaderGetRemainder"></a>xmlTextReaderGetRemainder ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a>  
  xmlTextReaderGetRemainder       (<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> 
reader)<br>
+</pre>
+<p>Method to get the remainder of the buffered XML. this method stops the parser, set its state to End Of 
File and return the input stream with what is left that the parser did not use. The implementation is not 
good, the parser certainly progressed past what's left in reader-&gt;input, and there is an allocation 
problem. Best would be to rewrite it differently.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>reader</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the <a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> attached to the XML 
or NULL in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextReaderHasAttributes"></a>xmlTextReaderHasAttributes ()</h3>
+<pre class="programlisting">int        xmlTextReaderHasAttributes      (<a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
+</pre>
+<p>Whether the node has attributes.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>reader</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</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 or error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextReaderHasValue"></a>xmlTextReaderHasValue ()</h3>
+<pre class="programlisting">int        xmlTextReaderHasValue           (<a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
+</pre>
+<p>Whether the node can have a text value.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>reader</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</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 or error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextReaderIsDefault"></a>xmlTextReaderIsDefault ()</h3>
+<pre class="programlisting">int        xmlTextReaderIsDefault          (<a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
+</pre>
+<p>Whether an Attribute node was generated from the default value defined in the DTD or schema.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>reader</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 if not defaulted, 1 if defaulted, and -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextReaderIsEmptyElement"></a>xmlTextReaderIsEmptyElement ()</h3>
+<pre class="programlisting">int        xmlTextReaderIsEmptyElement     (<a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
+</pre>
+<p>Check if the current node is empty</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>reader</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if empty, 0 if not and -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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 attribute.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>reader</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
+</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>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextReaderIsValid"></a>xmlTextReaderIsValid ()</h3>
+<pre class="programlisting">int        xmlTextReaderIsValid            (<a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
+</pre>
+<p>Retrieve the validity status from the parser context</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>reader</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the flag value 1 if valid, 0 if no, and -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextReaderLocalName"></a>xmlTextReaderLocalName ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *     
xmlTextReaderLocalName  (<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
+</pre>
+<p>The local name of the node.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>reader</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the local name or NULL if not available, if non NULL it need to be freed by the caller.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextReaderLocatorBaseURI"></a>xmlTextReaderLocatorBaseURI ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *     
xmlTextReaderLocatorBaseURI     (<a 
href="libxml2-xmlreader.html#xmlTextReaderLocatorPtr">xmlTextReaderLocatorPtr</a> locator)<br>
+</pre>
+<p>Obtain the base URI for the given locator.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>locator</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlreader.html#xmlTextReaderLocatorPtr">xmlTextReaderLocatorPtr</a> used</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the base URI or NULL in case of error, if non NULL it need to be freed by the caller.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextReaderLocatorLineNumber"></a>xmlTextReaderLocatorLineNumber ()</h3>
+<pre class="programlisting">int        xmlTextReaderLocatorLineNumber  (<a 
href="libxml2-xmlreader.html#xmlTextReaderLocatorPtr">xmlTextReaderLocatorPtr</a> locator)<br>
+</pre>
+<p>Obtain the line number for the given locator.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>locator</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlreader.html#xmlTextReaderLocatorPtr">xmlTextReaderLocatorPtr</a> used</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the line number or -1 in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextReaderLookupNamespace"></a>xmlTextReaderLookupNamespace ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *     
xmlTextReaderLookupNamespace    (<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> 
reader, <br>                                             const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix)<br>
+</pre>
+<p>Resolves a namespace prefix in the scope of the current element.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>reader</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>prefix</tt></i>:</span></td>
+<td>the prefix whose namespace URI is to be resolved. To return the default namespace, specify NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a string containing the namespace URI to which the prefix maps or NULL in case of error. The string must 
be deallocated by the caller.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>reader</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the qualified name of the attribute.</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 in case of success, -1 in case of error, 0 if not found</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>reader</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
+</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>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 in case of success, -1 in case of error, 0 if not found</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>reader</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>localName</tt></i>:</span></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 attribute.</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 in case of success, -1 in case of error, 0 if not found</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextReaderMoveToElement"></a>xmlTextReaderMoveToElement ()</h3>
+<pre class="programlisting">int        xmlTextReaderMoveToElement      (<a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
+</pre>
+<p>Moves the position of the current instance to the node that contains the current Attribute node.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>reader</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 in case of success, -1 in case of error, 0 if not moved</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>reader</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 in case of success, -1 in case of error, 0 if not found</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>reader</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 in case of success, -1 in case of error, 0 if not found</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextReaderName"></a>xmlTextReaderName ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *     xmlTextReaderName     
  (<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
+</pre>
+<p>The qualified name of the node, equal to Prefix :LocalName.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>reader</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the local name or NULL if not available, if non NULL it need to be freed by the caller.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextReaderNamespaceUri"></a>xmlTextReaderNamespaceUri ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *     
xmlTextReaderNamespaceUri       (<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> 
reader)<br>
+</pre>
+<p>The URI defining the namespace associated with the node.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>reader</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the namespace URI or NULL if not available, if non NULL it need to be freed by the caller.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextReaderNext"></a>xmlTextReaderNext ()</h3>
+<pre class="programlisting">int        xmlTextReaderNext               (<a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
+</pre>
+<p>Skip to the node following the current one in document order while avoiding the subtree if any.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>reader</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if the node was read successfully, 0 if there is no more nodes to read, or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextReaderNextSibling"></a>xmlTextReaderNextSibling ()</h3>
+<pre class="programlisting">int        xmlTextReaderNextSibling        (<a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
+</pre>
+<p>Skip to the node following the current one in document order while avoiding the subtree if any. Currently 
implemented only for Readers built on a document</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>reader</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if the node was read successfully, 0 if there is no more nodes to read, or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextReaderNodeType"></a>xmlTextReaderNodeType ()</h3>
+<pre class="programlisting">int        xmlTextReaderNodeType           (<a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
+</pre>
+<p>Get the node type of the current node Reference: 
http://www.gnu.org/software/dotgnu/pnetlib-doc/System/Xml/XmlNodeType.html</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>reader</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlreader.html#xmlReaderTypes">xmlReaderTypes</a> of the current node or -1 in case 
of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>reader</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 or -1 in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>reader</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the prefix or NULL if not available, if non NULL it need to be freed by the caller.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextReaderPreserve"></a>xmlTextReaderPreserve ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>      xmlTextReaderPreserve 
  (<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
+</pre>
+<p>This tells the XML Reader to preserve the current node. The caller must also use 
xmlTextReaderCurrentDoc() to keep an handle on the resulting document once parsing has finished</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>reader</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> or NULL in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextReaderPreservePattern"></a>xmlTextReaderPreservePattern ()</h3>
+<pre class="programlisting">int        xmlTextReaderPreservePattern    (<a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>                              
       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pattern, <br>                             
         const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** namespaces)<br>
+</pre>
+<p>This tells the XML Reader to preserve all nodes matched by the pattern. The caller must also use 
xmlTextReaderCurrentDoc() to keep an handle on the resulting document once parsing has finished</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>reader</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>pattern</tt></i>:</span></td>
+<td>an XPath subset pattern</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>namespaces</tt></i>:</span></td>
+<td>the prefix definitions, array of [URI, prefix] or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a non-negative number in case of success and -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="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 attribute.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>reader</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>" or ' and -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextReaderRead"></a>xmlTextReaderRead ()</h3>
+<pre class="programlisting">int        xmlTextReaderRead               (<a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
+</pre>
+<p>Moves the position of the current instance to the next node in the stream, exposing its properties.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>reader</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if the node was read successfully, 0 if there is no more nodes to read, or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>reader</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
+</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>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextReaderReadInnerXml"></a>xmlTextReaderReadInnerXml ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *     
xmlTextReaderReadInnerXml       (<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> 
reader)<br>
+</pre>
+<p>Reads the contents of the current node, including child nodes and markup.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>reader</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a string containing the XML content, or NULL if the current node is neither an element nor attribute, or 
has no child nodes. The string must be deallocated by the caller.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextReaderReadOuterXml"></a>xmlTextReaderReadOuterXml ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *     
xmlTextReaderReadOuterXml       (<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> 
reader)<br>
+</pre>
+<p>Reads the contents of the current node, including child nodes and markup.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>reader</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a string containing the node and any XML content, or NULL if the current node cannot be serialized. The 
string must be deallocated by the caller.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextReaderReadState"></a>xmlTextReaderReadState ()</h3>
+<pre class="programlisting">int        xmlTextReaderReadState          (<a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
+</pre>
+<p>Gets the read state of the reader.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>reader</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the state value, or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextReaderReadString"></a>xmlTextReaderReadString ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *     
xmlTextReaderReadString (<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
+</pre>
+<p>Reads the contents of an element or a text node as a string.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>reader</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
+</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>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextReaderRelaxNGSetSchema"></a>xmlTextReaderRelaxNGSetSchema ()</h3>
+<pre class="programlisting">int        xmlTextReaderRelaxNGSetSchema   (<a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>                              
       <a href="libxml2-relaxng.html#xmlRelaxNGPtr">xmlRelaxNGPtr</a> schema)<br>
+</pre>
+<p>Use RelaxNG to validate the document as it is processed. Activation is only possible before the first 
Read(). if @schema is NULL, then RelaxNG validation is deactivated. @ The @schema should not be freed until 
the reader is deallocated or its use has been deactivated.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>reader</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>schema</tt></i>:</span></td>
+<td>a precompiled RelaxNG schema</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 in case the RelaxNG validation could be (de)activated and -1 in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextReaderRelaxNGValidate"></a>xmlTextReaderRelaxNGValidate ()</h3>
+<pre class="programlisting">int        xmlTextReaderRelaxNGValidate    (<a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>                              
       const char * rng)<br>
+</pre>
+<p>Use RelaxNG schema to validate the document as it is processed. Activation is only possible before the 
first Read(). If @rng is NULL, then RelaxNG schema validation is deactivated.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>reader</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>rng</tt></i>:</span></td>
+<td>the path to a RelaxNG schema or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 in case the schemas validation could be (de)activated and -1 in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextReaderRelaxNGValidateCtxt"></a>xmlTextReaderRelaxNGValidateCtxt ()</h3>
+<pre class="programlisting">int        xmlTextReaderRelaxNGValidateCtxt        (<a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>                              
               <a href="libxml2-relaxng.html#xmlRelaxNGValidCtxtPtr">xmlRelaxNGValidCtxtPtr</a> ctxt, <br>    
                                         int options)<br>
+</pre>
+<p>Use RelaxNG schema context to validate the document as it is processed. Activation is only possible 
before the first Read(). If @ctxt is NULL, then RelaxNG schema validation is deactivated.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>reader</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the RelaxNG schema validation context or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>options</tt></i>:</span></td>
+<td>options (not used yet)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 in case the schemas validation could be (de)activated and -1 in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextReaderSchemaValidate"></a>xmlTextReaderSchemaValidate ()</h3>
+<pre class="programlisting">int        xmlTextReaderSchemaValidate     (<a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>                              
       const char * xsd)<br>
+</pre>
+<p>Use W3C XSD schema to validate the document as it is processed. Activation is only possible before the 
first Read(). If @xsd is NULL, then XML Schema validation is deactivated.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>reader</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>xsd</tt></i>:</span></td>
+<td>the path to a W3C XSD schema or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 in case the schemas validation could be (de)activated and -1 in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextReaderSchemaValidateCtxt"></a>xmlTextReaderSchemaValidateCtxt ()</h3>
+<pre class="programlisting">int        xmlTextReaderSchemaValidateCtxt (<a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>                              
       <a href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt, <br>           
                         int options)<br>
+</pre>
+<p>Use W3C XSD schema context to validate the document as it is processed. Activation is only possible 
before the first Read(). If @ctxt is NULL, then XML Schema validation is deactivated.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>reader</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the XML Schema validation context or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>options</tt></i>:</span></td>
+<td>options (not used yet)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 in case the schemas validation could be (de)activated and -1 in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextReaderSetErrorHandler"></a>xmlTextReaderSetErrorHandler ()</h3>
+<pre class="programlisting">void       xmlTextReaderSetErrorHandler    (<a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>                              
       <a href="libxml2-xmlreader.html#xmlTextReaderErrorFunc">xmlTextReaderErrorFunc</a> f, <br>             
                         void * arg)<br>
+</pre>
+<p>Register a callback function that will be called on error and warnings. If @f is NULL, the default error 
and warning handlers are restored.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>reader</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>f</tt></i>:</span></td>
+<td>the callback function to call on error and warnings</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>arg</tt></i>:</span></td>
+<td>a user argument to pass to the callback function</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextReaderSetParserProp"></a>xmlTextReaderSetParserProp ()</h3>
+<pre class="programlisting">int        xmlTextReaderSetParserProp      (<a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>                              
       int prop, <br>                                  int value)<br>
+</pre>
+<p>Change the parser processing behaviour by changing some of its internal properties. Note that some 
properties can only be changed before any read has been done.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>reader</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>prop</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlreader.html#xmlParserProperties">xmlParserProperties</a> to set</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>value</tt></i>:</span></td>
+<td>usually 0 or 1 to (de)activate it</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 if the call was successful, or -1 in case of error</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>
+<p>Use XSD Schema to validate the document as it is processed. Activation is only possible before the first 
Read(). if @schema is NULL, then Schema validation is deactivated. The @schema should not be freed until the 
reader is deallocated or its use has been deactivated.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>reader</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>schema</tt></i>:</span></td>
+<td>a precompiled Schema schema</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 in case the Schema validation could be (de)activated and -1 in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextReaderSetStructuredErrorHandler"></a>xmlTextReaderSetStructuredErrorHandler ()</h3>
+<pre class="programlisting">void       xmlTextReaderSetStructuredErrorHandler  (<a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br>                              
               <a href="libxml2-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a> f, <br>      
                                         void * arg)<br>
+</pre>
+<p>Register a callback function that will be called on error and warnings. If @f is NULL, the default error 
and warning handlers are restored.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>reader</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>f</tt></i>:</span></td>
+<td>the callback function to call on error and warnings</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>arg</tt></i>:</span></td>
+<td>a user argument to pass to the callback function</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextReaderSetup"></a>xmlTextReaderSetup ()</h3>
+<pre class="programlisting">int        xmlTextReaderSetup              (<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)<br>
+</pre>
+<p>Setup an XML reader with new options</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>reader</tt></i>:</span></td>
+<td>an XML reader</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>input</tt></i>:</span></td>
+<td>
+<a href="libxml2-tree.html#xmlParserInputBufferPtr">xmlParserInputBufferPtr</a> used to feed the reader, 
will be destroyed with it.</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>URL</tt></i>:</span></td>
+<td>the base URL to use for the document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
+<td>the document encoding, or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>options</tt></i>:</span></td>
+<td>a combination of <a href="libxml2-parser.html#xmlParserOption">xmlParserOption</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 in case of success and -1 in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextReaderStandalone"></a>xmlTextReaderStandalone ()</h3>
+<pre class="programlisting">int        xmlTextReaderStandalone         (<a 
href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
+</pre>
+<p>Determine the standalone status of the document being read.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>reader</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if the document was declared to be standalone, 0 if it was declared to be not standalone, or -1 if the 
document did not specify its standalone status or in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextReaderValue"></a>xmlTextReaderValue ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *     xmlTextReaderValue    
  (<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
+</pre>
+<p>Provides the text value of the node if present</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>reader</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the string or NULL if not available. The result must be deallocated with xmlFree()</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextReaderXmlLang"></a>xmlTextReaderXmlLang ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *     xmlTextReaderXmlLang  
  (<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br>
+</pre>
+<p>The xml:lang scope within which the node resides.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>reader</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the xml:lang value or NULL if none exists., if non NULL it need to be freed by the caller.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+</div>
+</div>
+</body>
 </html>
diff --git a/doc/devhelp/libxml2-xmlregexp.html b/doc/devhelp/libxml2-xmlregexp.html
index 2b6d5376..12866925 100644
--- a/doc/devhelp/libxml2-xmlregexp.html
+++ b/doc/devhelp/libxml2-xmlregexp.html
@@ -1,49 +1,28 @@
-<?xml version="1.0" encoding="UTF-8"?>
 <html>
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
-    <title>xmlregexp: regular expressions handling</title>
-    <meta name="generator" content="Libxml2 devhelp stylesheet"/>
-    <link rel="start" href="index.html" title="libxml2 Reference Manual"/>
-    <link rel="up" href="general.html" title="API"/>
-    <link rel="stylesheet" href="style.css" type="text/css"/>
-    <link rel="chapter" href="general.html" title="API"/>
-  </head>
-  <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-    <table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
-      <tr valign="middle">
-        <td>
-          <a accesskey="p" href="libxml2-xmlreader.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-xmlsave.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">xmlregexp</span>
-    </h2>
-    <p>xmlregexp - regular expressions handling</p>
-    <p>basic API for libxml regular expressions handling used for XML Schemas and validation. </p>
-    <p>Author(s): Daniel Veillard </p>
-    <div class="refsynopsisdiv">
-      <h2>Synopsis</h2>
-      <pre class="synopsis">typedef struct _xmlExpCtxt <a href="#xmlExpCtxt">xmlExpCtxt</a>;
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>xmlregexp: regular expressions handling</title>
+<meta name="generator" content="Libxml2 devhelp stylesheet">
+<link rel="start" href="index.html" title="libxml2 Reference Manual">
+<link rel="up" href="general.html" title="API">
+<link rel="stylesheet" href="style.css" type="text/css">
+<link rel="chapter" href="general.html" title="API">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr 
valign="middle">
+<td><a accesskey="p" href="libxml2-xmlreader.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-xmlsave.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">xmlregexp</span></h2>
+<p>xmlregexp - regular expressions handling</p>
+<p>basic API for libxml regular expressions handling used for XML Schemas and validation. </p>
+<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>;
@@ -54,64 +33,81 @@ 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="#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="#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);
+<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);
-int    <a href="#xmlRegExecPushString">xmlRegExecPushString</a>                (<a 
href="libxml2-xmlregexp.html#xmlRegExecCtxtPtr">xmlRegExecCtxtPtr</a> exec, <br/>                             
       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br/>                              
         void * data);
-int    <a href="#xmlRegExecPushString2">xmlRegExecPushString2</a>              (<a 
href="libxml2-xmlregexp.html#xmlRegExecCtxtPtr">xmlRegExecCtxtPtr</a> exec, <br/>                             
       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br/>                              
         const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value2, <br/>                           
           void * data);
+<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);
+int    <a href="#xmlRegExecPushString">xmlRegExecPushString</a>                (<a 
href="libxml2-xmlregexp.html#xmlRegExecCtxtPtr">xmlRegExecCtxtPtr</a> exec, <br>                              
       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br>                               
         void * data);
+int    <a href="#xmlRegExecPushString2">xmlRegExecPushString2</a>              (<a 
href="libxml2-xmlregexp.html#xmlRegExecCtxtPtr">xmlRegExecCtxtPtr</a> exec, <br>                              
       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br>                               
         const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value2, <br>                            
           void * data);
 void   <a href="#xmlRegFreeExecCtxt">xmlRegFreeExecCtxt</a>            (<a 
href="libxml2-xmlregexp.html#xmlRegExecCtxtPtr">xmlRegExecCtxtPtr</a> exec);
 void   <a href="#xmlRegFreeRegexp">xmlRegFreeRegexp</a>                (<a 
href="libxml2-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a> regexp);
-<a href="libxml2-xmlregexp.html#xmlRegExecCtxtPtr">xmlRegExecCtxtPtr</a>       <a 
href="#xmlRegNewExecCtxt">xmlRegNewExecCtxt</a>      (<a 
href="libxml2-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a> comp, <br/>                                       
       <a href="libxml2-xmlregexp.html#xmlRegExecCallbacks">xmlRegExecCallbacks</a> callback, <br/>           
                                 void * data);
+<a href="libxml2-xmlregexp.html#xmlRegExecCtxtPtr">xmlRegExecCtxtPtr</a>       <a 
href="#xmlRegNewExecCtxt">xmlRegNewExecCtxt</a>      (<a 
href="libxml2-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a> comp, <br>                                        
       <a href="libxml2-xmlregexp.html#xmlRegExecCallbacks">xmlRegExecCallbacks</a> callback, <br>            
                                 void * data);
 <a href="libxml2-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a> <a 
href="#xmlRegexpCompile">xmlRegexpCompile</a>        (const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * regexp);
-int    <a href="#xmlRegexpExec">xmlRegexpExec</a>                      (<a 
href="libxml2-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a> comp, <br/>                                      
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
+int    <a href="#xmlRegexpExec">xmlRegexpExec</a>                      (<a 
href="libxml2-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a> comp, <br>                                       
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
 int    <a href="#xmlRegexpIsDeterminist">xmlRegexpIsDeterminist</a>            (<a 
href="libxml2-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a> comp);
-void   <a href="#xmlRegexpPrint">xmlRegexpPrint</a>                    (FILE * output, <br/>                 
                   <a href="libxml2-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a> regexp);
-</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="xmlExpCtxt">Structure </a>xmlExpCtxt</h3><pre 
class="programlisting">struct _xmlExpCtxt {
+void   <a href="#xmlRegexpPrint">xmlRegexpPrint</a>                    (FILE * output, <br>                  
                   <a href="libxml2-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a> regexp);
+</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="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/>
+</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/>
+<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 {
+<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/>
+</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/>
+<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> {
+<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
@@ -119,162 +115,862 @@ The content of this structure is not made public by the API.
     <a name="XML_EXP_OR">XML_EXP_OR</a> = 4
     <a name="XML_EXP_COUNT">XML_EXP_COUNT</a> = 5
 };
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlRegExecCtxt">Structure </a>xmlRegExecCtxt</h3><pre 
class="programlisting">struct _xmlRegExecCtxt {
+<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.
 } xmlRegExecCtxt;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlRegExecCtxtPtr">Typedef 
</a>xmlRegExecCtxtPtr</h3><pre class="programlisting"><a 
href="libxml2-xmlregexp.html#xmlRegExecCtxt">xmlRegExecCtxt</a> * xmlRegExecCtxtPtr;
-</pre><p>A libxml progressive regular expression evaluation context</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlRegExecCtxtPtr">Typedef </a>xmlRegExecCtxtPtr</h3>
+<pre class="programlisting"><a href="libxml2-xmlregexp.html#xmlRegExecCtxt">xmlRegExecCtxt</a> * 
xmlRegExecCtxtPtr;
+</pre>
+<p>A libxml progressive regular expression evaluation context</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlRegexp">Structure </a>xmlRegexp</h3><pre 
class="programlisting">struct _xmlRegexp {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlRegexp">Structure </a>xmlRegexp</h3>
+<pre class="programlisting">struct _xmlRegexp {
 The content of this structure is not made public by the API.
 } xmlRegexp;
-</pre><p/>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlRegexpPtr">Typedef </a>xmlRegexpPtr</h3><pre 
class="programlisting"><a href="libxml2-xmlregexp.html#xmlRegexp">xmlRegexp</a> * xmlRegexpPtr;
-</pre><p>A libxml regular expression, they can actually be far more complex thank the POSIX regex 
expressions.</p>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlRegExecCallbacks"/>Function type 
xmlRegExecCallbacks</h3><pre class="programlisting">void      xmlRegExecCallbacks             (<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)<br/>
-</pre><p>Callback function when doing a transition in the automata</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>exec</tt></i>:</span></td><td>the regular expression context</td></tr><tr><td><span 
class="term"><i><tt>token</tt></i>:</span></td><td>the current token string</td></tr><tr><td><span 
class="term"><i><tt>transdata</tt></i>:</span></td><td>transition data</td></tr><tr><td><span 
class="term"><i><tt>inputdata</tt></i>:</span></td><td>input data</td></tr></tbody></table></div></div>
-        <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/>
-</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/>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlExpCtxtNbCons"/>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"/>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"/>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"/>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"/>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"/>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"/>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"/>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"/>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"/>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"/>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"/>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"/>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"/>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"/>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"/>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"/>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"/>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"/>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"/>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><p>Extract error information from the regexp execution, the parameter @string will be updated with the 
value pushed and not accepted, the parameter @values must point to an array of @nbval string pointers on 
return nbval will contain the number of possible strings in that state and the @values array will be updated 
with them. The string values</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>exec</tt></i>:</span></td><td>a regexp execution context generating an 
error</td></tr><tr><td><span class="term"><i><tt>string</tt></i>:</span></td><td>return value for the error 
string</td></tr><tr><td><span class="term"><i><tt>nbval</tt></i>:</span></td><td>pointer to the number of 
accepted values IN/OUT</td></tr><tr><td><span class="term"><i><tt>nbneg</tt></i>:</span></td><td>return 
number of negative transitions</td></tr><tr><td><span 
class="term"><i><tt>values</tt></i>:</span></td><td>pointer to the array of acceptable 
values</td></tr><tr><td><span class="term"><i><tt>terminal</tt></i>:</span></td><td>return value if this was 
a terminal state</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>will be freed 
with the @exec context and don't need to be deallocated. Returns: 0 in case of success or -1 in case of 
error.</td></tr></tbody></table></div></div

-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlRegExecNextValues"/>xmlRegExecNextValues ()</h3><pre 
class="programlisting">int        xmlRegExecNextValues            (<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)<br/>
-</pre><p>Extract information from the regexp execution, the parameter @values must point to an array of 
@nbval string pointers on return nbval will contain the number of possible strings in that state and the 
@values array will be updated with them. The string values</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>exec</tt></i>:</span></td><td>a regexp execution context</td></tr><tr><td><span 
class="term"><i><tt>nbval</tt></i>:</span></td><td>pointer to the number of accepted values 
IN/OUT</td></tr><tr><td><span class="term"><i><tt>nbneg</tt></i>:</span></td><td>return number of negative 
transitions</td></tr><tr><td><span class="term"><i><tt>values</tt></i>:</span></td><td>pointer to the array 
of acceptable values</td></tr><tr><td><span class="term"><i><tt>terminal</tt></i>:</span></td><td>return 
value if this was a terminal state</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>will be freed with the @exec context and don't need to 
be deallocated. Returns: 0 in case of success or -1 in case of error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlRegExecPushString"/>xmlRegExecPushString ()</h3><pre 
class="programlisting">int        xmlRegExecPushString            (<a 
href="libxml2-xmlregexp.html#xmlRegExecCtxtPtr">xmlRegExecCtxtPtr</a> exec, <br/>                             
       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br/>                              
         void * data)<br/>
-</pre><p>Push one input token in the execution context</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>exec</tt></i>:</span></td><td>a regexp execution context or NULL to indicate the 
end</td></tr><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td>a string token 
input</td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>data associated to the token 
to reuse in callbacks</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if the 
regexp reached a final state, 0 if non-final, and a negative value in case of 
error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlRegExecPushString2"/>xmlRegExecPushString2 
()</h3><pre class="programlisting">int      xmlRegExecPushString2           (<a 
href="libxml2-xmlregexp.html#xmlRegExecCtxtPtr">xmlRegExecCtxtPtr</a> exec, <br/>                             
       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br/>                              
         const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value2, <br/>                           
           void * data)<br/>
-</pre><p>Push one input token in the execution context</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>exec</tt></i>:</span></td><td>a regexp execution context or NULL to indicate the 
end</td></tr><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td>the first string token 
input</td></tr><tr><td><span class="term"><i><tt>value2</tt></i>:</span></td><td>the second string token 
input</td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>data associated to the token 
to reuse in callbacks</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if the 
regexp reached a final state, 0 if non-final, and a negative value in case of 
error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlRegFreeExecCtxt"/>xmlRegFreeExecCtxt ()</h3><pre 
class="programlisting">void   xmlRegFreeExecCtxt              (<a 
href="libxml2-xmlregexp.html#xmlRegExecCtxtPtr">xmlRegExecCtxtPtr</a> exec)<br/>
-</pre><p>Free the structures associated to a regular expression evaluation context.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>exec</tt></i>:</span></td><td>a regular expression evaluation 
context</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlRegFreeRegexp"/>xmlRegFreeRegexp ()</h3><pre 
class="programlisting">void       xmlRegFreeRegexp                (<a 
href="libxml2-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a> regexp)<br/>
-</pre><p>Free a regexp</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>regexp</tt></i>:</span></td><td>the regexp</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlRegNewExecCtxt"/>xmlRegNewExecCtxt ()</h3><pre 
class="programlisting"><a href="libxml2-xmlregexp.html#xmlRegExecCtxtPtr">xmlRegExecCtxtPtr</a> 
xmlRegNewExecCtxt       (<a href="libxml2-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a> comp, <br/>           
                                   <a 
href="libxml2-xmlregexp.html#xmlRegExecCallbacks">xmlRegExecCallbacks</a> callback, <br/>                     
                       void * data)<br/>
-</pre><p>Build a context used for progressive evaluation of a regexp.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>comp</tt></i>:</span></td><td>a precompiled regular expression</td></tr><tr><td><span 
class="term"><i><tt>callback</tt></i>:</span></td><td>a callback function used for handling progresses in the 
automata matching phase</td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>the context 
data associated to the callback in this context</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the new context</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlRegexpCompile"/>xmlRegexpCompile ()</h3><pre 
class="programlisting"><a href="libxml2-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a>     xmlRegexpCompile    
    (const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * regexp)<br/>
-</pre><p>Parses a regular expression conforming to XML Schemas Part 2 Datatype Appendix F and builds an 
automata suitable for testing strings against that regular expression</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>regexp</tt></i>:</span></td><td>a regular expression string</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the compiled expression or NULL in case of 
error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlRegexpExec"/>xmlRegexpExec ()</h3><pre 
class="programlisting">int      xmlRegexpExec                   (<a 
href="libxml2-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a> comp, <br/>                                      
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br/>
-</pre><p>Check if the regular expression generates the value</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>comp</tt></i>:</span></td><td>the compiled regular expression</td></tr><tr><td><span 
class="term"><i><tt>content</tt></i>:</span></td><td>the value to check against the regular 
expression</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if it matches, 0 if 
not and a negative value in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlRegexpIsDeterminist"/>xmlRegexpIsDeterminist 
()</h3><pre class="programlisting">int    xmlRegexpIsDeterminist          (<a 
href="libxml2-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a> comp)<br/>
-</pre><p>Check if the regular expression is determinist</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>comp</tt></i>:</span></td><td>the compiled regular expression</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if it yes, 0 if not and a negative value in case of 
error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlRegexpPrint"/>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>
-<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 debug</td></tr><tr><td><span 
class="term"><i><tt>regexp</tt></i>:</span></td><td>the compiled regexp</td></tr></tbody></table></div></div>
-        <hr/>
-      </div>
-    </div>
-  </body>
+</pre>
+<p></p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlRegexpPtr">Typedef </a>xmlRegexpPtr</h3>
+<pre class="programlisting"><a href="libxml2-xmlregexp.html#xmlRegexp">xmlRegexp</a> * xmlRegexpPtr;
+</pre>
+<p>A libxml regular expression, they can actually be far more complex thank the POSIX regex expressions.</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlRegExecCallbacks"></a>Function type xmlRegExecCallbacks</h3>
+<pre class="programlisting">void       xmlRegExecCallbacks             (<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)<br>
+</pre>
+<p>Callback function when doing a transition in the automata</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>exec</tt></i>:</span></td>
+<td>the regular expression context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>token</tt></i>:</span></td>
+<td>the current token string</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>transdata</tt></i>:</span></td>
+<td>transition data</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>inputdata</tt></i>:</span></td>
+<td>input data</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<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>
+<p>Extract error information from the regexp execution, the parameter @string will be updated with the value 
pushed and not accepted, the parameter @values must point to an array of @nbval string pointers on return 
nbval will contain the number of possible strings in that state and the @values array will be updated with 
them. The string values</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>exec</tt></i>:</span></td>
+<td>a regexp execution context generating an error</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>string</tt></i>:</span></td>
+<td>return value for the error string</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>nbval</tt></i>:</span></td>
+<td>pointer to the number of accepted values IN/OUT</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>nbneg</tt></i>:</span></td>
+<td>return number of negative transitions</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>values</tt></i>:</span></td>
+<td>pointer to the array of acceptable values</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>terminal</tt></i>:</span></td>
+<td>return value if this was a terminal state</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>will be freed with the @exec context and don't need to be deallocated. Returns: 0 in case of success or 
-1 in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlRegExecNextValues"></a>xmlRegExecNextValues ()</h3>
+<pre class="programlisting">int        xmlRegExecNextValues            (<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)<br>
+</pre>
+<p>Extract information from the regexp execution, the parameter @values must point to an array of @nbval 
string pointers on return nbval will contain the number of possible strings in that state and the @values 
array will be updated with them. The string values</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>exec</tt></i>:</span></td>
+<td>a regexp execution context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>nbval</tt></i>:</span></td>
+<td>pointer to the number of accepted values IN/OUT</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>nbneg</tt></i>:</span></td>
+<td>return number of negative transitions</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>values</tt></i>:</span></td>
+<td>pointer to the array of acceptable values</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>terminal</tt></i>:</span></td>
+<td>return value if this was a terminal state</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>will be freed with the @exec context and don't need to be deallocated. Returns: 0 in case of success or 
-1 in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlRegExecPushString"></a>xmlRegExecPushString ()</h3>
+<pre class="programlisting">int        xmlRegExecPushString            (<a 
href="libxml2-xmlregexp.html#xmlRegExecCtxtPtr">xmlRegExecCtxtPtr</a> exec, <br>                              
       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br>                               
         void * data)<br>
+</pre>
+<p>Push one input token in the execution context</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>exec</tt></i>:</span></td>
+<td>a regexp execution context or NULL to indicate the end</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>value</tt></i>:</span></td>
+<td>a string token input</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>data</tt></i>:</span></td>
+<td>data associated to the token to reuse in callbacks</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if the regexp reached a final state, 0 if non-final, and a negative value in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlRegExecPushString2"></a>xmlRegExecPushString2 ()</h3>
+<pre class="programlisting">int        xmlRegExecPushString2           (<a 
href="libxml2-xmlregexp.html#xmlRegExecCtxtPtr">xmlRegExecCtxtPtr</a> exec, <br>                              
       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br>                               
         const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value2, <br>                            
           void * data)<br>
+</pre>
+<p>Push one input token in the execution context</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>exec</tt></i>:</span></td>
+<td>a regexp execution context or NULL to indicate the end</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>value</tt></i>:</span></td>
+<td>the first string token input</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>value2</tt></i>:</span></td>
+<td>the second string token input</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>data</tt></i>:</span></td>
+<td>data associated to the token to reuse in callbacks</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if the regexp reached a final state, 0 if non-final, and a negative value in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlRegFreeExecCtxt"></a>xmlRegFreeExecCtxt ()</h3>
+<pre class="programlisting">void       xmlRegFreeExecCtxt              (<a 
href="libxml2-xmlregexp.html#xmlRegExecCtxtPtr">xmlRegExecCtxtPtr</a> exec)<br>
+</pre>
+<p>Free the structures associated to a regular expression evaluation context.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>exec</tt></i>:</span></td>
+<td>a regular expression evaluation context</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlRegFreeRegexp"></a>xmlRegFreeRegexp ()</h3>
+<pre class="programlisting">void       xmlRegFreeRegexp                (<a 
href="libxml2-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a> regexp)<br>
+</pre>
+<p>Free a regexp</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>regexp</tt></i>:</span></td>
+<td>the regexp</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlRegNewExecCtxt"></a>xmlRegNewExecCtxt ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlregexp.html#xmlRegExecCtxtPtr">xmlRegExecCtxtPtr</a>   
xmlRegNewExecCtxt       (<a href="libxml2-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a> comp, <br>            
                                   <a 
href="libxml2-xmlregexp.html#xmlRegExecCallbacks">xmlRegExecCallbacks</a> callback, <br>                      
                       void * data)<br>
+</pre>
+<p>Build a context used for progressive evaluation of a regexp.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>comp</tt></i>:</span></td>
+<td>a precompiled regular expression</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>callback</tt></i>:</span></td>
+<td>a callback function used for handling progresses in the automata matching phase</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>data</tt></i>:</span></td>
+<td>the context data associated to the callback in this context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the new context</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlRegexpCompile"></a>xmlRegexpCompile ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a>     
xmlRegexpCompile        (const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * regexp)<br>
+</pre>
+<p>Parses a regular expression conforming to XML Schemas Part 2 Datatype Appendix F and builds an automata 
suitable for testing strings against that regular expression</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>regexp</tt></i>:</span></td>
+<td>a regular expression string</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the compiled expression or NULL in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlRegexpExec"></a>xmlRegexpExec ()</h3>
+<pre class="programlisting">int        xmlRegexpExec                   (<a 
href="libxml2-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a> comp, <br>                                       
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br>
+</pre>
+<p>Check if the regular expression generates the value</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>comp</tt></i>:</span></td>
+<td>the compiled regular expression</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>content</tt></i>:</span></td>
+<td>the value to check against the regular expression</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if it matches, 0 if not and a negative value in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlRegexpIsDeterminist"></a>xmlRegexpIsDeterminist ()</h3>
+<pre class="programlisting">int        xmlRegexpIsDeterminist          (<a 
href="libxml2-xmlregexp.html#xmlRegexpPtr">xmlRegexpPtr</a> comp)<br>
+</pre>
+<p>Check if the regular expression is determinist</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>comp</tt></i>:</span></td>
+<td>the compiled regular expression</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if it yes, 0 if not and a negative value in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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>
+<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 debug</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>regexp</tt></i>:</span></td>
+<td>the compiled regexp</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+</div>
+</div>
+</body>
 </html>
diff --git a/doc/devhelp/libxml2-xmlsave.html b/doc/devhelp/libxml2-xmlsave.html
index c2363b19..fe2c2d22 100644
--- a/doc/devhelp/libxml2-xmlsave.html
+++ b/doc/devhelp/libxml2-xmlsave.html
@@ -1,80 +1,68 @@
-<?xml version="1.0" encoding="UTF-8"?>
 <html>
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
-    <title>xmlsave: the XML document serializer</title>
-    <meta name="generator" content="Libxml2 devhelp stylesheet"/>
-    <link rel="start" href="index.html" title="libxml2 Reference Manual"/>
-    <link rel="up" href="general.html" title="API"/>
-    <link rel="stylesheet" href="style.css" type="text/css"/>
-    <link rel="chapter" href="general.html" title="API"/>
-  </head>
-  <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-    <table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
-      <tr valign="middle">
-        <td>
-          <a accesskey="p" href="libxml2-xmlregexp.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-xmlschemas.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">xmlsave</span>
-    </h2>
-    <p>xmlsave - the XML document serializer</p>
-    <p>API to save document or subtree of document </p>
-    <p>Author(s): Daniel Veillard </p>
-    <div class="refsynopsisdiv">
-      <h2>Synopsis</h2>
-      <pre class="synopsis">typedef struct _xmlSaveCtxt <a href="#xmlSaveCtxt">xmlSaveCtxt</a>;
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>xmlsave: the XML document serializer</title>
+<meta name="generator" content="Libxml2 devhelp stylesheet">
+<link rel="start" href="index.html" title="libxml2 Reference Manual">
+<link rel="up" href="general.html" title="API">
+<link rel="stylesheet" href="style.css" type="text/css">
+<link rel="chapter" href="general.html" title="API">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr 
valign="middle">
+<td><a accesskey="p" href="libxml2-xmlregexp.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-xmlschemas.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">xmlsave</span></h2>
+<p>xmlsave - the XML document serializer</p>
+<p>API to save document or subtree of document </p>
+<p>Author(s): Daniel Veillard </p>
+<div class="refsynopsisdiv">
+<h2>Synopsis</h2>
+<pre class="synopsis">typedef struct _xmlSaveCtxt <a href="#xmlSaveCtxt">xmlSaveCtxt</a>;
 typedef <a href="libxml2-xmlsave.html#xmlSaveCtxt">xmlSaveCtxt</a> * <a 
href="#xmlSaveCtxtPtr">xmlSaveCtxtPtr</a>;
 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);
+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="#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);
-<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);
-<a href="libxml2-xmlsave.html#xmlSaveCtxtPtr">xmlSaveCtxtPtr</a>       <a 
href="#xmlSaveToIO">xmlSaveToIO</a>          (<a 
href="libxml2-xmlIO.html#xmlOutputWriteCallback">xmlOutputWriteCallback</a> iowrite, <br/>                    
               <a href="libxml2-xmlIO.html#xmlOutputCloseCallback">xmlOutputCloseCallback</a> ioclose, <br/>  
                                 void * ioctx, <br/>                                     const char * 
encoding, <br/>                                    int options);
-long   <a href="#xmlSaveTree">xmlSaveTree</a>                  (<a 
href="libxml2-xmlsave.html#xmlSaveCtxtPtr">xmlSaveCtxtPtr</a> ctxt, <br/>                                    
<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
+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);
+<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);
+<a href="libxml2-xmlsave.html#xmlSaveCtxtPtr">xmlSaveCtxtPtr</a>       <a 
href="#xmlSaveToIO">xmlSaveToIO</a>          (<a 
href="libxml2-xmlIO.html#xmlOutputWriteCallback">xmlOutputWriteCallback</a> iowrite, <br>                     
               <a href="libxml2-xmlIO.html#xmlOutputCloseCallback">xmlOutputCloseCallback</a> ioclose, <br>   
                                 void * ioctx, <br>                                      const char * 
encoding, <br>                                     int options);
+long   <a href="#xmlSaveTree">xmlSaveTree</a>                  (<a 
href="libxml2-xmlsave.html#xmlSaveCtxtPtr">xmlSaveCtxtPtr</a> ctxt, <br>                                     
<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
 </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="xmlSaveCtxt">Structure </a>xmlSaveCtxt</h3><pre 
class="programlisting">struct _xmlSaveCtxt {
+</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="xmlSaveCtxt">Structure </a>xmlSaveCtxt</h3>
+<pre class="programlisting">struct _xmlSaveCtxt {
 The content of this structure is not made public by the API.
 } xmlSaveCtxt;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSaveCtxtPtr">Typedef </a>xmlSaveCtxtPtr</h3><pre 
class="programlisting"><a href="libxml2-xmlsave.html#xmlSaveCtxt">xmlSaveCtxt</a> * xmlSaveCtxtPtr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSaveCtxtPtr">Typedef </a>xmlSaveCtxtPtr</h3>
+<pre class="programlisting"><a href="libxml2-xmlsave.html#xmlSaveCtxt">xmlSaveCtxt</a> * xmlSaveCtxtPtr;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSaveOption">Enum </a>xmlSaveOption</h3><pre 
class="programlisting">enum <a href="#xmlSaveOption">xmlSaveOption</a> {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSaveOption">Enum </a>xmlSaveOption</h3>
+<pre class="programlisting">enum <a href="#xmlSaveOption">xmlSaveOption</a> {
     <a name="XML_SAVE_FORMAT">XML_SAVE_FORMAT</a> = 1 /* format save output */
     <a name="XML_SAVE_NO_DECL">XML_SAVE_NO_DECL</a> = 2 /* drop the xml declaration */
     <a name="XML_SAVE_NO_EMPTY">XML_SAVE_NO_EMPTY</a> = 4 /* no empty tags */
@@ -84,50 +72,277 @@ The content of this structure is not made public by the API.
     <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 */
 };
-</pre><p/>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSaveClose"/>xmlSaveClose ()</h3><pre 
class="programlisting">int        xmlSaveClose                    (<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.</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 document saving context</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of byte written or -1 in case of 
error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSaveDoc"/>xmlSaveDoc ()</h3><pre 
class="programlisting">long   xmlSaveDoc                      (<a 
href="libxml2-xmlsave.html#xmlSaveCtxtPtr">xmlSaveCtxtPtr</a> ctxt, <br/>                                    
<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br/>
-</pre><p>Save a full document to a saving context TODO: The function is not fully implemented yet as it does 
not return the byte count but 0 instead</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 document saving context</td></tr><tr><td><span 
class="term"><i><tt>doc</tt></i>:</span></td><td>a document</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of byte written or -1 in case of 
error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSaveFlush"/>xmlSaveFlush ()</h3><pre 
class="programlisting">int        xmlSaveFlush                    (<a 
href="libxml2-xmlsave.html#xmlSaveCtxtPtr">xmlSaveCtxtPtr</a> ctxt)<br/>
-</pre><p>Flush a document saving context, i.e. make sure that all bytes have been output.</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 document saving context</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of byte written or -1 in case of 
error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSaveSetAttrEscape"/>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>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctxt</tt></i>:</span></td><td>a document saving context</td></tr><tr><td><span 
class="term"><i><tt>escape</tt></i>:</span></td><td>the escaping function</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if successful or -1 in case of 
error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSaveSetEscape"/>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>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctxt</tt></i>:</span></td><td>a document saving context</td></tr><tr><td><span 
class="term"><i><tt>escape</tt></i>:</span></td><td>the escaping function</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if successful or -1 in case of 
error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSaveToBuffer"/>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><p>Create a document saving context serializing to a buffer with the encoding and the options given</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>buffer</tt></i>:</span></td><td>a buffer</td></tr><tr><td><span 
class="term"><i><tt>encoding</tt></i>:</span></td><td>the encoding name to use or NULL</td></tr><tr><td><span 
class="term"><i><tt>options</tt></i>:</span></td><td>a set of xmlSaveOptions</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>a new serialization context or NULL in case of 
error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSaveToFd"/>xmlSaveToFd ()</h3><pre 
class="programlisting"><a href="libxml2-xmlsave.html#xmlSaveCtxtPtr">xmlSaveCtxtPtr</a>     xmlSaveToFd       
      (int fd, <br/>                                   const char * encoding, <br/>                           
         int options)<br/>
-</pre><p>Create a document saving context serializing to a file descriptor with the encoding and the options 
given.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>fd</tt></i>:</span></td><td>a file descriptor number</td></tr><tr><td><span 
class="term"><i><tt>encoding</tt></i>:</span></td><td>the encoding name to use or NULL</td></tr><tr><td><span 
class="term"><i><tt>options</tt></i>:</span></td><td>a set of xmlSaveOptions</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>a new serialization context or NULL in case of 
error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSaveToFilename"/>xmlSaveToFilename ()</h3><pre 
class="programlisting"><a href="libxml2-xmlsave.html#xmlSaveCtxtPtr">xmlSaveCtxtPtr</a> xmlSaveToFilename     
  (const char * filename, <br/>                                    const char * encoding, <br/>               
                     int options)<br/>
-</pre><p>Create a document saving context serializing to a filename or possibly to an URL (but this is less 
reliable) with the encoding and the options given.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>filename</tt></i>:</span></td><td>a file name or an URL</td></tr><tr><td><span 
class="term"><i><tt>encoding</tt></i>:</span></td><td>the encoding name to use or NULL</td></tr><tr><td><span 
class="term"><i><tt>options</tt></i>:</span></td><td>a set of xmlSaveOptions</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>a new serialization context or NULL in case of 
error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSaveToIO"/>xmlSaveToIO ()</h3><pre 
class="programlisting"><a href="libxml2-xmlsave.html#xmlSaveCtxtPtr">xmlSaveCtxtPtr</a>     xmlSaveToIO       
      (<a href="libxml2-xmlIO.html#xmlOutputWriteCallback">xmlOutputWriteCallback</a> iowrite, <br/>          
                         <a href="libxml2-xmlIO.html#xmlOutputCloseCallback">xmlOutputCloseCallback</a> 
ioclose, <br/>                                   void * ioctx, <br/>                                     
const char * encoding, <br/>                                    int options)<br/>
-</pre><p>Create a document saving context serializing to a file descriptor with the encoding and the options 
given</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>iowrite</tt></i>:</span></td><td>an I/O write function</td></tr><tr><td><span 
class="term"><i><tt>ioclose</tt></i>:</span></td><td>an I/O close function</td></tr><tr><td><span 
class="term"><i><tt>ioctx</tt></i>:</span></td><td>an I/O handler</td></tr><tr><td><span 
class="term"><i><tt>encoding</tt></i>:</span></td><td>the encoding name to use or NULL</td></tr><tr><td><span 
class="term"><i><tt>options</tt></i>:</span></td><td>a set of xmlSaveOptions</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>a new serialization context or NULL in case of 
error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSaveTree"/>xmlSaveTree ()</h3><pre 
class="programlisting">long xmlSaveTree                     (<a 
href="libxml2-xmlsave.html#xmlSaveCtxtPtr">xmlSaveCtxtPtr</a> ctxt, <br/>                                    
<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur)<br/>
-</pre><p>Save a subtree starting at the node parameter to a saving context TODO: The function is not fully 
implemented yet as it does not return the byte count but 0 instead</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 document saving context</td></tr><tr><td><span 
class="term"><i><tt>cur</tt></i>:</span></td><td/></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of byte written or -1 in case of 
error</td></tr></tbody></table></div></div>
-        <hr/>
-      </div>
-    </div>
-  </body>
+</pre>
+<p></p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSaveClose"></a>xmlSaveClose ()</h3>
+<pre class="programlisting">int        xmlSaveClose                    (<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.</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 document saving context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the number of byte written or -1 in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSaveDoc"></a>xmlSaveDoc ()</h3>
+<pre class="programlisting">long       xmlSaveDoc                      (<a 
href="libxml2-xmlsave.html#xmlSaveCtxtPtr">xmlSaveCtxtPtr</a> ctxt, <br>                                     
<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br>
+</pre>
+<p>Save a full document to a saving context TODO: The function is not fully implemented yet as it does not 
return the byte count but 0 instead</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 document saving context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>doc</tt></i>:</span></td>
+<td>a document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the number of byte written or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSaveFlush"></a>xmlSaveFlush ()</h3>
+<pre class="programlisting">int        xmlSaveFlush                    (<a 
href="libxml2-xmlsave.html#xmlSaveCtxtPtr">xmlSaveCtxtPtr</a> ctxt)<br>
+</pre>
+<p>Flush a document saving context, i.e. make sure that all bytes have been output.</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 document saving context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the number of byte written or -1 in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>a document saving context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>escape</tt></i>:</span></td>
+<td>the escaping function</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 if successful or -1 in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>a document saving context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>escape</tt></i>:</span></td>
+<td>the escaping function</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 if successful or -1 in case of error.</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>
+<p>Create a document saving context serializing to a buffer with the encoding and the options given</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>buffer</tt></i>:</span></td>
+<td>a buffer</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
+<td>the encoding name to use or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>options</tt></i>:</span></td>
+<td>a set of xmlSaveOptions</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a new serialization context or NULL in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSaveToFd"></a>xmlSaveToFd ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlsave.html#xmlSaveCtxtPtr">xmlSaveCtxtPtr</a>   xmlSaveToFd   
          (int fd, <br>                                    const char * encoding, <br>                        
             int options)<br>
+</pre>
+<p>Create a document saving context serializing to a file descriptor with the encoding and the options 
given.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>fd</tt></i>:</span></td>
+<td>a file descriptor number</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
+<td>the encoding name to use or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>options</tt></i>:</span></td>
+<td>a set of xmlSaveOptions</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a new serialization context or NULL in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSaveToFilename"></a>xmlSaveToFilename ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlsave.html#xmlSaveCtxtPtr">xmlSaveCtxtPtr</a>   
xmlSaveToFilename       (const char * filename, <br>                                     const char * 
encoding, <br>                                     int options)<br>
+</pre>
+<p>Create a document saving context serializing to a filename or possibly to an URL (but this is less 
reliable) with the encoding and the options given.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>filename</tt></i>:</span></td>
+<td>a file name or an URL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
+<td>the encoding name to use or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>options</tt></i>:</span></td>
+<td>a set of xmlSaveOptions</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a new serialization context or NULL in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSaveToIO"></a>xmlSaveToIO ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlsave.html#xmlSaveCtxtPtr">xmlSaveCtxtPtr</a>   xmlSaveToIO   
          (<a href="libxml2-xmlIO.html#xmlOutputWriteCallback">xmlOutputWriteCallback</a> iowrite, <br>       
                             <a href="libxml2-xmlIO.html#xmlOutputCloseCallback">xmlOutputCloseCallback</a> 
ioclose, <br>                                    void * ioctx, <br>                                      
const char * encoding, <br>                                     int options)<br>
+</pre>
+<p>Create a document saving context serializing to a file descriptor with the encoding and the options 
given</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>iowrite</tt></i>:</span></td>
+<td>an I/O write function</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ioclose</tt></i>:</span></td>
+<td>an I/O close function</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ioctx</tt></i>:</span></td>
+<td>an I/O handler</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
+<td>the encoding name to use or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>options</tt></i>:</span></td>
+<td>a set of xmlSaveOptions</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a new serialization context or NULL in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSaveTree"></a>xmlSaveTree ()</h3>
+<pre class="programlisting">long       xmlSaveTree                     (<a 
href="libxml2-xmlsave.html#xmlSaveCtxtPtr">xmlSaveCtxtPtr</a> ctxt, <br>                                     
<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur)<br>
+</pre>
+<p>Save a subtree starting at the node parameter to a saving context TODO: The function is not fully 
implemented yet as it does not return the byte count but 0 instead</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 document saving context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td></td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the number of byte written or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+</div>
+</div>
+</body>
 </html>
diff --git a/doc/devhelp/libxml2-xmlschemas.html b/doc/devhelp/libxml2-xmlschemas.html
index eedb5ed4..6fde7908 100644
--- a/doc/devhelp/libxml2-xmlschemas.html
+++ b/doc/devhelp/libxml2-xmlschemas.html
@@ -1,49 +1,28 @@
-<?xml version="1.0" encoding="UTF-8"?>
 <html>
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
-    <title>xmlschemas: incomplete XML Schemas structure implementation</title>
-    <meta name="generator" content="Libxml2 devhelp stylesheet"/>
-    <link rel="start" href="index.html" title="libxml2 Reference Manual"/>
-    <link rel="up" href="general.html" title="API"/>
-    <link rel="stylesheet" href="style.css" type="text/css"/>
-    <link rel="chapter" href="general.html" title="API"/>
-  </head>
-  <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-    <table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
-      <tr valign="middle">
-        <td>
-          <a accesskey="p" href="libxml2-xmlsave.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-xmlschemastypes.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">xmlschemas</span>
-    </h2>
-    <p>xmlschemas - incomplete XML Schemas structure implementation</p>
-    <p>interface to the XML Schemas handling and schema validity checking, it is incomplete right now. </p>
-    <p>Author(s): Daniel Veillard </p>
-    <div class="refsynopsisdiv">
-      <h2>Synopsis</h2>
-      <pre class="synopsis">typedef struct _xmlSchema <a href="#xmlSchema">xmlSchema</a>;
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>xmlschemas: incomplete XML Schemas structure implementation</title>
+<meta name="generator" content="Libxml2 devhelp stylesheet">
+<link rel="start" href="index.html" title="libxml2 Reference Manual">
+<link rel="up" href="general.html" title="API">
+<link rel="stylesheet" href="style.css" type="text/css">
+<link rel="chapter" href="general.html" title="API">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr 
valign="middle">
+<td><a accesskey="p" href="libxml2-xmlsave.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-xmlschemastypes.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">xmlschemas</span></h2>
+<p>xmlschemas - incomplete XML Schemas structure implementation</p>
+<p>interface to the XML Schemas handling and schema validity checking, it is incomplete right now. </p>
+<p>Author(s): Daniel Veillard </p>
+<div class="refsynopsisdiv">
+<h2>Synopsis</h2>
+<pre class="synopsis">typedef struct _xmlSchema <a href="#xmlSchema">xmlSchema</a>;
 typedef struct _xmlSchemaParserCtxt <a href="#xmlSchemaParserCtxt">xmlSchemaParserCtxt</a>;
 typedef <a href="libxml2-xmlschemas.html#xmlSchemaParserCtxt">xmlSchemaParserCtxt</a> * <a 
href="#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a>;
 typedef <a href="libxml2-xmlschemas.html#xmlSchema">xmlSchema</a> * <a href="#xmlSchemaPtr">xmlSchemaPtr</a>;
@@ -53,45 +32,46 @@ typedef struct _xmlSchemaValidCtxt <a href="#xmlSchemaValidCtxt">xmlSchemaValidC
 typedef <a href="libxml2-xmlschemas.html#xmlSchemaValidCtxt">xmlSchemaValidCtxt</a> * <a 
href="#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a>;
 typedef enum <a href="#xmlSchemaValidError">xmlSchemaValidError</a>;
 typedef enum <a href="#xmlSchemaValidOption">xmlSchemaValidOption</a>;
-void   <a href="#xmlSchemaDump">xmlSchemaDump</a>                      (FILE * output, <br/>                 
                   <a href="libxml2-xmlschemas.html#xmlSchemaPtr">xmlSchemaPtr</a> schema);
+void   <a href="#xmlSchemaDump">xmlSchemaDump</a>                      (FILE * output, <br>                  
                   <a href="libxml2-xmlschemas.html#xmlSchemaPtr">xmlSchemaPtr</a> schema);
 void   <a href="#xmlSchemaFree">xmlSchemaFree</a>                      (<a 
href="libxml2-xmlschemas.html#xmlSchemaPtr">xmlSchemaPtr</a> schema);
 void   <a href="#xmlSchemaFreeParserCtxt">xmlSchemaFreeParserCtxt</a>          (<a 
href="libxml2-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a> ctxt);
 void   <a href="#xmlSchemaFreeValidCtxt">xmlSchemaFreeValidCtxt</a>            (<a 
href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt);
-int    <a href="#xmlSchemaGetParserErrors">xmlSchemaGetParserErrors</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);
-int    <a href="#xmlSchemaGetValidErrors">xmlSchemaGetValidErrors</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="#xmlSchemaGetParserErrors">xmlSchemaGetParserErrors</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);
+int    <a href="#xmlSchemaGetValidErrors">xmlSchemaGetValidErrors</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="#xmlSchemaIsValid">xmlSchemaIsValid</a>                (<a 
href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt);
 <a href="libxml2-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a>    <a 
href="#xmlSchemaNewDocParserCtxt">xmlSchemaNewDocParserCtxt</a>      (<a 
href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc);
-<a href="libxml2-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a>    <a 
href="#xmlSchemaNewMemParserCtxt">xmlSchemaNewMemParserCtxt</a>      (const char * buffer, <br/>              
                                        int size);
+<a href="libxml2-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a>    <a 
href="#xmlSchemaNewMemParserCtxt">xmlSchemaNewMemParserCtxt</a>      (const char * buffer, <br>               
                                        int size);
 <a href="libxml2-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a>    <a 
href="#xmlSchemaNewParserCtxt">xmlSchemaNewParserCtxt</a>    (const char * URL);
 <a href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a>      <a 
href="#xmlSchemaNewValidCtxt">xmlSchemaNewValidCtxt</a>      (<a 
href="libxml2-xmlschemas.html#xmlSchemaPtr">xmlSchemaPtr</a> schema);
 <a href="libxml2-xmlschemas.html#xmlSchemaPtr">xmlSchemaPtr</a>        <a 
href="#xmlSchemaParse">xmlSchemaParse</a>            (<a 
href="libxml2-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a> ctxt);
-<a href="libxml2-xmlschemas.html#xmlSchemaSAXPlugPtr">xmlSchemaSAXPlugPtr</a>  <a 
href="#xmlSchemaSAXPlug">xmlSchemaSAXPlug</a>        (<a 
href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt, <br/>                    
                       <a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> * sax, <br/>         
                                 void ** user_data);
+<a href="libxml2-xmlschemas.html#xmlSchemaSAXPlugPtr">xmlSchemaSAXPlugPtr</a>  <a 
href="#xmlSchemaSAXPlug">xmlSchemaSAXPlug</a>        (<a 
href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt, <br>                     
                       <a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> * sax, <br>          
                                 void ** user_data);
 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="#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);
+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="#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);
 int    <a href="#xmlSchemaValidCtxtGetOptions">xmlSchemaValidCtxtGetOptions</a>        (<a 
href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt);
 <a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a>      <a 
href="#xmlSchemaValidCtxtGetParserCtxt">xmlSchemaValidCtxtGetParserCtxt</a>  (<a 
href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt);
-int    <a href="#xmlSchemaValidateDoc">xmlSchemaValidateDoc</a>                (<a 
href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt, <br/>                    
               <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc);
-int    <a href="#xmlSchemaValidateFile">xmlSchemaValidateFile</a>              (<a 
href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt, <br/>                    
               const char * filename, <br/>                                    int options);
-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);
-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/>                                         ... ...);
-</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="xmlSchema">Structure </a>xmlSchema</h3><pre 
class="programlisting">struct _xmlSchema {
+int    <a href="#xmlSchemaValidateDoc">xmlSchemaValidateDoc</a>                (<a 
href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt, <br>                     
               <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc);
+int    <a href="#xmlSchemaValidateFile">xmlSchemaValidateFile</a>              (<a 
href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt, <br>                     
               const char * filename, <br>                                     int options);
+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);
+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>                                  ... ...);
+</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="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> *       version
@@ -114,44 +94,76 @@ typedef void <a href="#xmlSchemaValidityWarningFunc">xmlSchemaValidityWarningFun
     <a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a>    idcDef  : All identity-constraint 
defs.
     void *     volatiles       : Obsolete
 } xmlSchema;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaParserCtxt">Structure 
</a>xmlSchemaParserCtxt</h3><pre class="programlisting">struct _xmlSchemaParserCtxt {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaParserCtxt">Structure </a>xmlSchemaParserCtxt</h3>
+<pre class="programlisting">struct _xmlSchemaParserCtxt {
 The content of this structure is not made public by the API.
 } xmlSchemaParserCtxt;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaParserCtxtPtr">Typedef 
</a>xmlSchemaParserCtxtPtr</h3><pre class="programlisting"><a 
href="libxml2-xmlschemas.html#xmlSchemaParserCtxt">xmlSchemaParserCtxt</a> * xmlSchemaParserCtxtPtr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaParserCtxtPtr">Typedef </a>xmlSchemaParserCtxtPtr</h3>
+<pre class="programlisting"><a href="libxml2-xmlschemas.html#xmlSchemaParserCtxt">xmlSchemaParserCtxt</a> * 
xmlSchemaParserCtxtPtr;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaPtr">Typedef </a>xmlSchemaPtr</h3><pre 
class="programlisting"><a href="libxml2-xmlschemas.html#xmlSchema">xmlSchema</a> * xmlSchemaPtr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaPtr">Typedef </a>xmlSchemaPtr</h3>
+<pre class="programlisting"><a href="libxml2-xmlschemas.html#xmlSchema">xmlSchema</a> * xmlSchemaPtr;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaSAXPlugPtr">Typedef 
</a>xmlSchemaSAXPlugPtr</h3><pre class="programlisting"><a 
href="libxml2-xmlschemas.html#xmlSchemaSAXPlugStruct">xmlSchemaSAXPlugStruct</a> * xmlSchemaSAXPlugPtr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaSAXPlugPtr">Typedef </a>xmlSchemaSAXPlugPtr</h3>
+<pre class="programlisting"><a 
href="libxml2-xmlschemas.html#xmlSchemaSAXPlugStruct">xmlSchemaSAXPlugStruct</a> * xmlSchemaSAXPlugPtr;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaSAXPlugStruct">Structure 
</a>xmlSchemaSAXPlugStruct</h3><pre class="programlisting">struct _xmlSchemaSAXPlug {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaSAXPlugStruct">Structure </a>xmlSchemaSAXPlugStruct</h3>
+<pre class="programlisting">struct _xmlSchemaSAXPlug {
 The content of this structure is not made public by the API.
 } xmlSchemaSAXPlugStruct;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaValidCtxt">Structure 
</a>xmlSchemaValidCtxt</h3><pre class="programlisting">struct _xmlSchemaValidCtxt {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaValidCtxt">Structure </a>xmlSchemaValidCtxt</h3>
+<pre class="programlisting">struct _xmlSchemaValidCtxt {
 The content of this structure is not made public by the API.
 } xmlSchemaValidCtxt;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaValidCtxtPtr">Typedef 
</a>xmlSchemaValidCtxtPtr</h3><pre class="programlisting"><a 
href="libxml2-xmlschemas.html#xmlSchemaValidCtxt">xmlSchemaValidCtxt</a> * xmlSchemaValidCtxtPtr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaValidCtxtPtr">Typedef </a>xmlSchemaValidCtxtPtr</h3>
+<pre class="programlisting"><a href="libxml2-xmlschemas.html#xmlSchemaValidCtxt">xmlSchemaValidCtxt</a> * 
xmlSchemaValidCtxtPtr;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaValidError">Enum 
</a>xmlSchemaValidError</h3><pre class="programlisting">enum <a 
href="#xmlSchemaValidError">xmlSchemaValidError</a> {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaValidError">Enum </a>xmlSchemaValidError</h3>
+<pre class="programlisting">enum <a href="#xmlSchemaValidError">xmlSchemaValidError</a> {
     <a name="XML_SCHEMAS_ERR_OK">XML_SCHEMAS_ERR_OK</a> = 0
     <a name="XML_SCHEMAS_ERR_NOROOT">XML_SCHEMAS_ERR_NOROOT</a> = 1
     <a name="XML_SCHEMAS_ERR_UNDECLAREDELEM">XML_SCHEMAS_ERR_UNDECLAREDELEM</a> = 2
@@ -179,136 +191,752 @@ The content of this structure is not made public by the API.
     <a name="XML_SCHEMAS_ERR_">XML_SCHEMAS_ERR_</a> = 24
     <a name="XML_SCHEMAS_ERR_XXX">XML_SCHEMAS_ERR_XXX</a> = 25
 };
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaValidOption">Enum 
</a>xmlSchemaValidOption</h3><pre class="programlisting">enum <a 
href="#xmlSchemaValidOption">xmlSchemaValidOption</a> {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaValidOption">Enum </a>xmlSchemaValidOption</h3>
+<pre class="programlisting">enum <a href="#xmlSchemaValidOption">xmlSchemaValidOption</a> {
     <a name="XML_SCHEMA_VAL_VC_I_CREATE">XML_SCHEMA_VAL_VC_I_CREATE</a> = 1 /*  Default/fixed: create an 
attribute node * or an element's text node on the instance. * */
 };
-</pre><p/>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaValidityErrorFunc"/>Function type 
xmlSchemaValidityErrorFunc</h3><pre class="programlisting">void        xmlSchemaValidityErrorFunc      (void 
* ctx, <br/>                                       const char * msg, <br/>                                    
     ... ...)<br/>
-</pre><p>Signature of an error callback from an XSD validation</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>the validation context</td></tr><tr><td><span 
class="term"><i><tt>msg</tt></i>:</span></td><td>the message</td></tr><tr><td><span 
class="term"><i><tt>...</tt></i>:</span></td><td>extra arguments</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaValidityLocatorFunc"/>Function type 
xmlSchemaValidityLocatorFunc</h3><pre class="programlisting">int     xmlSchemaValidityLocatorFunc    (void * 
ctx, <br/>                                       const char ** file, <br/>                                    
   unsigned long * line)<br/>
-</pre><p>A schemas validation locator, a callback called by the validator. This is used when file or node 
information are not available to find out what file and line number are affected</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>user provided context</td></tr><tr><td><span 
class="term"><i><tt>file</tt></i>:</span></td><td>returned file information</td></tr><tr><td><span 
class="term"><i><tt>line</tt></i>:</span></td><td>returned line information</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success and -1 in case of 
error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaValidityWarningFunc"/>Function type 
xmlSchemaValidityWarningFunc</h3><pre class="programlisting">void    xmlSchemaValidityWarningFunc    (void * 
ctx, <br/>                                       const char * msg, <br/>                                      
   ... ...)<br/>
-</pre><p>Signature of a warning callback from an XSD validation</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>the validation context</td></tr><tr><td><span 
class="term"><i><tt>msg</tt></i>:</span></td><td>the message</td></tr><tr><td><span 
class="term"><i><tt>...</tt></i>:</span></td><td>extra arguments</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaDump"/>xmlSchemaDump ()</h3><pre 
class="programlisting">void     xmlSchemaDump                   (FILE * output, <br/>                         
           <a href="libxml2-xmlschemas.html#xmlSchemaPtr">xmlSchemaPtr</a> schema)<br/>
-</pre><p>Dump a Schema structure.</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 output</td></tr><tr><td><span 
class="term"><i><tt>schema</tt></i>:</span></td><td>a schema structure</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaFree"/>xmlSchemaFree ()</h3><pre 
class="programlisting">void     xmlSchemaFree                   (<a 
href="libxml2-xmlschemas.html#xmlSchemaPtr">xmlSchemaPtr</a> schema)<br/>
-</pre><p>Deallocate a Schema structure.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>schema</tt></i>:</span></td><td>a schema structure</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaFreeParserCtxt"/>xmlSchemaFreeParserCtxt 
()</h3><pre class="programlisting">void xmlSchemaFreeParserCtxt         (<a 
href="libxml2-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a> ctxt)<br/>
-</pre><p>Free the resources associated to the schema 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>the schema parser 
context</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaFreeValidCtxt"/>xmlSchemaFreeValidCtxt 
()</h3><pre class="programlisting">void   xmlSchemaFreeValidCtxt          (<a 
href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt)<br/>
-</pre><p>Free the resources associated to the schema validation 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 schema validation 
context</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaGetParserErrors"/>xmlSchemaGetParserErrors 
()</h3><pre class="programlisting">int        xmlSchemaGetParserErrors        (<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)<br/>
-</pre><p>Get the callback information used to handle errors for 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>a XMl-Schema parser context</td></tr><tr><td><span 
class="term"><i><tt>err</tt></i>:</span></td><td>the error callback result</td></tr><tr><td><span 
class="term"><i><tt>warn</tt></i>:</span></td><td>the warning callback result</td></tr><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>contextual data for the callbacks 
result</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 in case of failure, 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaGetValidErrors"/>xmlSchemaGetValidErrors 
()</h3><pre class="programlisting">int  xmlSchemaGetValidErrors         (<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><p>Get the error and warning callback information</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 XML-Schema validation context</td></tr><tr><td><span 
class="term"><i><tt>err</tt></i>:</span></td><td>the error function result</td></tr><tr><td><span 
class="term"><i><tt>warn</tt></i>:</span></td><td>the warning function result</td></tr><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>the functions context result</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 in case of error and 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaIsValid"/>xmlSchemaIsValid ()</h3><pre 
class="programlisting">int        xmlSchemaIsValid                (<a 
href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt)<br/>
-</pre><p>Check if any error was detected during validation.</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 schema validation context</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if valid so far, 0 if errors were detected, and -1 in 
case of internal error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaNewDocParserCtxt"/>xmlSchemaNewDocParserCtxt 
()</h3><pre class="programlisting"><a 
href="libxml2-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a>      
xmlSchemaNewDocParserCtxt       (<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br/>
-</pre><p>Create an XML Schemas parse context for that document. NB. The document may be modified during the 
parsing process.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>doc</tt></i>:</span></td><td>a preparsed document tree</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the parser context or NULL in case of 
error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaNewMemParserCtxt"/>xmlSchemaNewMemParserCtxt 
()</h3><pre class="programlisting"><a 
href="libxml2-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a>      
xmlSchemaNewMemParserCtxt       (const char * buffer, <br/>                                                   
   int size)<br/>
-</pre><p>Create an XML Schemas parse context for that memory buffer expected to contain an XML Schemas 
file.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>buffer</tt></i>:</span></td><td>a pointer to a char array containing the 
schemas</td></tr><tr><td><span class="term"><i><tt>size</tt></i>:</span></td><td>the size of the 
array</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the parser context or NULL 
in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaNewParserCtxt"/>xmlSchemaNewParserCtxt 
()</h3><pre class="programlisting"><a 
href="libxml2-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a>    xmlSchemaNewParserCtxt  
(const char * URL)<br/>
-</pre><p>Create an XML Schemas parse context for that file/resource expected to contain an XML Schemas 
file.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>URL</tt></i>:</span></td><td>the location of the schema</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the parser context or NULL in case of 
error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaNewValidCtxt"/>xmlSchemaNewValidCtxt 
()</h3><pre class="programlisting"><a 
href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a>        xmlSchemaNewValidCtxt   
(<a href="libxml2-xmlschemas.html#xmlSchemaPtr">xmlSchemaPtr</a> schema)<br/>
-</pre><p>Create an XML Schemas validation context based on the given schema.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>schema</tt></i>:</span></td><td>a precompiled XML Schemas</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the validation context or NULL in case of 
error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaParse"/>xmlSchemaParse ()</h3><pre 
class="programlisting"><a href="libxml2-xmlschemas.html#xmlSchemaPtr">xmlSchemaPtr</a>        xmlSchemaParse  
        (<a href="libxml2-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a> ctxt)<br/>
-</pre><p>parse a schema definition resource and build an internal XML Schema structure which can be used to 
validate instances.</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 schema validation context</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the internal XML Schema structure built from the 
resource or NULL in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaSAXPlug"/>xmlSchemaSAXPlug ()</h3><pre 
class="programlisting"><a href="libxml2-xmlschemas.html#xmlSchemaSAXPlugPtr">xmlSchemaSAXPlugPtr</a>      
xmlSchemaSAXPlug        (<a href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> 
ctxt, <br/>                                           <a 
href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> * sax, <br/>                                   
       void ** user_data)<br/>
-</pre><p>Plug a SAX based validation layer in a SAX parsing event flow. The original @saxptr and @dataptr 
data are replaced by new pointers but the calls to the original will be maintained.</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 schema validation context</td></tr><tr><td><span 
class="term"><i><tt>sax</tt></i>:</span></td><td>a pointer to the original <a 
href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a></td></tr><tr><td><span 
class="term"><i><tt>user_data</tt></i>:</span></td><td>a pointer to the original SAX user data 
pointer</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to a data 
structure needed to unplug the validation layer or NULL in case of 
errors.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaSAXUnplug"/>xmlSchemaSAXUnplug ()</h3><pre 
class="programlisting">int    xmlSchemaSAXUnplug              (<a 
href="libxml2-xmlschemas.html#xmlSchemaSAXPlugPtr">xmlSchemaSAXPlugPtr</a> plug)<br/>
-</pre><p>Unplug a SAX based validation layer in a SAX parsing event flow. The original pointers used in the 
call are restored.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>plug</tt></i>:</span></td><td>a data structure returned by <a 
href="libxml2-xmlschemas.html#xmlSchemaSAXPlug">xmlSchemaSAXPlug</a></td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success and -1 in case of 
failure.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaSetParserErrors"/>xmlSchemaSetParserErrors 
()</h3><pre class="programlisting">void       xmlSchemaSetParserErrors        (<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)<br/>
-</pre><p>Set the callback functions used to handle errors for a validation 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>a schema validation context</td></tr><tr><td><span 
class="term"><i><tt>err</tt></i>:</span></td><td>the error callback</td></tr><tr><td><span 
class="term"><i><tt>warn</tt></i>:</span></td><td>the warning callback</td></tr><tr><td><span 
class="term"><i><tt>ctx</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="xmlSchemaSetParserStructuredErrors"/>xmlSchemaSetParserStructuredErrors ()</h3><pre 
class="programlisting">void   xmlSchemaSetParserStructuredErrors      (<a 
href="libxml2-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a> ctxt, <br/>                  
                               <a 
href="libxml2-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a> serror, <br/>                  
                               void * ctx)<br/>
-</pre><p>Set the structured error callback</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 schema parser context</td></tr><tr><td><span 
class="term"><i><tt>serror</tt></i>:</span></td><td>the structured error function</td></tr><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>the functions context</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaSetValidErrors"/>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><p>Set the error and warning callback information</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 schema validation context</td></tr><tr><td><span 
class="term"><i><tt>err</tt></i>:</span></td><td>the error function</td></tr><tr><td><span 
class="term"><i><tt>warn</tt></i>:</span></td><td>the warning function</td></tr><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>the functions context</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaSetValidOptions"/>xmlSchemaSetValidOptions 
()</h3><pre class="programlisting">int        xmlSchemaSetValidOptions        (<a 
href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt, <br/>                    
               int options)<br/>
-</pre><p>Sets the options to be used during the validation.</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 schema validation context</td></tr><tr><td><span 
class="term"><i><tt>options</tt></i>:</span></td><td>a combination of <a 
href="libxml2-xmlschemas.html#xmlSchemaValidOption">xmlSchemaValidOption</a></td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success, -1 in case of an API 
error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlSchemaSetValidStructuredErrors"/>xmlSchemaSetValidStructuredErrors ()</h3><pre 
class="programlisting">void     xmlSchemaSetValidStructuredErrors       (<a 
href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt, <br/>                    
                       <a href="libxml2-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a> 
serror, <br/>                                                 void * ctx)<br/>
-</pre><p>Set the structured error callback</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 schema validation context</td></tr><tr><td><span 
class="term"><i><tt>serror</tt></i>:</span></td><td>the structured error function</td></tr><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>the functions context</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlSchemaValidCtxtGetOptions"/>xmlSchemaValidCtxtGetOptions ()</h3><pre class="programlisting">int      
  xmlSchemaValidCtxtGetOptions    (<a 
href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt)<br/>
-</pre><p>Get the validation context options.</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 schema validation context</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the option combination or -1 on 
error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlSchemaValidCtxtGetParserCtxt"/>xmlSchemaValidCtxtGetParserCtxt ()</h3><pre class="programlisting"><a 
href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a>    xmlSchemaValidCtxtGetParserCtxt (<a 
href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt)<br/>
-</pre><p>allow access to the parser context of the schema validation 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>a schema validation context</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the parser context of the schema validation context or 
NULL in case of error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaValidateDoc"/>xmlSchemaValidateDoc ()</h3><pre 
class="programlisting">int        xmlSchemaValidateDoc            (<a 
href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt, <br/>                    
               <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br/>
-</pre><p>Validate a document tree in memory.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctxt</tt></i>:</span></td><td>a schema validation context</td></tr><tr><td><span 
class="term"><i><tt>doc</tt></i>:</span></td><td>a parsed document tree</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if the document is schemas valid, a positive error 
code number otherwise and -1 in case of internal or API error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaValidateFile"/>xmlSchemaValidateFile 
()</h3><pre class="programlisting">int      xmlSchemaValidateFile           (<a 
href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt, <br/>                    
               const char * filename, <br/>                                    int options)<br/>
-</pre><p>Do a schemas validation of the given resource, it will use the SAX streamable validation 
internally.</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 schema validation context</td></tr><tr><td><span 
class="term"><i><tt>filename</tt></i>:</span></td><td>the URI of the instance</td></tr><tr><td><span 
class="term"><i><tt>options</tt></i>:</span></td><td>a future set of options, currently 
unused</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if the document is 
valid, a positive error code number otherwise and -1 in case of an internal or API 
error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlSchemaValidateOneElement"/>xmlSchemaValidateOneElement ()</h3><pre class="programlisting">int  
xmlSchemaValidateOneElement     (<a 
href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt, <br/>                    
               <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem)<br/>
-</pre><p>Validate a branch of a tree, starting with the given @elem.</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 schema validation context</td></tr><tr><td><span 
class="term"><i><tt>elem</tt></i>:</span></td><td>an element node</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if the element and its subtree is valid, a positive 
error code number otherwise and -1 in case of an internal or API error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlSchemaValidateSetFilename"/>xmlSchemaValidateSetFilename ()</h3><pre class="programlisting">void     
  xmlSchemaValidateSetFilename    (<a 
href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> vctxt, <br/>                   
               const char * filename)<br/>
-</pre><p>Workaround to provide file error reporting information when this is not provided by current APIs</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>vctxt</tt></i>:</span></td><td>the schema validation context</td></tr><tr><td><span 
class="term"><i><tt>filename</tt></i>:</span></td><td>the file name</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlSchemaValidateSetLocator"/>xmlSchemaValidateSetLocator ()</h3><pre class="programlisting">void 
xmlSchemaValidateSetLocator     (<a 
href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> vctxt, <br/>                   
               <a 
href="libxml2-xmlschemas.html#xmlSchemaValidityLocatorFunc">xmlSchemaValidityLocatorFunc</a> f, <br/>         
                               void * ctxt)<br/>
-</pre><p>Allows to set a locator function to the validation context, which will be used to provide file and 
line information since those are not provided as part of the SAX validation flow Setting @f to NULL disable 
the locator.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>vctxt</tt></i>:</span></td><td>a schema validation context</td></tr><tr><td><span 
class="term"><i><tt>f</tt></i>:</span></td><td>the locator function pointer</td></tr><tr><td><span 
class="term"><i><tt>ctxt</tt></i>:</span></td><td>the locator context</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaValidateStream"/>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><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"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctxt</tt></i>:</span></td><td>a schema validation context</td></tr><tr><td><span 
class="term"><i><tt>input</tt></i>:</span></td><td>the input to use for reading the 
data</td></tr><tr><td><span class="term"><i><tt>enc</tt></i>:</span></td><td>an optional encoding 
information</td></tr><tr><td><span class="term"><i><tt>sax</tt></i>:</span></td><td>a SAX handler for the 
resulting events</td></tr><tr><td><span class="term"><i><tt>user_data</tt></i>:</span></td><td>the context to 
provide to the SAX handler.</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if 
the document is schemas valid, a positive error code number otherwise and -1 in case of internal or API 
error.</td></tr></tbody></table></div></div>
-        <hr/>
-      </div>
-    </div>
-  </body>
+</pre>
+<p></p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaValidityErrorFunc"></a>Function type xmlSchemaValidityErrorFunc</h3>
+<pre class="programlisting">void       xmlSchemaValidityErrorFunc      (void * ctx, <br>                     
                   const char * msg, <br>                                  ... ...)<br>
+</pre>
+<p>Signature of an error callback from an XSD validation</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>the validation context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>msg</tt></i>:</span></td>
+<td>the message</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>...</tt></i>:</span></td>
+<td>extra arguments</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaValidityLocatorFunc"></a>Function type xmlSchemaValidityLocatorFunc</h3>
+<pre class="programlisting">int        xmlSchemaValidityLocatorFunc    (void * ctx, <br>                     
                   const char ** file, <br>                                        unsigned long * line)<br>
+</pre>
+<p>A schemas validation locator, a callback called by the validator. This is used when file or node 
information are not available to find out what file and line number are affected</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>user provided context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>file</tt></i>:</span></td>
+<td>returned file information</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>line</tt></i>:</span></td>
+<td>returned line information</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 in case of success and -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaValidityWarningFunc"></a>Function type xmlSchemaValidityWarningFunc</h3>
+<pre class="programlisting">void       xmlSchemaValidityWarningFunc    (void * ctx, <br>                     
                   const char * msg, <br>                                  ... ...)<br>
+</pre>
+<p>Signature of a warning callback from an XSD validation</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>the validation context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>msg</tt></i>:</span></td>
+<td>the message</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>...</tt></i>:</span></td>
+<td>extra arguments</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaDump"></a>xmlSchemaDump ()</h3>
+<pre class="programlisting">void       xmlSchemaDump                   (FILE * output, <br>                  
                   <a href="libxml2-xmlschemas.html#xmlSchemaPtr">xmlSchemaPtr</a> schema)<br>
+</pre>
+<p>Dump a Schema structure.</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 output</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>schema</tt></i>:</span></td>
+<td>a schema structure</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaFree"></a>xmlSchemaFree ()</h3>
+<pre class="programlisting">void       xmlSchemaFree                   (<a 
href="libxml2-xmlschemas.html#xmlSchemaPtr">xmlSchemaPtr</a> schema)<br>
+</pre>
+<p>Deallocate a Schema structure.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>schema</tt></i>:</span></td>
+<td>a schema structure</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaFreeParserCtxt"></a>xmlSchemaFreeParserCtxt ()</h3>
+<pre class="programlisting">void       xmlSchemaFreeParserCtxt         (<a 
href="libxml2-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a> ctxt)<br>
+</pre>
+<p>Free the resources associated to the schema 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>the schema parser context</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaFreeValidCtxt"></a>xmlSchemaFreeValidCtxt ()</h3>
+<pre class="programlisting">void       xmlSchemaFreeValidCtxt          (<a 
href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt)<br>
+</pre>
+<p>Free the resources associated to the schema validation 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 schema validation context</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaGetParserErrors"></a>xmlSchemaGetParserErrors ()</h3>
+<pre class="programlisting">int        xmlSchemaGetParserErrors        (<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)<br>
+</pre>
+<p>Get the callback information used to handle errors for 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>a XMl-Schema parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>err</tt></i>:</span></td>
+<td>the error callback result</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>warn</tt></i>:</span></td>
+<td>the warning callback result</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>contextual data for the callbacks result</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>-1 in case of failure, 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaGetValidErrors"></a>xmlSchemaGetValidErrors ()</h3>
+<pre class="programlisting">int        xmlSchemaGetValidErrors         (<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>
+<p>Get the error and warning callback information</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 XML-Schema validation context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>err</tt></i>:</span></td>
+<td>the error function result</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>warn</tt></i>:</span></td>
+<td>the warning function result</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>the functions context result</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>-1 in case of error and 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaIsValid"></a>xmlSchemaIsValid ()</h3>
+<pre class="programlisting">int        xmlSchemaIsValid                (<a 
href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt)<br>
+</pre>
+<p>Check if any error was detected during validation.</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 schema validation context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if valid so far, 0 if errors were detected, and -1 in case of internal error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaNewDocParserCtxt"></a>xmlSchemaNewDocParserCtxt ()</h3>
+<pre class="programlisting"><a 
href="libxml2-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a>        
xmlSchemaNewDocParserCtxt       (<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br>
+</pre>
+<p>Create an XML Schemas parse context for that document. NB. The document may be modified during the 
parsing process.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>doc</tt></i>:</span></td>
+<td>a preparsed document tree</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the parser context or NULL in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaNewMemParserCtxt"></a>xmlSchemaNewMemParserCtxt ()</h3>
+<pre class="programlisting"><a 
href="libxml2-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a>        
xmlSchemaNewMemParserCtxt       (const char * buffer, <br>                                                    
   int size)<br>
+</pre>
+<p>Create an XML Schemas parse context for that memory buffer expected to contain an XML Schemas file.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>buffer</tt></i>:</span></td>
+<td>a pointer to a char array containing the schemas</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>size</tt></i>:</span></td>
+<td>the size of the array</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the parser context or NULL in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaNewParserCtxt"></a>xmlSchemaNewParserCtxt ()</h3>
+<pre class="programlisting"><a 
href="libxml2-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a>        
xmlSchemaNewParserCtxt  (const char * URL)<br>
+</pre>
+<p>Create an XML Schemas parse context for that file/resource expected to contain an XML Schemas file.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>URL</tt></i>:</span></td>
+<td>the location of the schema</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the parser context or NULL in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaNewValidCtxt"></a>xmlSchemaNewValidCtxt ()</h3>
+<pre class="programlisting"><a 
href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a>  xmlSchemaNewValidCtxt   (<a 
href="libxml2-xmlschemas.html#xmlSchemaPtr">xmlSchemaPtr</a> schema)<br>
+</pre>
+<p>Create an XML Schemas validation context based on the given schema.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>schema</tt></i>:</span></td>
+<td>a precompiled XML Schemas</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the validation context or NULL in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaParse"></a>xmlSchemaParse ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlschemas.html#xmlSchemaPtr">xmlSchemaPtr</a>    
xmlSchemaParse          (<a href="libxml2-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a> 
ctxt)<br>
+</pre>
+<p>parse a schema definition resource and build an internal XML Schema structure which can be used to 
validate instances.</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 schema validation context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the internal XML Schema structure built from the resource or NULL in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaSAXPlug"></a>xmlSchemaSAXPlug ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlschemas.html#xmlSchemaSAXPlugPtr">xmlSchemaSAXPlugPtr</a>    
  xmlSchemaSAXPlug        (<a href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> 
ctxt, <br>                                            <a 
href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a> * sax, <br>                                    
       void ** user_data)<br>
+</pre>
+<p>Plug a SAX based validation layer in a SAX parsing event flow. The original @saxptr and @dataptr data are 
replaced by new pointers but the calls to the original will be maintained.</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 schema validation context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>sax</tt></i>:</span></td>
+<td>a pointer to the original <a href="libxml2-tree.html#xmlSAXHandlerPtr">xmlSAXHandlerPtr</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>user_data</tt></i>:</span></td>
+<td>a pointer to the original SAX user data pointer</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a pointer to a data structure needed to unplug the validation layer or NULL in case of errors.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaSAXUnplug"></a>xmlSchemaSAXUnplug ()</h3>
+<pre class="programlisting">int        xmlSchemaSAXUnplug              (<a 
href="libxml2-xmlschemas.html#xmlSchemaSAXPlugPtr">xmlSchemaSAXPlugPtr</a> plug)<br>
+</pre>
+<p>Unplug a SAX based validation layer in a SAX parsing event flow. The original pointers used in the call 
are restored.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>plug</tt></i>:</span></td>
+<td>a data structure returned by <a href="libxml2-xmlschemas.html#xmlSchemaSAXPlug">xmlSchemaSAXPlug</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 in case of success and -1 in case of failure.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaSetParserErrors"></a>xmlSchemaSetParserErrors ()</h3>
+<pre class="programlisting">void       xmlSchemaSetParserErrors        (<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)<br>
+</pre>
+<p>Set the callback functions used to handle errors for a validation 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>a schema validation context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>err</tt></i>:</span></td>
+<td>the error callback</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>warn</tt></i>:</span></td>
+<td>the warning callback</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ctx</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="xmlSchemaSetParserStructuredErrors"></a>xmlSchemaSetParserStructuredErrors ()</h3>
+<pre class="programlisting">void       xmlSchemaSetParserStructuredErrors      (<a 
href="libxml2-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a> ctxt, <br>                   
                       <a href="libxml2-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a> 
serror, <br>                                          void * ctx)<br>
+</pre>
+<p>Set the structured error callback</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 schema parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>serror</tt></i>:</span></td>
+<td>the structured error function</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>the functions context</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>
+<p>Set the error and warning callback information</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 schema validation context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>err</tt></i>:</span></td>
+<td>the error function</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>warn</tt></i>:</span></td>
+<td>the warning function</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>the functions context</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaSetValidOptions"></a>xmlSchemaSetValidOptions ()</h3>
+<pre class="programlisting">int        xmlSchemaSetValidOptions        (<a 
href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt, <br>                     
               int options)<br>
+</pre>
+<p>Sets the options to be used during the validation.</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 schema validation context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>options</tt></i>:</span></td>
+<td>a combination of <a href="libxml2-xmlschemas.html#xmlSchemaValidOption">xmlSchemaValidOption</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 in case of success, -1 in case of an API error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaSetValidStructuredErrors"></a>xmlSchemaSetValidStructuredErrors ()</h3>
+<pre class="programlisting">void       xmlSchemaSetValidStructuredErrors       (<a 
href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt, <br>                     
                       <a href="libxml2-xmlerror.html#xmlStructuredErrorFunc">xmlStructuredErrorFunc</a> 
serror, <br>                                          void * ctx)<br>
+</pre>
+<p>Set the structured error callback</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 schema validation context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>serror</tt></i>:</span></td>
+<td>the structured error function</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>the functions context</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaValidCtxtGetOptions"></a>xmlSchemaValidCtxtGetOptions ()</h3>
+<pre class="programlisting">int        xmlSchemaValidCtxtGetOptions    (<a 
href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt)<br>
+</pre>
+<p>Get the validation context options.</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 schema validation context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the option combination or -1 on error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaValidCtxtGetParserCtxt"></a>xmlSchemaValidCtxtGetParserCtxt ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a>  
xmlSchemaValidCtxtGetParserCtxt (<a 
href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt)<br>
+</pre>
+<p>allow access to the parser context of the schema validation 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>a schema validation context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the parser context of the schema validation context or NULL in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaValidateDoc"></a>xmlSchemaValidateDoc ()</h3>
+<pre class="programlisting">int        xmlSchemaValidateDoc            (<a 
href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt, <br>                     
               <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br>
+</pre>
+<p>Validate a document tree in memory.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>a schema validation context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>doc</tt></i>:</span></td>
+<td>a parsed document tree</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 if the document is schemas valid, a positive error code number otherwise and -1 in case of internal or 
API error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaValidateFile"></a>xmlSchemaValidateFile ()</h3>
+<pre class="programlisting">int        xmlSchemaValidateFile           (<a 
href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt, <br>                     
               const char * filename, <br>                                     int options)<br>
+</pre>
+<p>Do a schemas validation of the given resource, it will use the SAX streamable validation internally.</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 schema validation context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>filename</tt></i>:</span></td>
+<td>the URI of the instance</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>options</tt></i>:</span></td>
+<td>a future set of options, currently unused</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 if the document is valid, a positive error code number otherwise and -1 in case of an internal or API 
error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaValidateOneElement"></a>xmlSchemaValidateOneElement ()</h3>
+<pre class="programlisting">int        xmlSchemaValidateOneElement     (<a 
href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> ctxt, <br>                     
               <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> elem)<br>
+</pre>
+<p>Validate a branch of a tree, starting with the given @elem.</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 schema validation context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>elem</tt></i>:</span></td>
+<td>an element node</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 if the element and its subtree is valid, a positive error code number otherwise and -1 in case of an 
internal or API error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaValidateSetFilename"></a>xmlSchemaValidateSetFilename ()</h3>
+<pre class="programlisting">void       xmlSchemaValidateSetFilename    (<a 
href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> vctxt, <br>                    
               const char * filename)<br>
+</pre>
+<p>Workaround to provide file error reporting information when this is not provided by current APIs</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>vctxt</tt></i>:</span></td>
+<td>the schema validation context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>filename</tt></i>:</span></td>
+<td>the file name</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaValidateSetLocator"></a>xmlSchemaValidateSetLocator ()</h3>
+<pre class="programlisting">void       xmlSchemaValidateSetLocator     (<a 
href="libxml2-xmlschemas.html#xmlSchemaValidCtxtPtr">xmlSchemaValidCtxtPtr</a> vctxt, <br>                    
               <a 
href="libxml2-xmlschemas.html#xmlSchemaValidityLocatorFunc">xmlSchemaValidityLocatorFunc</a> f, <br>          
                               void * ctxt)<br>
+</pre>
+<p>Allows to set a locator function to the validation context, which will be used to provide file and line 
information since those are not provided as part of the SAX validation flow Setting @f to NULL disable the 
locator.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>vctxt</tt></i>:</span></td>
+<td>a schema validation context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>f</tt></i>:</span></td>
+<td>the locator function pointer</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the locator context</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<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>
+<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">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>a schema validation context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>input</tt></i>:</span></td>
+<td>the input to use for reading the data</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>enc</tt></i>:</span></td>
+<td>an optional encoding information</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>sax</tt></i>:</span></td>
+<td>a SAX handler for the resulting events</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>user_data</tt></i>:</span></td>
+<td>the context to provide to the SAX handler.</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 if the document is schemas valid, a positive error code number otherwise and -1 in case of internal or 
API error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+</div>
+</div>
+</body>
 </html>
diff --git a/doc/devhelp/libxml2-xmlschemastypes.html b/doc/devhelp/libxml2-xmlschemastypes.html
index e1680fe3..5760adf6 100644
--- a/doc/devhelp/libxml2-xmlschemastypes.html
+++ b/doc/devhelp/libxml2-xmlschemastypes.html
@@ -1,237 +1,928 @@
-<?xml version="1.0" encoding="UTF-8"?>
 <html>
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
-    <title>xmlschemastypes: implementation of XML Schema Datatypes</title>
-    <meta name="generator" content="Libxml2 devhelp stylesheet"/>
-    <link rel="start" href="index.html" title="libxml2 Reference Manual"/>
-    <link rel="up" href="general.html" title="API"/>
-    <link rel="stylesheet" href="style.css" type="text/css"/>
-    <link rel="chapter" href="general.html" title="API"/>
-  </head>
-  <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-    <table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
-      <tr valign="middle">
-        <td>
-          <a accesskey="p" href="libxml2-xmlschemas.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-xmlstring.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">xmlschemastypes</span>
-    </h2>
-    <p>xmlschemastypes - implementation of XML Schema Datatypes</p>
-    <p>module providing the XML Schema Datatypes implementation both definition and validity checking </p>
-    <p>Author(s): Daniel Veillard </p>
-    <div class="refsynopsisdiv">
-      <h2>Synopsis</h2>
-      <pre class="synopsis">typedef enum <a 
href="#xmlSchemaWhitespaceValueType">xmlSchemaWhitespaceValueType</a>;
-int    <a href="#xmlSchemaCheckFacet">xmlSchemaCheckFacet</a>          (<a 
href="libxml2-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a> facet, <br/>                     
               <a href="libxml2-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> typeDecl, <br/>  
                                 <a 
href="libxml2-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a> pctxt, <br/>                 
                       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>xmlschemastypes: implementation of XML Schema Datatypes</title>
+<meta name="generator" content="Libxml2 devhelp stylesheet">
+<link rel="start" href="index.html" title="libxml2 Reference Manual">
+<link rel="up" href="general.html" title="API">
+<link rel="stylesheet" href="style.css" type="text/css">
+<link rel="chapter" href="general.html" title="API">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr 
valign="middle">
+<td><a accesskey="p" href="libxml2-xmlschemas.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-xmlstring.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">xmlschemastypes</span></h2>
+<p>xmlschemastypes - implementation of XML Schema Datatypes</p>
+<p>module providing the XML Schema Datatypes implementation both definition and validity checking </p>
+<p>Author(s): Daniel Veillard </p>
+<div class="refsynopsisdiv">
+<h2>Synopsis</h2>
+<pre class="synopsis">typedef enum <a href="#xmlSchemaWhitespaceValueType">xmlSchemaWhitespaceValueType</a>;
+int    <a href="#xmlSchemaCheckFacet">xmlSchemaCheckFacet</a>          (<a 
href="libxml2-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a> facet, <br>                      
               <a href="libxml2-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> typeDecl, <br>   
                                 <a 
href="libxml2-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a> pctxt, <br>                  
                       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
 void   <a href="#xmlSchemaCleanupTypes">xmlSchemaCleanupTypes</a>              (void);
 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * <a 
href="#xmlSchemaCollapseString">xmlSchemaCollapseString</a>  (const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value);
-int    <a href="#xmlSchemaCompareValues">xmlSchemaCompareValues</a>            (<a 
href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> x, <br/>                             
       <a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> y);
-int    <a href="#xmlSchemaCompareValuesWhtsp">xmlSchemaCompareValuesWhtsp</a>  (<a 
href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> x, <br/>                             
       <a href="libxml2-xmlschemastypes.html#xmlSchemaWhitespaceValueType">xmlSchemaWhitespaceValueType</a> 
xws, <br/>                                         <a 
href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> y, <br/>                             
       <a href="libxml2-xmlschemastypes.html#xmlSchemaWhitespaceValueType">xmlSchemaWhitespaceValueType</a> 
yws);
+int    <a href="#xmlSchemaCompareValues">xmlSchemaCompareValues</a>            (<a 
href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> x, <br>                              
       <a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> y);
+int    <a href="#xmlSchemaCompareValuesWhtsp">xmlSchemaCompareValuesWhtsp</a>  (<a 
href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> x, <br>                              
       <a href="libxml2-xmlschemastypes.html#xmlSchemaWhitespaceValueType">xmlSchemaWhitespaceValueType</a> 
xws, <br>                                  <a 
href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> y, <br>                              
       <a href="libxml2-xmlschemastypes.html#xmlSchemaWhitespaceValueType">xmlSchemaWhitespaceValueType</a> 
yws);
 <a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a>    <a 
href="#xmlSchemaCopyValue">xmlSchemaCopyValue</a>    (<a 
href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> val);
 void   <a href="#xmlSchemaFreeFacet">xmlSchemaFreeFacet</a>            (<a 
href="libxml2-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a> facet);
 void   <a href="#xmlSchemaFreeValue">xmlSchemaFreeValue</a>            (<a 
href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> value);
 <a href="libxml2-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a>  <a 
href="#xmlSchemaGetBuiltInListSimpleTypeItemType">xmlSchemaGetBuiltInListSimpleTypeItemType</a>      (<a 
href="libxml2-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> type);
 <a href="libxml2-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a>  <a 
href="#xmlSchemaGetBuiltInType">xmlSchemaGetBuiltInType</a>  (<a 
href="libxml2-schemasInternals.html#xmlSchemaValType">xmlSchemaValType</a> type);
-int    <a href="#xmlSchemaGetCanonValue">xmlSchemaGetCanonValue</a>            (<a 
href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> val, <br/>                           
       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** retValue);
-int    <a href="#xmlSchemaGetCanonValueWhtsp">xmlSchemaGetCanonValueWhtsp</a>  (<a 
href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> val, <br/>                           
       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** retValue, <br/>                          
         <a href="libxml2-xmlschemastypes.html#xmlSchemaWhitespaceValueType">xmlSchemaWhitespaceValueType</a> 
ws);
+int    <a href="#xmlSchemaGetCanonValue">xmlSchemaGetCanonValue</a>            (<a 
href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> val, <br>                            
       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** retValue);
+int    <a href="#xmlSchemaGetCanonValueWhtsp">xmlSchemaGetCanonValueWhtsp</a>  (<a 
href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> val, <br>                            
       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** retValue, <br>                           
         <a href="libxml2-xmlschemastypes.html#xmlSchemaWhitespaceValueType">xmlSchemaWhitespaceValueType</a> 
ws);
 unsigned long  <a href="#xmlSchemaGetFacetValueAsULong">xmlSchemaGetFacetValueAsULong</a>      (<a 
href="libxml2-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a> facet);
-<a href="libxml2-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a>  <a 
href="#xmlSchemaGetPredefinedType">xmlSchemaGetPredefinedType</a>    (const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>                                               
         const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ns);
+<a href="libxml2-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a>  <a 
href="#xmlSchemaGetPredefinedType">xmlSchemaGetPredefinedType</a>    (const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>                                                
         const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ns);
 <a href="libxml2-schemasInternals.html#xmlSchemaValType">xmlSchemaValType</a>  <a 
href="#xmlSchemaGetValType">xmlSchemaGetValType</a>  (<a 
href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> val);
 void   <a href="#xmlSchemaInitTypes">xmlSchemaInitTypes</a>            (void);
-int    <a href="#xmlSchemaIsBuiltInTypeFacet">xmlSchemaIsBuiltInTypeFacet</a>  (<a 
href="libxml2-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> type, <br/>                        
               int facetType);
+int    <a href="#xmlSchemaIsBuiltInTypeFacet">xmlSchemaIsBuiltInTypeFacet</a>  (<a 
href="libxml2-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> type, <br>                         
               int facetType);
 <a href="libxml2-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a>        <a 
href="#xmlSchemaNewFacet">xmlSchemaNewFacet</a>      (void);
-<a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a>    <a 
href="#xmlSchemaNewNOTATIONValue">xmlSchemaNewNOTATIONValue</a>      (const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>                                               
 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ns);
-<a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a>    <a 
href="#xmlSchemaNewQNameValue">xmlSchemaNewQNameValue</a>    (const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * namespaceName, <br/>                                      
 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * localName);
-<a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a>    <a 
href="#xmlSchemaNewStringValue">xmlSchemaNewStringValue</a>  (<a 
href="libxml2-schemasInternals.html#xmlSchemaValType">xmlSchemaValType</a> type, <br/>                        
               const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value);
-int    <a href="#xmlSchemaValPredefTypeNode">xmlSchemaValPredefTypeNode</a>    (<a 
href="libxml2-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> type, <br/>                        
               const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br/>                      
                 <a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> * val, <br/>     
                                   <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node);
-int    <a href="#xmlSchemaValPredefTypeNodeNoNorm">xmlSchemaValPredefTypeNodeNoNorm</a>        (<a 
href="libxml2-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> type, <br/>                        
                       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br/>              
                                 <a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> 
* val, <br/>                                                <a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node);
-int    <a href="#xmlSchemaValidateFacet">xmlSchemaValidateFacet</a>            (<a 
href="libxml2-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> base, <br/>                        
               <a href="libxml2-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a> facet, <br/>   
                                 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br/>    
                                   <a 
href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> val);
-int    <a href="#xmlSchemaValidateFacetWhtsp">xmlSchemaValidateFacetWhtsp</a>  (<a 
href="libxml2-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a> facet, <br/>                     
               <a 
href="libxml2-xmlschemastypes.html#xmlSchemaWhitespaceValueType">xmlSchemaWhitespaceValueType</a> fws, <br/>  
                                       <a 
href="libxml2-schemasInternals.html#xmlSchemaValType">xmlSchemaValType</a> valType, <br/>                     
               const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br/>                      
                 <a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> val, <br/>       
                           <a 
href="libxml2-xmlschemastypes.html#xmlSchemaWhitespaceValueType">xmlSchemaWhitespaceValueType</a> ws);
-int    <a href="#xmlSchemaValidateLengthFacet">xmlSchemaValidateLengthFacet</a>        (<a 
href="libxml2-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> type, <br/>                        
               <a href="libxml2-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a> facet, <br/>   
                                 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br/>    
                                   <a 
href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> val, <br/>                           
       unsigned long * length);
-int    <a href="#xmlSchemaValidateLengthFacetWhtsp">xmlSchemaValidateLengthFacetWhtsp</a>      (<a 
href="libxml2-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a> facet, <br/>                     
                       <a href="libxml2-schemasInternals.html#xmlSchemaValType">xmlSchemaValType</a> valType, 
<br/>                                            const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * 
value, <br/>                                               <a 
href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> val, <br/>                           
               unsigned long * length, <br/>                                           <a 
href="libxml2-xmlschemastypes.html#xmlSchemaWhitespaceValueType">xmlSchemaWhitespaceValueType</a> ws);
-int    <a href="#xmlSchemaValidateListSimpleTypeFacet">xmlSchemaValidateListSimpleTypeFacet</a>        (<a 
href="libxml2-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a> facet, <br/>                     
                       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br/>              
                                 unsigned long actualLen, <br/>                                          
unsigned long * expectedLen);
-int    <a href="#xmlSchemaValidatePredefinedType">xmlSchemaValidatePredefinedType</a>  (<a 
href="libxml2-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> type, <br/>                        
               const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br/>                      
                 <a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> * val);
-int    <a href="#xmlSchemaValueAppend">xmlSchemaValueAppend</a>                (<a 
href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> prev, <br/>                          
               <a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> cur);
+<a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a>    <a 
href="#xmlSchemaNewNOTATIONValue">xmlSchemaNewNOTATIONValue</a>      (const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>                                                
 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ns);
+<a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a>    <a 
href="#xmlSchemaNewQNameValue">xmlSchemaNewQNameValue</a>    (const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * namespaceName, <br>                                       
 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * localName);
+<a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a>    <a 
href="#xmlSchemaNewStringValue">xmlSchemaNewStringValue</a>  (<a 
href="libxml2-schemasInternals.html#xmlSchemaValType">xmlSchemaValType</a> type, <br>                         
               const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value);
+int    <a href="#xmlSchemaValPredefTypeNode">xmlSchemaValPredefTypeNode</a>    (<a 
href="libxml2-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> type, <br>                         
               const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br>                       
                 <a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> * val, <br>      
                                   <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node);
+int    <a href="#xmlSchemaValPredefTypeNodeNoNorm">xmlSchemaValPredefTypeNodeNoNorm</a>        (<a 
href="libxml2-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> type, <br>                         
                       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br>               
                                 <a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> 
* val, <br>                                                 <a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node);
+int    <a href="#xmlSchemaValidateFacet">xmlSchemaValidateFacet</a>            (<a 
href="libxml2-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> base, <br>                         
               <a href="libxml2-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a> facet, <br>    
                                 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br>     
                                   <a 
href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> val);
+int    <a href="#xmlSchemaValidateFacetWhtsp">xmlSchemaValidateFacetWhtsp</a>  (<a 
href="libxml2-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a> facet, <br>                      
               <a 
href="libxml2-xmlschemastypes.html#xmlSchemaWhitespaceValueType">xmlSchemaWhitespaceValueType</a> fws, <br>   
                               <a href="libxml2-schemasInternals.html#xmlSchemaValType">xmlSchemaValType</a> 
valType, <br>                                     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> 
* value, <br>                                        <a 
href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> val, <br>                            
       <a href="libxml2-xmlschemastypes.html#xmlSchemaWhitespaceValueType">xmlSchemaWhitespaceValueType</a> 
ws);
+int    <a href="#xmlSchemaValidateLengthFacet">xmlSchemaValidateLengthFacet</a>        (<a 
href="libxml2-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> type, <br>                         
               <a href="libxml2-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a> facet, <br>    
                                 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br>     
                                   <a 
href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> val, <br>                            
       unsigned long * length);
+int    <a href="#xmlSchemaValidateLengthFacetWhtsp">xmlSchemaValidateLengthFacetWhtsp</a>      (<a 
href="libxml2-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a> facet, <br>                      
                       <a href="libxml2-schemasInternals.html#xmlSchemaValType">xmlSchemaValType</a> valType, 
<br>                                             const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * 
value, <br>                                                <a 
href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> val, <br>                            
               unsigned long * length, <br>                                            <a 
href="libxml2-xmlschemastypes.html#xmlSchemaWhitespaceValueType">xmlSchemaWhitespaceValueType</a> ws);
+int    <a href="#xmlSchemaValidateListSimpleTypeFacet">xmlSchemaValidateListSimpleTypeFacet</a>        (<a 
href="libxml2-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a> facet, <br>                      
                       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br>               
                                 unsigned long actualLen, <br>                                           
unsigned long * expectedLen);
+int    <a href="#xmlSchemaValidatePredefinedType">xmlSchemaValidatePredefinedType</a>  (<a 
href="libxml2-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> type, <br>                         
               const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br>                       
                 <a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> * val);
+int    <a href="#xmlSchemaValueAppend">xmlSchemaValueAppend</a>                (<a 
href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> prev, <br>                           
       <a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> cur);
 int    <a href="#xmlSchemaValueGetAsBoolean">xmlSchemaValueGetAsBoolean</a>    (<a 
href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> val);
 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *   <a 
href="#xmlSchemaValueGetAsString">xmlSchemaValueGetAsString</a>      (<a 
href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> val);
 <a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a>    <a 
href="#xmlSchemaValueGetNext">xmlSchemaValueGetNext</a>      (<a 
href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> cur);
 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * <a 
href="#xmlSchemaWhiteSpaceReplace">xmlSchemaWhiteSpaceReplace</a>    (const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value);
 </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="xmlSchemaWhitespaceValueType">Enum 
</a>xmlSchemaWhitespaceValueType</h3><pre class="programlisting">enum <a 
href="#xmlSchemaWhitespaceValueType">xmlSchemaWhitespaceValueType</a> {
+</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="xmlSchemaWhitespaceValueType">Enum </a>xmlSchemaWhitespaceValueType</h3>
+<pre class="programlisting">enum <a href="#xmlSchemaWhitespaceValueType">xmlSchemaWhitespaceValueType</a> {
     <a name="XML_SCHEMA_WHITESPACE_UNKNOWN">XML_SCHEMA_WHITESPACE_UNKNOWN</a> = 0
     <a name="XML_SCHEMA_WHITESPACE_PRESERVE">XML_SCHEMA_WHITESPACE_PRESERVE</a> = 1
     <a name="XML_SCHEMA_WHITESPACE_REPLACE">XML_SCHEMA_WHITESPACE_REPLACE</a> = 2
     <a name="XML_SCHEMA_WHITESPACE_COLLAPSE">XML_SCHEMA_WHITESPACE_COLLAPSE</a> = 3
 };
-</pre><p/>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaCheckFacet"/>xmlSchemaCheckFacet ()</h3><pre 
class="programlisting">int  xmlSchemaCheckFacet             (<a 
href="libxml2-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a> facet, <br/>                     
               <a href="libxml2-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> typeDecl, <br/>  
                                 <a 
href="libxml2-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a> pctxt, <br/>                 
                       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br/>
-</pre><p>Checks and computes the values of facets.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>facet</tt></i>:</span></td><td>the facet</td></tr><tr><td><span 
class="term"><i><tt>typeDecl</tt></i>:</span></td><td>the schema type definition</td></tr><tr><td><span 
class="term"><i><tt>pctxt</tt></i>:</span></td><td>the schema parser context or NULL</td></tr><tr><td><span 
class="term"><i><tt>name</tt></i>:</span></td><td>the optional name of the type</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if valid, a positive error code if not valid and -1 in 
case of an internal or API error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaCleanupTypes"/>xmlSchemaCleanupTypes 
()</h3><pre class="programlisting">void     xmlSchemaCleanupTypes           (void)<br/>
-</pre><p>DEPRECATED: This function will be made private. Call <a 
href="libxml2-parser.html#xmlCleanupParser">xmlCleanupParser</a> to free global state but see the warnings 
there. <a href="libxml2-parser.html#xmlCleanupParser">xmlCleanupParser</a> should be only called once at 
program exit. In most cases, you don't have call cleanup functions at all. Cleanup the default XML Schemas 
type library</p>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaCollapseString"/>xmlSchemaCollapseString 
()</h3><pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *       
xmlSchemaCollapseString (const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value)<br/>
-</pre><p>Removes and normalize white spaces in the string</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>value</tt></i>:</span></td><td>a value</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the new string or NULL if no change was 
required.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaCompareValues"/>xmlSchemaCompareValues 
()</h3><pre class="programlisting">int    xmlSchemaCompareValues          (<a 
href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> x, <br/>                             
       <a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> y)<br/>
-</pre><p>Compare 2 values</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>x</tt></i>:</span></td><td>a first value</td></tr><tr><td><span 
class="term"><i><tt>y</tt></i>:</span></td><td>a second value</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 if x &lt; y, 0 if x == y, 1 if x &gt; y, 2 if x 
&lt;&gt; y, and -2 in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlSchemaCompareValuesWhtsp"/>xmlSchemaCompareValuesWhtsp ()</h3><pre class="programlisting">int  
xmlSchemaCompareValuesWhtsp     (<a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> 
x, <br/>                                    <a 
href="libxml2-xmlschemastypes.html#xmlSchemaWhitespaceValueType">xmlSchemaWhitespaceValueType</a> xws, <br/>  
                                       <a 
href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> y, <br/>                             
       <a href="libxml2-xmlschemastypes.html#xmlSchemaWhitespaceValueType">xmlSchemaWhitespaceValueType</a> 
yws)<br/>
-</pre><p>Compare 2 values</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>x</tt></i>:</span></td><td>a first value</td></tr><tr><td><span 
class="term"><i><tt>xws</tt></i>:</span></td><td>the whitespace value of x</td></tr><tr><td><span 
class="term"><i><tt>y</tt></i>:</span></td><td>a second value</td></tr><tr><td><span 
class="term"><i><tt>yws</tt></i>:</span></td><td>the whitespace value of y</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 if x &lt; y, 0 if x == y, 1 if x &gt; y, 2 if x 
&lt;&gt; y, and -2 in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaCopyValue"/>xmlSchemaCopyValue ()</h3><pre 
class="programlisting"><a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a>    
xmlSchemaCopyValue      (<a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> val)<br/>
-</pre><p>Copies the precomputed value. This duplicates any string within.</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 precomputed value to be copied</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the copy or NULL if a copy for a data-type is not 
implemented.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaFreeFacet"/>xmlSchemaFreeFacet ()</h3><pre 
class="programlisting">void   xmlSchemaFreeFacet              (<a 
href="libxml2-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a> facet)<br/>
-</pre><p>Deallocate a Schema Facet structure.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>facet</tt></i>:</span></td><td>a schema facet 
structure</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaFreeValue"/>xmlSchemaFreeValue ()</h3><pre 
class="programlisting">void   xmlSchemaFreeValue              (<a 
href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> value)<br/>
-</pre><p>Cleanup the default XML Schemas type library</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>value</tt></i>:</span></td><td>the value to free</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlSchemaGetBuiltInListSimpleTypeItemType"/>xmlSchemaGetBuiltInListSimpleTypeItemType ()</h3><pre 
class="programlisting"><a href="libxml2-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a>    
xmlSchemaGetBuiltInListSimpleTypeItemType       (<a 
href="libxml2-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> type)<br/>
-</pre><p>Lookup function</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>type</tt></i>:</span></td><td>the built-in simple type.</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the item type of @type as defined by the built-in 
datatype hierarchy of XML Schema Part 2: Datatypes, or NULL in case of an 
error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaGetBuiltInType"/>xmlSchemaGetBuiltInType 
()</h3><pre class="programlisting"><a 
href="libxml2-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a>        xmlSchemaGetBuiltInType (<a 
href="libxml2-schemasInternals.html#xmlSchemaValType">xmlSchemaValType</a> type)<br/>
-</pre><p>Gives you the type struct for a built-in type by its type id.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>type</tt></i>:</span></td><td>the type of the built in type</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the type if found, NULL 
otherwise.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaGetCanonValue"/>xmlSchemaGetCanonValue 
()</h3><pre class="programlisting">int    xmlSchemaGetCanonValue          (<a 
href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> val, <br/>                           
       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** retValue)<br/>
-</pre><p>Get the canonical lexical representation of the value. The caller has to FREE the returned 
retValue. WARNING: Some value types are not supported yet, resulting in a @retValue of "???". TODO: XML 
Schema 1.0 does not define canonical representations for: duration, gYearMonth, gYear, gMonthDay, gMonth, 
gDay, anyURI, QName, NOTATION. This will be fixed in XML Schema 1.1.</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 precomputed value</td></tr><tr><td><span 
class="term"><i><tt>retValue</tt></i>:</span></td><td>the returned value</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if the value could be built, 1 if the value type is 
not supported yet and -1 in case of API errors.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlSchemaGetCanonValueWhtsp"/>xmlSchemaGetCanonValueWhtsp ()</h3><pre class="programlisting">int  
xmlSchemaGetCanonValueWhtsp     (<a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> 
val, <br/>                                  const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** 
retValue, <br/>                                   <a 
href="libxml2-xmlschemastypes.html#xmlSchemaWhitespaceValueType">xmlSchemaWhitespaceValueType</a> ws)<br/>
-</pre><p>Get the canonical representation of the value. The caller has to free the returned @retValue.</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 precomputed value</td></tr><tr><td><span 
class="term"><i><tt>retValue</tt></i>:</span></td><td>the returned value</td></tr><tr><td><span 
class="term"><i><tt>ws</tt></i>:</span></td><td>the whitespace type of the value</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if the value could be built, 1 if the value type is 
not supported yet and -1 in case of API errors.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlSchemaGetFacetValueAsULong"/>xmlSchemaGetFacetValueAsULong ()</h3><pre 
class="programlisting">unsigned long    xmlSchemaGetFacetValueAsULong   (<a 
href="libxml2-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a> facet)<br/>
-</pre><p>Extract the value of a facet</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>facet</tt></i>:</span></td><td>an schemas type facet</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the value as a long</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaGetPredefinedType"/>xmlSchemaGetPredefinedType 
()</h3><pre class="programlisting"><a 
href="libxml2-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a>  xmlSchemaGetPredefinedType      
(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>                                     
                   const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ns)<br/>
-</pre><p>Lookup a type in the default XML Schemas type library</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 type name</td></tr><tr><td><span 
class="term"><i><tt>ns</tt></i>:</span></td><td>the URI of the namespace usually 
"http://www.w3.org/2001/XMLSchema";</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the type if found, NULL 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaGetValType"/>xmlSchemaGetValType ()</h3><pre 
class="programlisting"><a href="libxml2-schemasInternals.html#xmlSchemaValType">xmlSchemaValType</a>        
xmlSchemaGetValType     (<a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> val)<br/>
-</pre><p>Accessor for the type of a value</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>val</tt></i>:</span></td><td>a schemas value</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a 
href="libxml2-schemasInternals.html#xmlSchemaValType">xmlSchemaValType</a> of the 
value</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaInitTypes"/>xmlSchemaInitTypes ()</h3><pre 
class="programlisting">void   xmlSchemaInitTypes              (void)<br/>
-</pre><p>Initialize the default XML Schemas type library</p>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlSchemaIsBuiltInTypeFacet"/>xmlSchemaIsBuiltInTypeFacet ()</h3><pre class="programlisting">int  
xmlSchemaIsBuiltInTypeFacet     (<a 
href="libxml2-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> type, <br/>                        
               int facetType)<br/>
-</pre><p>Evaluates if a specific facet can be used in conjunction with a type.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>type</tt></i>:</span></td><td>the built-in type</td></tr><tr><td><span 
class="term"><i><tt>facetType</tt></i>:</span></td><td>the facet type</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if the facet can be used with the given built-in type, 
0 otherwise and -1 in case the type is not a built-in type.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaNewFacet"/>xmlSchemaNewFacet ()</h3><pre 
class="programlisting"><a href="libxml2-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a>  
xmlSchemaNewFacet       (void)<br/>
-</pre><p>Allocate a new Facet structure.</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 newly allocated structure or NULL in case or 
error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaNewNOTATIONValue"/>xmlSchemaNewNOTATIONValue 
()</h3><pre class="programlisting"><a 
href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a>      xmlSchemaNewNOTATIONValue       
(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>                                     
           const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ns)<br/>
-</pre><p>Allocate a new NOTATION value. The given values are consumed and freed with the struct.</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 notation name</td></tr><tr><td><span 
class="term"><i><tt>ns</tt></i>:</span></td><td>the notation namespace name or NULL</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the new value or NULL in case of 
error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaNewQNameValue"/>xmlSchemaNewQNameValue 
()</h3><pre class="programlisting"><a 
href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a>    xmlSchemaNewQNameValue  (const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * namespaceName, <br/>                                      
 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * localName)<br/>
-</pre><p>Allocate a new QName value. The given values are consumed and freed with the struct.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>namespaceName</tt></i>:</span></td><td>the namespace name</td></tr><tr><td><span 
class="term"><i><tt>localName</tt></i>:</span></td><td>the local name</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the new value or NULL in case of an 
error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaNewStringValue"/>xmlSchemaNewStringValue 
()</h3><pre class="programlisting"><a 
href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a>  xmlSchemaNewStringValue (<a 
href="libxml2-schemasInternals.html#xmlSchemaValType">xmlSchemaValType</a> type, <br/>                        
               const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value)<br/>
-</pre><p>Allocate a new simple type value. The type can be of XML_SCHEMAS_STRING. WARNING: This one is 
intended to be expanded for other string based types. We need this for anySimpleType as well. The given value 
is consumed and freed with the struct.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>type</tt></i>:</span></td><td>the value type</td></tr><tr><td><span 
class="term"><i><tt>value</tt></i>:</span></td><td>the value</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the new value or NULL in case of 
error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaValPredefTypeNode"/>xmlSchemaValPredefTypeNode 
()</h3><pre class="programlisting">int    xmlSchemaValPredefTypeNode      (<a 
href="libxml2-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> type, <br/>                        
               const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br/>                      
                 <a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> * val, <br/>     
                                   <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br/>
-</pre><p>Check that a value conforms to the lexical space of the predefined type. if true a value is 
computed and returned in @val.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>type</tt></i>:</span></td><td>the predefined type</td></tr><tr><td><span 
class="term"><i><tt>value</tt></i>:</span></td><td>the value to check</td></tr><tr><td><span 
class="term"><i><tt>val</tt></i>:</span></td><td>the return computed value</td></tr><tr><td><span 
class="term"><i><tt>node</tt></i>:</span></td><td>the node containing the value</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if this validates, a positive error code number 
otherwise and -1 in case of internal or API error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlSchemaValPredefTypeNodeNoNorm"/>xmlSchemaValPredefTypeNodeNoNorm ()</h3><pre 
class="programlisting">int        xmlSchemaValPredefTypeNodeNoNorm        (<a 
href="libxml2-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> type, <br/>                        
                       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br/>              
                                 <a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> 
* val, <br/>                                                <a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br/>
-</pre><p>Check that a value conforms to the lexical space of the predefined type. if true a value is 
computed and returned in @val. This one does apply any normalization to the value.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>type</tt></i>:</span></td><td>the predefined type</td></tr><tr><td><span 
class="term"><i><tt>value</tt></i>:</span></td><td>the value to check</td></tr><tr><td><span 
class="term"><i><tt>val</tt></i>:</span></td><td>the return computed value</td></tr><tr><td><span 
class="term"><i><tt>node</tt></i>:</span></td><td>the node containing the value</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if this validates, a positive error code number 
otherwise and -1 in case of internal or API error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaValidateFacet"/>xmlSchemaValidateFacet 
()</h3><pre class="programlisting">int    xmlSchemaValidateFacet          (<a 
href="libxml2-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> base, <br/>                        
               <a href="libxml2-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a> facet, <br/>   
                                 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br/>    
                                   <a 
href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> val)<br/>
-</pre><p>Check a value against a facet condition</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>base</tt></i>:</span></td><td>the base type</td></tr><tr><td><span 
class="term"><i><tt>facet</tt></i>:</span></td><td>the facet to check</td></tr><tr><td><span 
class="term"><i><tt>value</tt></i>:</span></td><td>the lexical repr of the value to 
validate</td></tr><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>the precomputed 
value</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if the element is schemas 
valid, a positive error code number otherwise and -1 in case of internal or API 
error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlSchemaValidateFacetWhtsp"/>xmlSchemaValidateFacetWhtsp ()</h3><pre class="programlisting">int  
xmlSchemaValidateFacetWhtsp     (<a 
href="libxml2-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a> facet, <br/>                     
               <a 
href="libxml2-xmlschemastypes.html#xmlSchemaWhitespaceValueType">xmlSchemaWhitespaceValueType</a> fws, <br/>  
                                       <a 
href="libxml2-schemasInternals.html#xmlSchemaValType">xmlSchemaValType</a> valType, <br/>                     
               const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br/>                      
                 <a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> val, <br/>       
                           <a 
href="libxml2-xmlschemastypes.html#xmlSchemaWhitespaceValueType">xmlSchemaWhitespaceValueType</a> ws)<br/>
-</pre><p>Check a value against a facet condition. This takes value normalization according to the specified 
whitespace types into account. Note that @value needs to be the *normalized* value if the facet is of type 
"pattern".</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>facet</tt></i>:</span></td><td>the facet to check</td></tr><tr><td><span 
class="term"><i><tt>fws</tt></i>:</span></td><td>the whitespace type of the facet's 
value</td></tr><tr><td><span class="term"><i><tt>valType</tt></i>:</span></td><td>the built-in type of the 
value</td></tr><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td>the lexical (or normalized 
for pattern) repr of the value to validate</td></tr><tr><td><span 
class="term"><i><tt>val</tt></i>:</span></td><td>the precomputed value</td></tr><tr><td><span 
class="term"><i><tt>ws</tt></i>:</span></td><td>the whitespace type of the value</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if the element is schemas valid, a positive error code 
number otherwise and -1 in case of internal or API error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlSchemaValidateLengthFacet"/>xmlSchemaValidateLengthFacet ()</h3><pre class="programlisting">int      
  xmlSchemaValidateLengthFacet    (<a 
href="libxml2-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> type, <br/>                        
               <a href="libxml2-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a> facet, <br/>   
                                 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br/>    
                                   <a 
href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> val, <br/>                           
       unsigned long * length)<br/>
-</pre><p>Checka a value against a "length", "minLength" and "maxLength" facet; sets @length to the computed 
length of @value.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>type</tt></i>:</span></td><td>the built-in type</td></tr><tr><td><span 
class="term"><i><tt>facet</tt></i>:</span></td><td>the facet to check</td></tr><tr><td><span 
class="term"><i><tt>value</tt></i>:</span></td><td>the lexical repr. of the value to be 
validated</td></tr><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>the precomputed 
value</td></tr><tr><td><span class="term"><i><tt>length</tt></i>:</span></td><td>the actual length of the 
value</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if the value is valid, a 
positive error code otherwise and -1 in case of an internal or API 
error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlSchemaValidateLengthFacetWhtsp"/>xmlSchemaValidateLengthFacetWhtsp ()</h3><pre 
class="programlisting">int      xmlSchemaValidateLengthFacetWhtsp       (<a 
href="libxml2-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a> facet, <br/>                     
                       <a href="libxml2-schemasInternals.html#xmlSchemaValType">xmlSchemaValType</a> valType, 
<br/>                                            const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * 
value, <br/>                                               <a 
href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> val, <br/>                           
               unsigned long * length, <br/>                                           <a 
href="libxml2-xmlschemastypes.html#xmlSchemaWhitespaceValueType">xmlSchemaWhitespaceValueType</a> ws)<br/>
-</pre><p>Checka a value against a "length", "minLength" and "maxLength" facet; sets @length to the computed 
length of @value.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>facet</tt></i>:</span></td><td>the facet to check</td></tr><tr><td><span 
class="term"><i><tt>valType</tt></i>:</span></td><td>the built-in type</td></tr><tr><td><span 
class="term"><i><tt>value</tt></i>:</span></td><td>the lexical repr. of the value to be 
validated</td></tr><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>the precomputed 
value</td></tr><tr><td><span class="term"><i><tt>length</tt></i>:</span></td><td>the actual length of the 
value</td></tr><tr><td><span class="term"><i><tt>ws</tt></i>:</span></td><td>the whitespace type of the 
value</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if the value is valid, a 
positive error code otherwise and -1 in case of an internal or API 
error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlSchemaValidateListSimpleTypeFacet"/>xmlSchemaValidateListSimpleTypeFacet ()</h3><pre 
class="programlisting">int        xmlSchemaValidateListSimpleTypeFacet    (<a 
href="libxml2-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a> facet, <br/>                     
                       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br/>              
                                 unsigned long actualLen, <br/>                                          
unsigned long * expectedLen)<br/>
-</pre><p>Checks the value of a list simple type against a facet.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>facet</tt></i>:</span></td><td>the facet to check</td></tr><tr><td><span 
class="term"><i><tt>value</tt></i>:</span></td><td>the lexical repr of the value to 
validate</td></tr><tr><td><span class="term"><i><tt>actualLen</tt></i>:</span></td><td>the number of list 
items</td></tr><tr><td><span class="term"><i><tt>expectedLen</tt></i>:</span></td><td>the resulting expected 
number of list items</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if the 
value is valid, a positive error code number otherwise and -1 in case of an internal 
error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlSchemaValidatePredefinedType"/>xmlSchemaValidatePredefinedType ()</h3><pre 
class="programlisting">int  xmlSchemaValidatePredefinedType (<a 
href="libxml2-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> type, <br/>                        
               const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br/>                      
                 <a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> * val)<br/>
-</pre><p>Check that a value conforms to the lexical space of the predefined type. if true a value is 
computed and returned in @val.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>type</tt></i>:</span></td><td>the predefined type</td></tr><tr><td><span 
class="term"><i><tt>value</tt></i>:</span></td><td>the value to check</td></tr><tr><td><span 
class="term"><i><tt>val</tt></i>:</span></td><td>the return computed value</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if this validates, a positive error code number 
otherwise and -1 in case of internal or API error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaValueAppend"/>xmlSchemaValueAppend ()</h3><pre 
class="programlisting">int        xmlSchemaValueAppend            (<a 
href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> prev, <br/>                          
               <a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> cur)<br/>
-</pre><p>Appends a next sibling to a list of computed values.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>prev</tt></i>:</span></td><td>the value</td></tr><tr><td><span 
class="term"><i><tt>cur</tt></i>:</span></td><td>the value to be appended</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if succeeded and -1 on API 
errors.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaValueGetAsBoolean"/>xmlSchemaValueGetAsBoolean 
()</h3><pre class="programlisting">int    xmlSchemaValueGetAsBoolean      (<a 
href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> val)<br/>
-</pre><p>Accessor for the boolean value of a computed value.</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 value</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true and 0 if false, or in case of an error. 
Hmm.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaValueGetAsString"/>xmlSchemaValueGetAsString 
()</h3><pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *     
xmlSchemaValueGetAsString       (<a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> 
val)<br/>
-</pre><p>Accessor for the string value of a computed value.</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 value</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the string value or NULL if there was none, or on API 
errors.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaValueGetNext"/>xmlSchemaValueGetNext 
()</h3><pre class="programlisting"><a 
href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a>      xmlSchemaValueGetNext   (<a 
href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> cur)<br/>
-</pre><p>Accessor for the next sibling of a list of computed values.</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 value</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the next value or NULL if there was none, or on API 
errors.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlSchemaWhiteSpaceReplace"/>xmlSchemaWhiteSpaceReplace 
()</h3><pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * 
xmlSchemaWhiteSpaceReplace      (const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value)<br/>
-</pre><p>Replaces 0xd, 0x9 and 0xa with a space.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>value</tt></i>:</span></td><td>a value</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the new string or NULL if no change was 
required.</td></tr></tbody></table></div></div>
-        <hr/>
-      </div>
-    </div>
-  </body>
+</pre>
+<p></p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaCheckFacet"></a>xmlSchemaCheckFacet ()</h3>
+<pre class="programlisting">int        xmlSchemaCheckFacet             (<a 
href="libxml2-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a> facet, <br>                      
               <a href="libxml2-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> typeDecl, <br>   
                                 <a 
href="libxml2-xmlschemas.html#xmlSchemaParserCtxtPtr">xmlSchemaParserCtxtPtr</a> pctxt, <br>                  
                       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
+</pre>
+<p>Checks and computes the values of facets.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>facet</tt></i>:</span></td>
+<td>the facet</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>typeDecl</tt></i>:</span></td>
+<td>the schema type definition</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>pctxt</tt></i>:</span></td>
+<td>the schema parser context or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the optional name of the type</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 if valid, a positive error code if not valid and -1 in case of an internal or API error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaCleanupTypes"></a>xmlSchemaCleanupTypes ()</h3>
+<pre class="programlisting">void       xmlSchemaCleanupTypes           (void)<br>
+</pre>
+<p>DEPRECATED: This function will be made private. Call <a 
href="libxml2-parser.html#xmlCleanupParser">xmlCleanupParser</a> to free global state but see the warnings 
there. <a href="libxml2-parser.html#xmlCleanupParser">xmlCleanupParser</a> should be only called once at 
program exit. In most cases, you don't have call cleanup functions at all. Cleanup the default XML Schemas 
type library</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaCollapseString"></a>xmlSchemaCollapseString ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *     
xmlSchemaCollapseString (const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value)<br>
+</pre>
+<p>Removes and normalize white spaces in the string</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>value</tt></i>:</span></td>
+<td>a value</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the new string or NULL if no change was required.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaCompareValues"></a>xmlSchemaCompareValues ()</h3>
+<pre class="programlisting">int        xmlSchemaCompareValues          (<a 
href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> x, <br>                              
       <a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> y)<br>
+</pre>
+<p>Compare 2 values</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>x</tt></i>:</span></td>
+<td>a first value</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>y</tt></i>:</span></td>
+<td>a second value</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>-1 if x &lt; y, 0 if x == y, 1 if x &gt; y, 2 if x &lt;&gt; y, and -2 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaCompareValuesWhtsp"></a>xmlSchemaCompareValuesWhtsp ()</h3>
+<pre class="programlisting">int        xmlSchemaCompareValuesWhtsp     (<a 
href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> x, <br>                              
       <a href="libxml2-xmlschemastypes.html#xmlSchemaWhitespaceValueType">xmlSchemaWhitespaceValueType</a> 
xws, <br>                                  <a 
href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> y, <br>                              
       <a href="libxml2-xmlschemastypes.html#xmlSchemaWhitespaceValueType">xmlSchemaWhitespaceValueType</a> 
yws)<br>
+</pre>
+<p>Compare 2 values</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>x</tt></i>:</span></td>
+<td>a first value</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>xws</tt></i>:</span></td>
+<td>the whitespace value of x</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>y</tt></i>:</span></td>
+<td>a second value</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>yws</tt></i>:</span></td>
+<td>the whitespace value of y</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>-1 if x &lt; y, 0 if x == y, 1 if x &gt; y, 2 if x &lt;&gt; y, and -2 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaCopyValue"></a>xmlSchemaCopyValue ()</h3>
+<pre class="programlisting"><a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a>      
  xmlSchemaCopyValue      (<a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> 
val)<br>
+</pre>
+<p>Copies the precomputed value. This duplicates any string within.</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 precomputed value to be copied</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the copy or NULL if a copy for a data-type is not implemented.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaFreeFacet"></a>xmlSchemaFreeFacet ()</h3>
+<pre class="programlisting">void       xmlSchemaFreeFacet              (<a 
href="libxml2-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a> facet)<br>
+</pre>
+<p>Deallocate a Schema Facet structure.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>facet</tt></i>:</span></td>
+<td>a schema facet structure</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaFreeValue"></a>xmlSchemaFreeValue ()</h3>
+<pre class="programlisting">void       xmlSchemaFreeValue              (<a 
href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> value)<br>
+</pre>
+<p>Cleanup the default XML Schemas type library</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>value</tt></i>:</span></td>
+<td>the value to free</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaGetBuiltInListSimpleTypeItemType"></a>xmlSchemaGetBuiltInListSimpleTypeItemType ()</h3>
+<pre class="programlisting"><a href="libxml2-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a>    
  xmlSchemaGetBuiltInListSimpleTypeItemType       (<a 
href="libxml2-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> type)<br>
+</pre>
+<p>Lookup function</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>type</tt></i>:</span></td>
+<td>the built-in simple type.</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the item type of @type as defined by the built-in datatype hierarchy of XML Schema Part 2: Datatypes, or 
NULL in case of an error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaGetBuiltInType"></a>xmlSchemaGetBuiltInType ()</h3>
+<pre class="programlisting"><a href="libxml2-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a>    
  xmlSchemaGetBuiltInType (<a href="libxml2-schemasInternals.html#xmlSchemaValType">xmlSchemaValType</a> 
type)<br>
+</pre>
+<p>Gives you the type struct for a built-in type by its type id.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>type</tt></i>:</span></td>
+<td>the type of the built in type</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the type if found, NULL otherwise.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaGetCanonValue"></a>xmlSchemaGetCanonValue ()</h3>
+<pre class="programlisting">int        xmlSchemaGetCanonValue          (<a 
href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> val, <br>                            
       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** retValue)<br>
+</pre>
+<p>Get the canonical lexical representation of the value. The caller has to FREE the returned retValue. 
WARNING: Some value types are not supported yet, resulting in a @retValue of "???". TODO: XML Schema 1.0 does 
not define canonical representations for: duration, gYearMonth, gYear, gMonthDay, gMonth, gDay, anyURI, 
QName, NOTATION. This will be fixed in XML Schema 1.1.</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 precomputed value</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>retValue</tt></i>:</span></td>
+<td>the returned value</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 if the value could be built, 1 if the value type is not supported yet and -1 in case of API 
errors.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaGetCanonValueWhtsp"></a>xmlSchemaGetCanonValueWhtsp ()</h3>
+<pre class="programlisting">int        xmlSchemaGetCanonValueWhtsp     (<a 
href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> val, <br>                            
       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** retValue, <br>                           
         <a href="libxml2-xmlschemastypes.html#xmlSchemaWhitespaceValueType">xmlSchemaWhitespaceValueType</a> 
ws)<br>
+</pre>
+<p>Get the canonical representation of the value. The caller has to free the returned @retValue.</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 precomputed value</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>retValue</tt></i>:</span></td>
+<td>the returned value</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ws</tt></i>:</span></td>
+<td>the whitespace type of the value</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 if the value could be built, 1 if the value type is not supported yet and -1 in case of API 
errors.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaGetFacetValueAsULong"></a>xmlSchemaGetFacetValueAsULong ()</h3>
+<pre class="programlisting">unsigned long      xmlSchemaGetFacetValueAsULong   (<a 
href="libxml2-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a> facet)<br>
+</pre>
+<p>Extract the value of a facet</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>facet</tt></i>:</span></td>
+<td>an schemas type facet</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the value as a long</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaGetPredefinedType"></a>xmlSchemaGetPredefinedType ()</h3>
+<pre class="programlisting"><a href="libxml2-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a>    
  xmlSchemaGetPredefinedType      (const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>    
                                                     const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ns)<br>
+</pre>
+<p>Lookup a type in the default XML Schemas type library</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 type name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ns</tt></i>:</span></td>
+<td>the URI of the namespace usually "http://www.w3.org/2001/XMLSchema";</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the type if found, NULL otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaGetValType"></a>xmlSchemaGetValType ()</h3>
+<pre class="programlisting"><a href="libxml2-schemasInternals.html#xmlSchemaValType">xmlSchemaValType</a>    
  xmlSchemaGetValType     (<a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> 
val)<br>
+</pre>
+<p>Accessor for the type of a value</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>val</tt></i>:</span></td>
+<td>a schemas value</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the <a href="libxml2-schemasInternals.html#xmlSchemaValType">xmlSchemaValType</a> of the value</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaInitTypes"></a>xmlSchemaInitTypes ()</h3>
+<pre class="programlisting">void       xmlSchemaInitTypes              (void)<br>
+</pre>
+<p>Initialize the default XML Schemas type library</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaIsBuiltInTypeFacet"></a>xmlSchemaIsBuiltInTypeFacet ()</h3>
+<pre class="programlisting">int        xmlSchemaIsBuiltInTypeFacet     (<a 
href="libxml2-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> type, <br>                         
               int facetType)<br>
+</pre>
+<p>Evaluates if a specific facet can be used in conjunction with a type.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>type</tt></i>:</span></td>
+<td>the built-in type</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>facetType</tt></i>:</span></td>
+<td>the facet type</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if the facet can be used with the given built-in type, 0 otherwise and -1 in case the type is not a 
built-in type.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaNewFacet"></a>xmlSchemaNewFacet ()</h3>
+<pre class="programlisting"><a href="libxml2-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a>  
  xmlSchemaNewFacet       (void)<br>
+</pre>
+<p>Allocate a new Facet structure.</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 newly allocated structure or NULL in case or error</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaNewNOTATIONValue"></a>xmlSchemaNewNOTATIONValue ()</h3>
+<pre class="programlisting"><a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a>      
  xmlSchemaNewNOTATIONValue       (const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>    
                                             const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * 
ns)<br>
+</pre>
+<p>Allocate a new NOTATION value. The given values are consumed and freed with the struct.</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 notation name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ns</tt></i>:</span></td>
+<td>the notation namespace name or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a pointer to the new value or NULL in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaNewQNameValue"></a>xmlSchemaNewQNameValue ()</h3>
+<pre class="programlisting"><a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a>      
  xmlSchemaNewQNameValue  (const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * namespaceName, <br>   
                                     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * 
localName)<br>
+</pre>
+<p>Allocate a new QName value. The given values are consumed and freed with the struct.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>namespaceName</tt></i>:</span></td>
+<td>the namespace name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>localName</tt></i>:</span></td>
+<td>the local name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a pointer to the new value or NULL in case of an error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaNewStringValue"></a>xmlSchemaNewStringValue ()</h3>
+<pre class="programlisting"><a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a>      
  xmlSchemaNewStringValue (<a href="libxml2-schemasInternals.html#xmlSchemaValType">xmlSchemaValType</a> 
type, <br>                                        const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> 
* value)<br>
+</pre>
+<p>Allocate a new simple type value. The type can be of XML_SCHEMAS_STRING. WARNING: This one is intended to 
be expanded for other string based types. We need this for anySimpleType as well. The given value is consumed 
and freed with the struct.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>type</tt></i>:</span></td>
+<td>the value type</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>value</tt></i>:</span></td>
+<td>the value</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a pointer to the new value or NULL in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaValPredefTypeNode"></a>xmlSchemaValPredefTypeNode ()</h3>
+<pre class="programlisting">int        xmlSchemaValPredefTypeNode      (<a 
href="libxml2-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> type, <br>                         
               const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br>                       
                 <a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> * val, <br>      
                                   <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br>
+</pre>
+<p>Check that a value conforms to the lexical space of the predefined type. if true a value is computed and 
returned in @val.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>type</tt></i>:</span></td>
+<td>the predefined type</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>value</tt></i>:</span></td>
+<td>the value to check</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>val</tt></i>:</span></td>
+<td>the return computed value</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>node</tt></i>:</span></td>
+<td>the node containing the value</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 if this validates, a positive error code number otherwise and -1 in case of internal or API error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaValPredefTypeNodeNoNorm"></a>xmlSchemaValPredefTypeNodeNoNorm ()</h3>
+<pre class="programlisting">int        xmlSchemaValPredefTypeNodeNoNorm        (<a 
href="libxml2-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> type, <br>                         
                       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br>               
                                 <a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> 
* val, <br>                                                 <a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br>
+</pre>
+<p>Check that a value conforms to the lexical space of the predefined type. if true a value is computed and 
returned in @val. This one does apply any normalization to the value.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>type</tt></i>:</span></td>
+<td>the predefined type</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>value</tt></i>:</span></td>
+<td>the value to check</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>val</tt></i>:</span></td>
+<td>the return computed value</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>node</tt></i>:</span></td>
+<td>the node containing the value</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 if this validates, a positive error code number otherwise and -1 in case of internal or API error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaValidateFacet"></a>xmlSchemaValidateFacet ()</h3>
+<pre class="programlisting">int        xmlSchemaValidateFacet          (<a 
href="libxml2-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> base, <br>                         
               <a href="libxml2-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a> facet, <br>    
                                 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br>     
                                   <a 
href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> val)<br>
+</pre>
+<p>Check a value against a facet condition</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>base</tt></i>:</span></td>
+<td>the base type</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>facet</tt></i>:</span></td>
+<td>the facet to check</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>value</tt></i>:</span></td>
+<td>the lexical repr of the value to validate</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>val</tt></i>:</span></td>
+<td>the precomputed value</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 if the element is schemas valid, a positive error code number otherwise and -1 in case of internal or 
API error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaValidateFacetWhtsp"></a>xmlSchemaValidateFacetWhtsp ()</h3>
+<pre class="programlisting">int        xmlSchemaValidateFacetWhtsp     (<a 
href="libxml2-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a> facet, <br>                      
               <a 
href="libxml2-xmlschemastypes.html#xmlSchemaWhitespaceValueType">xmlSchemaWhitespaceValueType</a> fws, <br>   
                               <a href="libxml2-schemasInternals.html#xmlSchemaValType">xmlSchemaValType</a> 
valType, <br>                                     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> 
* value, <br>                                        <a 
href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> val, <br>                            
       <a href="libxml2-xmlschemastypes.html#xmlSchemaWhitespaceValueType">xmlSchemaWhitespaceValueType</a> 
ws)<br>
+</pre>
+<p>Check a value against a facet condition. This takes value normalization according to the specified 
whitespace types into account. Note that @value needs to be the *normalized* value if the facet is of type 
"pattern".</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>facet</tt></i>:</span></td>
+<td>the facet to check</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>fws</tt></i>:</span></td>
+<td>the whitespace type of the facet's value</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>valType</tt></i>:</span></td>
+<td>the built-in type of the value</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>value</tt></i>:</span></td>
+<td>the lexical (or normalized for pattern) repr of the value to validate</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>val</tt></i>:</span></td>
+<td>the precomputed value</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ws</tt></i>:</span></td>
+<td>the whitespace type of the value</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 if the element is schemas valid, a positive error code number otherwise and -1 in case of internal or 
API error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaValidateLengthFacet"></a>xmlSchemaValidateLengthFacet ()</h3>
+<pre class="programlisting">int        xmlSchemaValidateLengthFacet    (<a 
href="libxml2-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> type, <br>                         
               <a href="libxml2-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a> facet, <br>    
                                 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br>     
                                   <a 
href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> val, <br>                            
       unsigned long * length)<br>
+</pre>
+<p>Checka a value against a "length", "minLength" and "maxLength" facet; sets @length to the computed length 
of @value.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>type</tt></i>:</span></td>
+<td>the built-in type</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>facet</tt></i>:</span></td>
+<td>the facet to check</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>value</tt></i>:</span></td>
+<td>the lexical repr. of the value to be validated</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>val</tt></i>:</span></td>
+<td>the precomputed value</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>length</tt></i>:</span></td>
+<td>the actual length of the value</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 if the value is valid, a positive error code otherwise and -1 in case of an internal or API error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaValidateLengthFacetWhtsp"></a>xmlSchemaValidateLengthFacetWhtsp ()</h3>
+<pre class="programlisting">int        xmlSchemaValidateLengthFacetWhtsp       (<a 
href="libxml2-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a> facet, <br>                      
                       <a href="libxml2-schemasInternals.html#xmlSchemaValType">xmlSchemaValType</a> valType, 
<br>                                             const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * 
value, <br>                                                <a 
href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> val, <br>                            
               unsigned long * length, <br>                                            <a 
href="libxml2-xmlschemastypes.html#xmlSchemaWhitespaceValueType">xmlSchemaWhitespaceValueType</a> ws)<br>
+</pre>
+<p>Checka a value against a "length", "minLength" and "maxLength" facet; sets @length to the computed length 
of @value.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>facet</tt></i>:</span></td>
+<td>the facet to check</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>valType</tt></i>:</span></td>
+<td>the built-in type</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>value</tt></i>:</span></td>
+<td>the lexical repr. of the value to be validated</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>val</tt></i>:</span></td>
+<td>the precomputed value</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>length</tt></i>:</span></td>
+<td>the actual length of the value</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ws</tt></i>:</span></td>
+<td>the whitespace type of the value</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 if the value is valid, a positive error code otherwise and -1 in case of an internal or API error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaValidateListSimpleTypeFacet"></a>xmlSchemaValidateListSimpleTypeFacet ()</h3>
+<pre class="programlisting">int        xmlSchemaValidateListSimpleTypeFacet    (<a 
href="libxml2-schemasInternals.html#xmlSchemaFacetPtr">xmlSchemaFacetPtr</a> facet, <br>                      
                       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br>               
                                 unsigned long actualLen, <br>                                           
unsigned long * expectedLen)<br>
+</pre>
+<p>Checks the value of a list simple type against a facet.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>facet</tt></i>:</span></td>
+<td>the facet to check</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>value</tt></i>:</span></td>
+<td>the lexical repr of the value to validate</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>actualLen</tt></i>:</span></td>
+<td>the number of list items</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>expectedLen</tt></i>:</span></td>
+<td>the resulting expected number of list items</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 if the value is valid, a positive error code number otherwise and -1 in case of an internal error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaValidatePredefinedType"></a>xmlSchemaValidatePredefinedType ()</h3>
+<pre class="programlisting">int        xmlSchemaValidatePredefinedType (<a 
href="libxml2-schemasInternals.html#xmlSchemaTypePtr">xmlSchemaTypePtr</a> type, <br>                         
               const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value, <br>                       
                 <a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> * val)<br>
+</pre>
+<p>Check that a value conforms to the lexical space of the predefined type. if true a value is computed and 
returned in @val.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>type</tt></i>:</span></td>
+<td>the predefined type</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>value</tt></i>:</span></td>
+<td>the value to check</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>val</tt></i>:</span></td>
+<td>the return computed value</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 if this validates, a positive error code number otherwise and -1 in case of internal or API error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaValueAppend"></a>xmlSchemaValueAppend ()</h3>
+<pre class="programlisting">int        xmlSchemaValueAppend            (<a 
href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> prev, <br>                           
       <a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> cur)<br>
+</pre>
+<p>Appends a next sibling to a list of computed values.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>prev</tt></i>:</span></td>
+<td>the value</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>the value to be appended</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 if succeeded and -1 on API errors.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaValueGetAsBoolean"></a>xmlSchemaValueGetAsBoolean ()</h3>
+<pre class="programlisting">int        xmlSchemaValueGetAsBoolean      (<a 
href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> val)<br>
+</pre>
+<p>Accessor for the boolean value of a computed value.</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 value</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true and 0 if false, or in case of an error. Hmm.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaValueGetAsString"></a>xmlSchemaValueGetAsString ()</h3>
+<pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *       
xmlSchemaValueGetAsString       (<a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> 
val)<br>
+</pre>
+<p>Accessor for the string value of a computed value.</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 value</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the string value or NULL if there was none, or on API errors.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaValueGetNext"></a>xmlSchemaValueGetNext ()</h3>
+<pre class="programlisting"><a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a>      
  xmlSchemaValueGetNext   (<a href="libxml2-schemasInternals.html#xmlSchemaValPtr">xmlSchemaValPtr</a> 
cur)<br>
+</pre>
+<p>Accessor for the next sibling of a list of computed values.</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 value</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the next value or NULL if there was none, or on API errors.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlSchemaWhiteSpaceReplace"></a>xmlSchemaWhiteSpaceReplace ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *     
xmlSchemaWhiteSpaceReplace      (const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * value)<br>
+</pre>
+<p>Replaces 0xd, 0x9 and 0xa with a space.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>value</tt></i>:</span></td>
+<td>a value</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the new string or NULL if no change was required.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+</div>
+</div>
+</body>
 </html>
diff --git a/doc/devhelp/libxml2-xmlstring.html b/doc/devhelp/libxml2-xmlstring.html
index 19bd4080..c0ef99b5 100644
--- a/doc/devhelp/libxml2-xmlstring.html
+++ b/doc/devhelp/libxml2-xmlstring.html
@@ -1,217 +1,853 @@
-<?xml version="1.0" encoding="UTF-8"?>
 <html>
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
-    <title>xmlstring: set of routines to process strings</title>
-    <meta name="generator" content="Libxml2 devhelp stylesheet"/>
-    <link rel="start" href="index.html" title="libxml2 Reference Manual"/>
-    <link rel="up" href="general.html" title="API"/>
-    <link rel="stylesheet" href="style.css" type="text/css"/>
-    <link rel="chapter" href="general.html" title="API"/>
-  </head>
-  <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-    <table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
-      <tr valign="middle">
-        <td>
-          <a accesskey="p" href="libxml2-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>
-        <th width="100%" align="center">libxml2 Reference Manual</th>
-      </tr>
-    </table>
-    <h2>
-      <span class="refentrytitle">xmlstring</span>
-    </h2>
-    <p>xmlstring - set of routines to process strings</p>
-    <p>type and interfaces needed for the internal string handling of the library, especially UTF8 
processing. </p>
-    <p>Author(s): Daniel Veillard </p>
-    <div class="refsynopsisdiv">
-      <h2>Synopsis</h2>
-      <pre class="synopsis">#define <a href="#BAD_CAST">BAD_CAST</a>;
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>xmlstring: set of routines to process strings</title>
+<meta name="generator" content="Libxml2 devhelp stylesheet">
+<link rel="start" href="index.html" title="libxml2 Reference Manual">
+<link rel="up" href="general.html" title="API">
+<link rel="stylesheet" href="style.css" type="text/css">
+<link rel="chapter" href="general.html" title="API">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr 
valign="middle">
+<td><a accesskey="p" href="libxml2-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>
+<th width="100%" align="center">libxml2 Reference Manual</th>
+</tr></table>
+<h2><span class="refentrytitle">xmlstring</span></h2>
+<p>xmlstring - set of routines to process strings</p>
+<p>type and interfaces needed for the internal string handling of the library, especially UTF8 processing. 
</p>
+<p>Author(s): Daniel Veillard </p>
+<div class="refsynopsisdiv">
+<h2>Synopsis</h2>
+<pre class="synopsis">#define <a href="#BAD_CAST">BAD_CAST</a>;
 typedef unsigned char <a href="#xmlChar">xmlChar</a>;
 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * <a href="#xmlCharStrdup">xmlCharStrdup</a>            
  (const char * cur);
-<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * <a href="#xmlCharStrndup">xmlCharStrndup</a>          
  (const char * cur, <br/>                                         int len);
+<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * <a href="#xmlCharStrndup">xmlCharStrndup</a>          
  (const char * cur, <br>                                  int len);
 int    <a href="#xmlCheckUTF8">xmlCheckUTF8</a>                        (const unsigned char * utf);
-int    <a href="#xmlGetUTF8Char">xmlGetUTF8Char</a>                    (const unsigned char * utf, <br/>     
                                   int * len);
-int    <a href="#xmlStrEqual">xmlStrEqual</a>                  (const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str1, <br/>                                        const 
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str2);
-int    <a href="#xmlStrPrintf">xmlStrPrintf</a>                        (<a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * buf, <br/>                                       int len, 
<br/>                                  const char * msg, <br/>                                         ... 
...);
-int    <a href="#xmlStrQEqual">xmlStrQEqual</a>                        (const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pref, <br/>                                        const 
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>                                        
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str);
-int    <a href="#xmlStrVPrintf">xmlStrVPrintf</a>                      (<a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * buf, <br/>                                       int len, 
<br/>                                  const char * msg, <br/>                                         
va_list ap);
-int    <a href="#xmlStrcasecmp">xmlStrcasecmp</a>                      (const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str1, <br/>                                        const 
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str2);
-const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *   <a href="#xmlStrcasestr">xmlStrcasestr</a>    
          (const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br/>                            
             const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * val);
-<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * <a href="#xmlStrcat">xmlStrcat</a>              (<a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur, <br/>                                       const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * add);
-const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *   <a href="#xmlStrchr">xmlStrchr</a>            
  (const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br/>                                    
     <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> val);
-int    <a href="#xmlStrcmp">xmlStrcmp</a>                      (const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str1, <br/>                                        const 
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str2);
+int    <a href="#xmlGetUTF8Char">xmlGetUTF8Char</a>                    (const unsigned char * utf, <br>      
                                   int * len);
+int    <a href="#xmlStrEqual">xmlStrEqual</a>                  (const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str1, <br>                                         const 
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str2);
+int    <a href="#xmlStrPrintf">xmlStrPrintf</a>                        (<a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * buf, <br>                                        int len, 
<br>                                   const char * msg, <br>                                  ... ...);
+int    <a href="#xmlStrQEqual">xmlStrQEqual</a>                        (const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pref, <br>                                         const 
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>                                         
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str);
+int    <a href="#xmlStrVPrintf">xmlStrVPrintf</a>                      (<a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * buf, <br>                                        int len, 
<br>                                   const char * msg, <br>                                  va_list ap);
+int    <a href="#xmlStrcasecmp">xmlStrcasecmp</a>                      (const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str1, <br>                                         const 
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str2);
+const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *   <a href="#xmlStrcasestr">xmlStrcasestr</a>    
          (const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br>                             
     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * val);
+<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * <a href="#xmlStrcat">xmlStrcat</a>              (<a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur, <br>                                        const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * add);
+const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *   <a href="#xmlStrchr">xmlStrchr</a>            
  (const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br>                                  <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> val);
+int    <a href="#xmlStrcmp">xmlStrcmp</a>                      (const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str1, <br>                                         const 
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str2);
 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * <a href="#xmlStrdup">xmlStrdup</a>              
(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur);
 int    <a href="#xmlStrlen">xmlStrlen</a>                      (const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str);
-int    <a href="#xmlStrncasecmp">xmlStrncasecmp</a>                    (const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str1, <br/>                                        const 
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str2, <br/>                                        int 
len);
-<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * <a href="#xmlStrncat">xmlStrncat</a>            (<a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur, <br/>                                       const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * add, <br/>                                         int 
len);
-<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * <a href="#xmlStrncatNew">xmlStrncatNew</a>            
  (const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str1, <br/>                                   
     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str2, <br/>                                 
       int len);
-int    <a href="#xmlStrncmp">xmlStrncmp</a>                    (const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str1, <br/>                                        const 
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str2, <br/>                                        int 
len);
-<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * <a href="#xmlStrndup">xmlStrndup</a>            
(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur, <br/>                                      
   int len);
-const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *   <a href="#xmlStrstr">xmlStrstr</a>            
  (const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br/>                                    
     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * val);
-<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * <a href="#xmlStrsub">xmlStrsub</a>              
(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br/>                                      
   int start, <br/>                                        int len);
-int    <a href="#xmlUTF8Charcmp">xmlUTF8Charcmp</a>                    (const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * utf1, <br/>                                        const 
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * utf2);
+int    <a href="#xmlStrncasecmp">xmlStrncasecmp</a>                    (const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str1, <br>                                         const 
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str2, <br>                                         int 
len);
+<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * <a href="#xmlStrncat">xmlStrncat</a>            (<a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur, <br>                                        const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * add, <br>                                  int len);
+<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * <a href="#xmlStrncatNew">xmlStrncatNew</a>            
  (const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str1, <br>                                    
     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str2, <br>                                  
       int len);
+int    <a href="#xmlStrncmp">xmlStrncmp</a>                    (const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str1, <br>                                         const 
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str2, <br>                                         int 
len);
+<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * <a href="#xmlStrndup">xmlStrndup</a>            
(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur, <br>                                  int 
len);
+const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *   <a href="#xmlStrstr">xmlStrstr</a>            
  (const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br>                                  
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * val);
+<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * <a href="#xmlStrsub">xmlStrsub</a>              
(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br>                                  int 
start, <br>                                         int len);
+int    <a href="#xmlUTF8Charcmp">xmlUTF8Charcmp</a>                    (const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * utf1, <br>                                         const 
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * utf2);
 int    <a href="#xmlUTF8Size">xmlUTF8Size</a>                  (const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * utf);
 int    <a href="#xmlUTF8Strlen">xmlUTF8Strlen</a>                      (const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * utf);
-int    <a href="#xmlUTF8Strloc">xmlUTF8Strloc</a>                      (const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * utf, <br/>                                         const 
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * utfchar);
-<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * <a href="#xmlUTF8Strndup">xmlUTF8Strndup</a>          
  (const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * utf, <br/>                                    
     int len);
-const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *   <a href="#xmlUTF8Strpos">xmlUTF8Strpos</a>    
          (const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * utf, <br/>                            
             int pos);
-int    <a href="#xmlUTF8Strsize">xmlUTF8Strsize</a>                    (const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * utf, <br/>                                         int 
len);
-<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * <a href="#xmlUTF8Strsub">xmlUTF8Strsub</a>            
  (const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * utf, <br/>                                    
     int start, <br/>                                        int len);
-</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="BAD_CAST">Macro </a>BAD_CAST</h3><pre 
class="programlisting">#define <a href="#BAD_CAST">BAD_CAST</a>;
-</pre><p>Macro to cast a string to an <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * when one know 
its safe.</p>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlChar">Typedef </a>xmlChar</h3><pre 
class="programlisting">unsigned char xmlChar;
-</pre><p>This is a basic byte in an UTF-8 encoded string. It's unsigned allowing to pinpoint case where char 
* are assigned to <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * (possibly making serialization back 
impossible).</p>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCharStrdup"/>xmlCharStrdup ()</h3><pre 
class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *   xmlCharStrdup           
(const char * cur)<br/>
-</pre><p>a strdup for char's to xmlChar's</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 input char *</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>a new <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * or NULL</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCharStrndup"/>xmlCharStrndup ()</h3><pre 
class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * xmlCharStrndup          (const 
char * cur, <br/>                                         int len)<br/>
-</pre><p>a strndup for char's to xmlChar's</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 input char *</td></tr><tr><td><span 
class="term"><i><tt>len</tt></i>:</span></td><td>the len of @cur</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>a new <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * or NULL</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCheckUTF8"/>xmlCheckUTF8 ()</h3><pre 
class="programlisting">int        xmlCheckUTF8                    (const unsigned char * utf)<br/>
-</pre><p>Checks @utf for being valid UTF-8. @utf is assumed to be null-terminated. This function is not 
super-strict, as it will allow longer UTF-8 sequences than necessary. Note that Java is capable of producing 
these sequences if provoked. Also note, this routine checks for the 4-byte maximum size, but does not check 
for 0x10ffff maximum value.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>utf</tt></i>:</span></td><td>Pointer to putative UTF-8 encoded 
string.</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>value: true if @utf is 
valid.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlGetUTF8Char"/>xmlGetUTF8Char ()</h3><pre 
class="programlisting">int    xmlGetUTF8Char                  (const unsigned char * utf, <br/>               
                         int * len)<br/>
-</pre><p>Read the first UTF8 character from @utf</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>utf</tt></i>:</span></td><td>a sequence of UTF-8 encoded bytes</td></tr><tr><td><span 
class="term"><i><tt>len</tt></i>:</span></td><td>a pointer to the minimum number of bytes present in the 
sequence. This is used to assure the next character is completely contained within the 
sequence.</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the char value or -1 in 
case of error, and sets *len to the actual number of bytes consumed (0 in case of 
error)</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlStrEqual"/>xmlStrEqual ()</h3><pre 
class="programlisting">int  xmlStrEqual                     (const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str1, <br/>                                        const 
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str2)<br/>
-</pre><p>Check if both strings are equal of have same content. Should be a bit more readable and faster than 
xmlStrcmp()</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>str1</tt></i>:</span></td><td>the first <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *</td></tr><tr><td><span 
class="term"><i><tt>str2</tt></i>:</span></td><td>the second <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if they are equal, 0 if they are 
different</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlStrPrintf"/>xmlStrPrintf ()</h3><pre 
class="programlisting">int        xmlStrPrintf                    (<a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * buf, <br/>                                       int len, 
<br/>                                  const char * msg, <br/>                                         ... 
...)<br/>
-</pre><p>Formats @msg and places result into @buf.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>buf</tt></i>:</span></td><td>the result buffer.</td></tr><tr><td><span 
class="term"><i><tt>len</tt></i>:</span></td><td>the result buffer length.</td></tr><tr><td><span 
class="term"><i><tt>msg</tt></i>:</span></td><td>the message with printf formatting.</td></tr><tr><td><span 
class="term"><i><tt>...</tt></i>:</span></td><td>extra parameters for the message.</td></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></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlStrQEqual"/>xmlStrQEqual ()</h3><pre 
class="programlisting">int        xmlStrQEqual                    (const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pref, <br/>                                        const 
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>                                        
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str)<br/>
-</pre><p>Check if a QName is Equal to a given string</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>pref</tt></i>:</span></td><td>the prefix of the QName</td></tr><tr><td><span 
class="term"><i><tt>name</tt></i>:</span></td><td>the localname of the QName</td></tr><tr><td><span 
class="term"><i><tt>str</tt></i>:</span></td><td>the second <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if they are equal, 0 if they are 
different</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlStrVPrintf"/>xmlStrVPrintf ()</h3><pre 
class="programlisting">int      xmlStrVPrintf                   (<a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * buf, <br/>                                       int len, 
<br/>                                  const char * msg, <br/>                                         
va_list ap)<br/>
-</pre><p>Formats @msg and places result into @buf.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>buf</tt></i>:</span></td><td>the result buffer.</td></tr><tr><td><span 
class="term"><i><tt>len</tt></i>:</span></td><td>the result buffer length.</td></tr><tr><td><span 
class="term"><i><tt>msg</tt></i>:</span></td><td>the message with printf formatting.</td></tr><tr><td><span 
class="term"><i><tt>ap</tt></i>:</span></td><td>extra parameters for the message.</td></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></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlStrcasecmp"/>xmlStrcasecmp ()</h3><pre 
class="programlisting">int      xmlStrcasecmp                   (const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str1, <br/>                                        const 
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str2)<br/>
-</pre><p>a strcasecmp for xmlChar's</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>str1</tt></i>:</span></td><td>the first <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *</td></tr><tr><td><span 
class="term"><i><tt>str2</tt></i>:</span></td><td>the second <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the integer result of the 
comparison</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlStrcasestr"/>xmlStrcasestr ()</h3><pre 
class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *     xmlStrcasestr         
  (const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br/>                                    
     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * val)<br/>
-</pre><p>a case-ignoring strstr for xmlChar's</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>str</tt></i>:</span></td><td>the <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * 
array (haystack)</td></tr><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>the <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> to search (needle)</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> 
* for the first occurrence or NULL.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlStrcat"/>xmlStrcat ()</h3><pre 
class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *   xmlStrcat               (<a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur, <br/>                                       const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * add)<br/>
-</pre><p>a strcat for array of xmlChar's. Since they are supposed to be encoded in UTF-8 or an encoding with 
8bit based chars, we assume a termination mark of '0'.</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 original <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * array</td></tr><tr><td><span 
class="term"><i><tt>add</tt></i>:</span></td><td>the <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * 
array added</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a new <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * containing the concatenated string. The original @cur is 
reallocated and should not be freed.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlStrchr"/>xmlStrchr ()</h3><pre 
class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *     xmlStrchr             
  (const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br/>                                    
     <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> val)<br/>
-</pre><p>a strchr for xmlChar's</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>str</tt></i>:</span></td><td>the <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * 
array</td></tr><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>the <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> to search</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> 
* for the first occurrence or NULL.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlStrcmp"/>xmlStrcmp ()</h3><pre 
class="programlisting">int      xmlStrcmp                       (const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str1, <br/>                                        const 
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str2)<br/>
-</pre><p>a strcmp for xmlChar's</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>str1</tt></i>:</span></td><td>the first <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *</td></tr><tr><td><span 
class="term"><i><tt>str2</tt></i>:</span></td><td>the second <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the integer result of the 
comparison</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlStrdup"/>xmlStrdup ()</h3><pre 
class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *   xmlStrdup               
(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur)<br/>
-</pre><p>a strdup for array of xmlChar's. Since they are supposed to be encoded in UTF-8 or an encoding with 
8bit based chars, we assume a termination mark of '0'.</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 input <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>a new <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * or NULL</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlStrlen"/>xmlStrlen ()</h3><pre 
class="programlisting">int      xmlStrlen                       (const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str)<br/>
-</pre><p>length of a xmlChar's string</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>str</tt></i>:</span></td><td>the <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * 
array</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> contained in the 
ARRAY.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlStrncasecmp"/>xmlStrncasecmp ()</h3><pre 
class="programlisting">int    xmlStrncasecmp                  (const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str1, <br/>                                        const 
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str2, <br/>                                        int 
len)<br/>
-</pre><p>a strncasecmp for xmlChar's</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>str1</tt></i>:</span></td><td>the first <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *</td></tr><tr><td><span 
class="term"><i><tt>str2</tt></i>:</span></td><td>the second <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *</td></tr><tr><td><span 
class="term"><i><tt>len</tt></i>:</span></td><td>the max comparison length</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the integer result of the 
comparison</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlStrncat"/>xmlStrncat ()</h3><pre 
class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * xmlStrncat              (<a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur, <br/>                                       const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * add, <br/>                                         int 
len)<br/>
-</pre><p>a strncat for array of xmlChar's, it will extend @cur with the len first bytes of @add. Note that 
if @len &lt; 0 then this is an API error and NULL will be returned.</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 original <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * array</td></tr><tr><td><span 
class="term"><i><tt>add</tt></i>:</span></td><td>the <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * 
array added</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>the length of 
@add</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a new <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *, the original @cur is reallocated and should not be 
freed.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlStrncatNew"/>xmlStrncatNew ()</h3><pre 
class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *   xmlStrncatNew           
(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str1, <br/>                                     
   const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str2, <br/>                                   
     int len)<br/>
-</pre><p>same as xmlStrncat, but creates a new string. The original two strings are not freed. If @len is 
&lt; 0 then the length will be calculated automatically.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>str1</tt></i>:</span></td><td>first <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> 
string</td></tr><tr><td><span class="term"><i><tt>str2</tt></i>:</span></td><td>second <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> string</td></tr><tr><td><span 
class="term"><i><tt>len</tt></i>:</span></td><td>the len of @str2 or &lt; 0</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>a new <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * or NULL</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlStrncmp"/>xmlStrncmp ()</h3><pre 
class="programlisting">int    xmlStrncmp                      (const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str1, <br/>                                        const 
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str2, <br/>                                        int 
len)<br/>
-</pre><p>a strncmp for xmlChar's</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>str1</tt></i>:</span></td><td>the first <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *</td></tr><tr><td><span 
class="term"><i><tt>str2</tt></i>:</span></td><td>the second <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *</td></tr><tr><td><span 
class="term"><i><tt>len</tt></i>:</span></td><td>the max comparison length</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the integer result of the 
comparison</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlStrndup"/>xmlStrndup ()</h3><pre 
class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * xmlStrndup              (const 
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur, <br/>                                         int 
len)<br/>
-</pre><p>a strndup for array of xmlChar's</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 input <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *</td></tr><tr><td><span 
class="term"><i><tt>len</tt></i>:</span></td><td>the len of @cur</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>a new <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * or NULL</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlStrstr"/>xmlStrstr ()</h3><pre 
class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *     xmlStrstr             
  (const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br/>                                    
     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * val)<br/>
-</pre><p>a strstr for xmlChar's</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>str</tt></i>:</span></td><td>the <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * 
array (haystack)</td></tr><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>the <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> to search (needle)</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> 
* for the first occurrence or NULL.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlStrsub"/>xmlStrsub ()</h3><pre 
class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *   xmlStrsub               
(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br/>                                      
   int start, <br/>                                        int len)<br/>
-</pre><p>Extract a substring of a given string</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>str</tt></i>:</span></td><td>the <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * 
array (haystack)</td></tr><tr><td><span class="term"><i><tt>start</tt></i>:</span></td><td>the index of the 
first char (zero based)</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>the length of 
the substring</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * for the first occurrence or 
NULL.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUTF8Charcmp"/>xmlUTF8Charcmp ()</h3><pre 
class="programlisting">int    xmlUTF8Charcmp                  (const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * utf1, <br/>                                        const 
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * utf2)<br/>
-</pre><p>compares the two UCS4 values</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>utf1</tt></i>:</span></td><td>pointer to first UTF8 char</td></tr><tr><td><span 
class="term"><i><tt>utf2</tt></i>:</span></td><td>pointer to second UTF8 char</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>result of the compare as with <a 
href="libxml2-xmlstring.html#xmlStrncmp">xmlStrncmp</a></td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUTF8Size"/>xmlUTF8Size ()</h3><pre 
class="programlisting">int  xmlUTF8Size                     (const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * utf)<br/>
-</pre><p>calculates the internal size of a UTF8 character</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>utf</tt></i>:</span></td><td>pointer to the UTF8 character</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the numbers of bytes in the character, -1 on format 
error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUTF8Strlen"/>xmlUTF8Strlen ()</h3><pre 
class="programlisting">int      xmlUTF8Strlen                   (const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * utf)<br/>
-</pre><p>compute the length of an UTF8 string, it doesn't do a full UTF8 checking of the content of the 
string.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>utf</tt></i>:</span></td><td>a sequence of UTF-8 encoded bytes</td></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></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUTF8Strloc"/>xmlUTF8Strloc ()</h3><pre 
class="programlisting">int      xmlUTF8Strloc                   (const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * utf, <br/>                                         const 
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * utfchar)<br/>
-</pre><p>a function to provide the relative location of a UTF8 char</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>utf</tt></i>:</span></td><td>the input UTF8 *</td></tr><tr><td><span 
class="term"><i><tt>utfchar</tt></i>:</span></td><td>the UTF8 character to be found</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the relative character position of the desired char or 
-1 if not found</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUTF8Strndup"/>xmlUTF8Strndup ()</h3><pre 
class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * xmlUTF8Strndup          (const 
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * utf, <br/>                                         int 
len)<br/>
-</pre><p>a strndup for array of UTF8's</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>utf</tt></i>:</span></td><td>the input UTF8 *</td></tr><tr><td><span 
class="term"><i><tt>len</tt></i>:</span></td><td>the len of @utf (in chars)</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>a new UTF8 * or 
NULL</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUTF8Strpos"/>xmlUTF8Strpos ()</h3><pre 
class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *     xmlUTF8Strpos         
  (const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * utf, <br/>                                    
     int pos)<br/>
-</pre><p>a function to provide the equivalent of fetching a character from a string array</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>utf</tt></i>:</span></td><td>the input UTF8 *</td></tr><tr><td><span 
class="term"><i><tt>pos</tt></i>:</span></td><td>the position of the desired UTF8 char (in 
chars)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the UTF8 
character or NULL</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUTF8Strsize"/>xmlUTF8Strsize ()</h3><pre 
class="programlisting">int    xmlUTF8Strsize                  (const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * utf, <br/>                                         int 
len)<br/>
-</pre><p>storage size of an UTF8 string the behaviour is not guaranteed if the input string is not UTF-8</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>utf</tt></i>:</span></td><td>a sequence of UTF-8 encoded bytes</td></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></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></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUTF8Strsub"/>xmlUTF8Strsub ()</h3><pre 
class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *   xmlUTF8Strsub           
(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * utf, <br/>                                      
   int start, <br/>                                        int len)<br/>
-</pre><p>Create a substring from a given UTF-8 string Note: positions are given in units of UTF-8 chars</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>utf</tt></i>:</span></td><td>a sequence of UTF-8 encoded bytes</td></tr><tr><td><span 
class="term"><i><tt>start</tt></i>:</span></td><td>relative pos of first char</td></tr><tr><td><span 
class="term"><i><tt>len</tt></i>:</span></td><td>total number to copy</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to a newly created string or NULL if any 
problem</td></tr></tbody></table></div></div>
-        <hr/>
-      </div>
-    </div>
-  </body>
+int    <a href="#xmlUTF8Strloc">xmlUTF8Strloc</a>                      (const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * utf, <br>                                  const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * utfchar);
+<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * <a href="#xmlUTF8Strndup">xmlUTF8Strndup</a>          
  (const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * utf, <br>                                  
int len);
+const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *   <a href="#xmlUTF8Strpos">xmlUTF8Strpos</a>    
          (const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * utf, <br>                             
     int pos);
+int    <a href="#xmlUTF8Strsize">xmlUTF8Strsize</a>                    (const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * utf, <br>                                  int len);
+<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * <a href="#xmlUTF8Strsub">xmlUTF8Strsub</a>            
  (const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * utf, <br>                                  
int start, <br>                                         int len);
+</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="BAD_CAST">Macro </a>BAD_CAST</h3>
+<pre class="programlisting">#define <a href="#BAD_CAST">BAD_CAST</a>;
+</pre>
+<p>Macro to cast a string to an <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * when one know its 
safe.</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlChar">Typedef </a>xmlChar</h3>
+<pre class="programlisting">unsigned char xmlChar;
+</pre>
+<p>This is a basic byte in an UTF-8 encoded string. It's unsigned allowing to pinpoint case where char * are 
assigned to <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * (possibly making serialization back 
impossible).</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCharStrdup"></a>xmlCharStrdup ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *     xmlCharStrdup         
  (const char * cur)<br>
+</pre>
+<p>a strdup for char's to xmlChar's</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 input char *</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a new <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * or NULL</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCharStrndup"></a>xmlCharStrndup ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *     xmlCharStrndup        
  (const char * cur, <br>                                  int len)<br>
+</pre>
+<p>a strndup for char's to xmlChar's</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 input char *</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>len</tt></i>:</span></td>
+<td>the len of @cur</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a new <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * or NULL</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCheckUTF8"></a>xmlCheckUTF8 ()</h3>
+<pre class="programlisting">int        xmlCheckUTF8                    (const unsigned char * utf)<br>
+</pre>
+<p>Checks @utf for being valid UTF-8. @utf is assumed to be null-terminated. This function is not 
super-strict, as it will allow longer UTF-8 sequences than necessary. Note that Java is capable of producing 
these sequences if provoked. Also note, this routine checks for the 4-byte maximum size, but does not check 
for 0x10ffff maximum value.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>utf</tt></i>:</span></td>
+<td>Pointer to putative UTF-8 encoded string.</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>value: true if @utf is valid.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlGetUTF8Char"></a>xmlGetUTF8Char ()</h3>
+<pre class="programlisting">int        xmlGetUTF8Char                  (const unsigned char * utf, <br>      
                                   int * len)<br>
+</pre>
+<p>Read the first UTF8 character from @utf</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>utf</tt></i>:</span></td>
+<td>a sequence of UTF-8 encoded bytes</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>len</tt></i>:</span></td>
+<td>a pointer to the minimum number of bytes present in the sequence. This is used to assure the next 
character is completely contained within the sequence.</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the char value or -1 in case of error, and sets *len to the actual number of bytes consumed (0 in case 
of error)</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlStrEqual"></a>xmlStrEqual ()</h3>
+<pre class="programlisting">int        xmlStrEqual                     (const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str1, <br>                                         const 
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str2)<br>
+</pre>
+<p>Check if both strings are equal of have same content. Should be a bit more readable and faster than 
xmlStrcmp()</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>str1</tt></i>:</span></td>
+<td>the first <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>str2</tt></i>:</span></td>
+<td>the second <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if they are equal, 0 if they are different</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlStrPrintf"></a>xmlStrPrintf ()</h3>
+<pre class="programlisting">int        xmlStrPrintf                    (<a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * buf, <br>                                        int len, 
<br>                                   const char * msg, <br>                                  ... ...)<br>
+</pre>
+<p>Formats @msg and places result into @buf.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>buf</tt></i>:</span></td>
+<td>the result buffer.</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>len</tt></i>:</span></td>
+<td>the result buffer length.</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>msg</tt></i>:</span></td>
+<td>the message with printf formatting.</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>...</tt></i>:</span></td>
+<td>extra parameters for the message.</td>
+</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>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlStrQEqual"></a>xmlStrQEqual ()</h3>
+<pre class="programlisting">int        xmlStrQEqual                    (const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pref, <br>                                         const 
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>                                         
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str)<br>
+</pre>
+<p>Check if a QName is Equal to a given string</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>pref</tt></i>:</span></td>
+<td>the prefix of the QName</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the localname of the QName</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>str</tt></i>:</span></td>
+<td>the second <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if they are equal, 0 if they are different</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlStrVPrintf"></a>xmlStrVPrintf ()</h3>
+<pre class="programlisting">int        xmlStrVPrintf                   (<a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * buf, <br>                                        int len, 
<br>                                   const char * msg, <br>                                  va_list ap)<br>
+</pre>
+<p>Formats @msg and places result into @buf.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>buf</tt></i>:</span></td>
+<td>the result buffer.</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>len</tt></i>:</span></td>
+<td>the result buffer length.</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>msg</tt></i>:</span></td>
+<td>the message with printf formatting.</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ap</tt></i>:</span></td>
+<td>extra parameters for the message.</td>
+</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>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlStrcasecmp"></a>xmlStrcasecmp ()</h3>
+<pre class="programlisting">int        xmlStrcasecmp                   (const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str1, <br>                                         const 
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str2)<br>
+</pre>
+<p>a strcasecmp for xmlChar's</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>str1</tt></i>:</span></td>
+<td>the first <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>str2</tt></i>:</span></td>
+<td>the second <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the integer result of the comparison</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlStrcasestr"></a>xmlStrcasestr ()</h3>
+<pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *       xmlStrcasestr 
          (const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br>                             
     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * val)<br>
+</pre>
+<p>a case-ignoring strstr for xmlChar's</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>str</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * array (haystack)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>val</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> to search (needle)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * for the first occurrence or NULL.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlStrcat"></a>xmlStrcat ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *     xmlStrcat             
  (<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur, <br>                                        
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * add)<br>
+</pre>
+<p>a strcat for array of xmlChar's. Since they are supposed to be encoded in UTF-8 or an encoding with 8bit 
based chars, we assume a termination mark of '0'.</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 original <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * array</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>add</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * array added</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a new <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * containing the concatenated string. The 
original @cur is reallocated and should not be freed.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlStrchr"></a>xmlStrchr ()</h3>
+<pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *       xmlStrchr     
          (const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br>                             
     <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> val)<br>
+</pre>
+<p>a strchr for xmlChar's</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>str</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * array</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>val</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> to search</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * for the first occurrence or NULL.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlStrcmp"></a>xmlStrcmp ()</h3>
+<pre class="programlisting">int        xmlStrcmp                       (const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str1, <br>                                         const 
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str2)<br>
+</pre>
+<p>a strcmp for xmlChar's</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>str1</tt></i>:</span></td>
+<td>the first <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>str2</tt></i>:</span></td>
+<td>the second <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the integer result of the comparison</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlStrdup"></a>xmlStrdup ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *     xmlStrdup             
  (const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur)<br>
+</pre>
+<p>a strdup for array of xmlChar's. Since they are supposed to be encoded in UTF-8 or an encoding with 8bit 
based chars, we assume a termination mark of '0'.</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 input <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a new <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * or NULL</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlStrlen"></a>xmlStrlen ()</h3>
+<pre class="programlisting">int        xmlStrlen                       (const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str)<br>
+</pre>
+<p>length of a xmlChar's string</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>str</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * array</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the number of <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> contained in the ARRAY.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlStrncasecmp"></a>xmlStrncasecmp ()</h3>
+<pre class="programlisting">int        xmlStrncasecmp                  (const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str1, <br>                                         const 
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str2, <br>                                         int 
len)<br>
+</pre>
+<p>a strncasecmp for xmlChar's</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>str1</tt></i>:</span></td>
+<td>the first <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>str2</tt></i>:</span></td>
+<td>the second <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>len</tt></i>:</span></td>
+<td>the max comparison length</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the integer result of the comparison</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlStrncat"></a>xmlStrncat ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *     xmlStrncat            
  (<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur, <br>                                        
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * add, <br>                                  int 
len)<br>
+</pre>
+<p>a strncat for array of xmlChar's, it will extend @cur with the len first bytes of @add. Note that if @len 
&lt; 0 then this is an API error and NULL will be returned.</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 original <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * array</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>add</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * array added</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>len</tt></i>:</span></td>
+<td>the length of @add</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a new <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *, the original @cur is reallocated and 
should not be freed.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlStrncatNew"></a>xmlStrncatNew ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *     xmlStrncatNew         
  (const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str1, <br>                                    
     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str2, <br>                                  
       int len)<br>
+</pre>
+<p>same as xmlStrncat, but creates a new string. The original two strings are not freed. If @len is &lt; 0 
then the length will be calculated automatically.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>str1</tt></i>:</span></td>
+<td>first <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> string</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>str2</tt></i>:</span></td>
+<td>second <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> string</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>len</tt></i>:</span></td>
+<td>the len of @str2 or &lt; 0</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a new <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * or NULL</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlStrncmp"></a>xmlStrncmp ()</h3>
+<pre class="programlisting">int        xmlStrncmp                      (const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str1, <br>                                         const 
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str2, <br>                                         int 
len)<br>
+</pre>
+<p>a strncmp for xmlChar's</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>str1</tt></i>:</span></td>
+<td>the first <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>str2</tt></i>:</span></td>
+<td>the second <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>len</tt></i>:</span></td>
+<td>the max comparison length</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the integer result of the comparison</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlStrndup"></a>xmlStrndup ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *     xmlStrndup            
  (const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur, <br>                                  
int len)<br>
+</pre>
+<p>a strndup for array of xmlChar's</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 input <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>len</tt></i>:</span></td>
+<td>the len of @cur</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a new <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * or NULL</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlStrstr"></a>xmlStrstr ()</h3>
+<pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *       xmlStrstr     
          (const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br>                             
     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * val)<br>
+</pre>
+<p>a strstr for xmlChar's</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>str</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * array (haystack)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>val</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> to search (needle)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * for the first occurrence or NULL.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlStrsub"></a>xmlStrsub ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *     xmlStrsub             
  (const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br>                                  
int start, <br>                                         int len)<br>
+</pre>
+<p>Extract a substring of a given string</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>str</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * array (haystack)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>start</tt></i>:</span></td>
+<td>the index of the first char (zero based)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>len</tt></i>:</span></td>
+<td>the length of the substring</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * for the first occurrence or NULL.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUTF8Charcmp"></a>xmlUTF8Charcmp ()</h3>
+<pre class="programlisting">int        xmlUTF8Charcmp                  (const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * utf1, <br>                                         const 
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * utf2)<br>
+</pre>
+<p>compares the two UCS4 values</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>utf1</tt></i>:</span></td>
+<td>pointer to first UTF8 char</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>utf2</tt></i>:</span></td>
+<td>pointer to second UTF8 char</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>result of the compare as with <a href="libxml2-xmlstring.html#xmlStrncmp">xmlStrncmp</a>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUTF8Size"></a>xmlUTF8Size ()</h3>
+<pre class="programlisting">int        xmlUTF8Size                     (const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * utf)<br>
+</pre>
+<p>calculates the internal size of a UTF8 character</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>utf</tt></i>:</span></td>
+<td>pointer to the UTF8 character</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the numbers of bytes in the character, -1 on format error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUTF8Strlen"></a>xmlUTF8Strlen ()</h3>
+<pre class="programlisting">int        xmlUTF8Strlen                   (const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * utf)<br>
+</pre>
+<p>compute the length of an UTF8 string, it doesn't do a full UTF8 checking of the content of the string.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>utf</tt></i>:</span></td>
+<td>a sequence of UTF-8 encoded bytes</td>
+</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>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUTF8Strloc"></a>xmlUTF8Strloc ()</h3>
+<pre class="programlisting">int        xmlUTF8Strloc                   (const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * utf, <br>                                  const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * utfchar)<br>
+</pre>
+<p>a function to provide the relative location of a UTF8 char</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>utf</tt></i>:</span></td>
+<td>the input UTF8 *</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>utfchar</tt></i>:</span></td>
+<td>the UTF8 character to be found</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the relative character position of the desired char or -1 if not found</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUTF8Strndup"></a>xmlUTF8Strndup ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *     xmlUTF8Strndup        
  (const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * utf, <br>                                  
int len)<br>
+</pre>
+<p>a strndup for array of UTF8's</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>utf</tt></i>:</span></td>
+<td>the input UTF8 *</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>len</tt></i>:</span></td>
+<td>the len of @utf (in chars)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a new UTF8 * or NULL</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUTF8Strpos"></a>xmlUTF8Strpos ()</h3>
+<pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *       xmlUTF8Strpos 
          (const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * utf, <br>                             
     int pos)<br>
+</pre>
+<p>a function to provide the equivalent of fetching a character from a string array</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>utf</tt></i>:</span></td>
+<td>the input UTF8 *</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>pos</tt></i>:</span></td>
+<td>the position of the desired UTF8 char (in chars)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a pointer to the UTF8 character or NULL</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUTF8Strsize"></a>xmlUTF8Strsize ()</h3>
+<pre class="programlisting">int        xmlUTF8Strsize                  (const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * utf, <br>                                  int len)<br>
+</pre>
+<p>storage size of an UTF8 string the behaviour is not guaranteed if the input string is not UTF-8</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>utf</tt></i>:</span></td>
+<td>a sequence of UTF-8 encoded bytes</td>
+</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>
+</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>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUTF8Strsub"></a>xmlUTF8Strsub ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *     xmlUTF8Strsub         
  (const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * utf, <br>                                  
int start, <br>                                         int len)<br>
+</pre>
+<p>Create a substring from a given UTF-8 string Note: positions are given in units of UTF-8 chars</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>utf</tt></i>:</span></td>
+<td>a sequence of UTF-8 encoded bytes</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>start</tt></i>:</span></td>
+<td>relative pos of first char</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>len</tt></i>:</span></td>
+<td>total number to copy</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a pointer to a newly created string or NULL if any problem</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+</div>
+</div>
+</body>
 </html>
diff --git a/doc/devhelp/libxml2-xmlunicode.html b/doc/devhelp/libxml2-xmlunicode.html
index f5144869..29ec7dea 100644
--- a/doc/devhelp/libxml2-xmlunicode.html
+++ b/doc/devhelp/libxml2-xmlunicode.html
@@ -1,49 +1,28 @@
-<?xml version="1.0" encoding="UTF-8"?>
 <html>
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
-    <title>xmlunicode: Unicode character APIs</title>
-    <meta name="generator" content="Libxml2 devhelp stylesheet"/>
-    <link rel="start" href="index.html" title="libxml2 Reference Manual"/>
-    <link rel="up" href="general.html" title="API"/>
-    <link rel="stylesheet" href="style.css" type="text/css"/>
-    <link rel="chapter" href="general.html" title="API"/>
-  </head>
-  <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-    <table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
-      <tr valign="middle">
-        <td>
-          <a accesskey="p" href="libxml2-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-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">xmlunicode</span>
-    </h2>
-    <p>xmlunicode - Unicode character APIs</p>
-    <p>API for the Unicode character APIs  This file is automatically generated from the UCS description 
files of the Unicode Character Database</p>
-    <p>Author(s): Daniel Veillard </p>
-    <div class="refsynopsisdiv">
-      <h2>Synopsis</h2>
-      <pre class="synopsis">int        <a href="#xmlUCSIsAegeanNumbers">xmlUCSIsAegeanNumbers</a>            
  (int code);
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>xmlunicode: Unicode character APIs</title>
+<meta name="generator" content="Libxml2 devhelp stylesheet">
+<link rel="start" href="index.html" title="libxml2 Reference Manual">
+<link rel="up" href="general.html" title="API">
+<link rel="stylesheet" href="style.css" type="text/css">
+<link rel="chapter" href="general.html" title="API">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr 
valign="middle">
+<td><a accesskey="p" href="libxml2-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-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">xmlunicode</span></h2>
+<p>xmlunicode - Unicode character APIs</p>
+<p>API for the Unicode character APIs  This file is automatically generated from the UCS description files 
of the Unicode Character Database</p>
+<p>Author(s): Daniel Veillard </p>
+<div class="refsynopsisdiv">
+<h2>Synopsis</h2>
+<pre class="synopsis">int      <a href="#xmlUCSIsAegeanNumbers">xmlUCSIsAegeanNumbers</a>              (int 
code);
 int    <a href="#xmlUCSIsAlphabeticPresentationForms">xmlUCSIsAlphabeticPresentationForms</a>  (int code);
 int    <a href="#xmlUCSIsArabic">xmlUCSIsArabic</a>                    (int code);
 int    <a href="#xmlUCSIsArabicPresentationFormsA">xmlUCSIsArabicPresentationFormsA</a>        (int code);
@@ -52,7 +31,7 @@ int   <a href="#xmlUCSIsArmenian">xmlUCSIsArmenian</a>                (int code);
 int    <a href="#xmlUCSIsArrows">xmlUCSIsArrows</a>                    (int code);
 int    <a href="#xmlUCSIsBasicLatin">xmlUCSIsBasicLatin</a>            (int code);
 int    <a href="#xmlUCSIsBengali">xmlUCSIsBengali</a>                  (int code);
-int    <a href="#xmlUCSIsBlock">xmlUCSIsBlock</a>                      (int code, <br/>                      
                   const char * block);
+int    <a href="#xmlUCSIsBlock">xmlUCSIsBlock</a>                      (int code, <br>                       
           const char * block);
 int    <a href="#xmlUCSIsBlockElements">xmlUCSIsBlockElements</a>              (int code);
 int    <a href="#xmlUCSIsBopomofo">xmlUCSIsBopomofo</a>                (int code);
 int    <a href="#xmlUCSIsBopomofoExtended">xmlUCSIsBopomofoExtended</a>        (int code);
@@ -69,7 +48,7 @@ int   <a href="#xmlUCSIsCJKSymbolsandPunctuation">xmlUCSIsCJKSymbolsandPunctuation
 int    <a href="#xmlUCSIsCJKUnifiedIdeographs">xmlUCSIsCJKUnifiedIdeographs</a>        (int code);
 int    <a href="#xmlUCSIsCJKUnifiedIdeographsExtensionA">xmlUCSIsCJKUnifiedIdeographsExtensionA</a>    (int 
code);
 int    <a href="#xmlUCSIsCJKUnifiedIdeographsExtensionB">xmlUCSIsCJKUnifiedIdeographsExtensionB</a>    (int 
code);
-int    <a href="#xmlUCSIsCat">xmlUCSIsCat</a>                  (int code, <br/>                              
           const char * cat);
+int    <a href="#xmlUCSIsCat">xmlUCSIsCat</a>                  (int code, <br>                               
   const char * cat);
 int    <a href="#xmlUCSIsCatC">xmlUCSIsCatC</a>                        (int code);
 int    <a href="#xmlUCSIsCatCc">xmlUCSIsCatCc</a>                      (int code);
 int    <a href="#xmlUCSIsCatCf">xmlUCSIsCatCf</a>                      (int code);
@@ -210,678 +189,3506 @@ int    <a href="#xmlUCSIsYiRadicals">xmlUCSIsYiRadicals</a>            (int code);
 int    <a href="#xmlUCSIsYiSyllables">xmlUCSIsYiSyllables</a>          (int code);
 int    <a href="#xmlUCSIsYijingHexagramSymbols">xmlUCSIsYijingHexagramSymbols</a>      (int code);
 </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="xmlUCSIsAegeanNumbers"/>xmlUCSIsAegeanNumbers 
()</h3><pre class="programlisting">int      xmlUCSIsAegeanNumbers           (int code)<br/>
-</pre><p>Check whether the character is part of AegeanNumbers UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlUCSIsAlphabeticPresentationForms"/>xmlUCSIsAlphabeticPresentationForms ()</h3><pre 
class="programlisting">int  xmlUCSIsAlphabeticPresentationForms     (int code)<br/>
-</pre><p>Check whether the character is part of AlphabeticPresentationForms UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsArabic"/>xmlUCSIsArabic ()</h3><pre 
class="programlisting">int    xmlUCSIsArabic                  (int code)<br/>
-</pre><p>Check whether the character is part of Arabic UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlUCSIsArabicPresentationFormsA"/>xmlUCSIsArabicPresentationFormsA ()</h3><pre 
class="programlisting">int        xmlUCSIsArabicPresentationFormsA        (int code)<br/>
-</pre><p>Check whether the character is part of ArabicPresentationForms-A UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlUCSIsArabicPresentationFormsB"/>xmlUCSIsArabicPresentationFormsB ()</h3><pre 
class="programlisting">int        xmlUCSIsArabicPresentationFormsB        (int code)<br/>
-</pre><p>Check whether the character is part of ArabicPresentationForms-B UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsArmenian"/>xmlUCSIsArmenian ()</h3><pre 
class="programlisting">int        xmlUCSIsArmenian                (int code)<br/>
-</pre><p>Check whether the character is part of Armenian UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsArrows"/>xmlUCSIsArrows ()</h3><pre 
class="programlisting">int    xmlUCSIsArrows                  (int code)<br/>
-</pre><p>Check whether the character is part of Arrows UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsBasicLatin"/>xmlUCSIsBasicLatin ()</h3><pre 
class="programlisting">int    xmlUCSIsBasicLatin              (int code)<br/>
-</pre><p>Check whether the character is part of BasicLatin UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsBengali"/>xmlUCSIsBengali ()</h3><pre 
class="programlisting">int  xmlUCSIsBengali                 (int code)<br/>
-</pre><p>Check whether the character is part of Bengali UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsBlock"/>xmlUCSIsBlock ()</h3><pre 
class="programlisting">int      xmlUCSIsBlock                   (int code, <br/>                              
           const char * block)<br/>
-</pre><p>Check whether the character is part of the UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span 
class="term"><i><tt>block</tt></i>:</span></td><td>UCS block name</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true, 0 if false and -1 on unknown 
block</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsBlockElements"/>xmlUCSIsBlockElements 
()</h3><pre class="programlisting">int      xmlUCSIsBlockElements           (int code)<br/>
-</pre><p>Check whether the character is part of BlockElements UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsBopomofo"/>xmlUCSIsBopomofo ()</h3><pre 
class="programlisting">int        xmlUCSIsBopomofo                (int code)<br/>
-</pre><p>Check whether the character is part of Bopomofo UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsBopomofoExtended"/>xmlUCSIsBopomofoExtended 
()</h3><pre class="programlisting">int        xmlUCSIsBopomofoExtended        (int code)<br/>
-</pre><p>Check whether the character is part of BopomofoExtended UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsBoxDrawing"/>xmlUCSIsBoxDrawing ()</h3><pre 
class="programlisting">int    xmlUCSIsBoxDrawing              (int code)<br/>
-</pre><p>Check whether the character is part of BoxDrawing UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsBraillePatterns"/>xmlUCSIsBraillePatterns 
()</h3><pre class="programlisting">int  xmlUCSIsBraillePatterns         (int code)<br/>
-</pre><p>Check whether the character is part of BraillePatterns UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsBuhid"/>xmlUCSIsBuhid ()</h3><pre 
class="programlisting">int      xmlUCSIsBuhid                   (int code)<br/>
-</pre><p>Check whether the character is part of Buhid UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlUCSIsByzantineMusicalSymbols"/>xmlUCSIsByzantineMusicalSymbols ()</h3><pre 
class="programlisting">int  xmlUCSIsByzantineMusicalSymbols (int code)<br/>
-</pre><p>Check whether the character is part of ByzantineMusicalSymbols UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsCJKCompatibility"/>xmlUCSIsCJKCompatibility 
()</h3><pre class="programlisting">int        xmlUCSIsCJKCompatibility        (int code)<br/>
-</pre><p>Check whether the character is part of CJKCompatibility UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlUCSIsCJKCompatibilityForms"/>xmlUCSIsCJKCompatibilityForms ()</h3><pre class="programlisting">int    
  xmlUCSIsCJKCompatibilityForms   (int code)<br/>
-</pre><p>Check whether the character is part of CJKCompatibilityForms UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlUCSIsCJKCompatibilityIdeographs"/>xmlUCSIsCJKCompatibilityIdeographs ()</h3><pre 
class="programlisting">int    xmlUCSIsCJKCompatibilityIdeographs      (int code)<br/>
-</pre><p>Check whether the character is part of CJKCompatibilityIdeographs UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlUCSIsCJKCompatibilityIdeographsSupplement"/>xmlUCSIsCJKCompatibilityIdeographsSupplement ()</h3><pre 
class="programlisting">int        xmlUCSIsCJKCompatibilityIdeographsSupplement    (int code)<br/>
-</pre><p>Check whether the character is part of CJKCompatibilityIdeographsSupplement UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlUCSIsCJKRadicalsSupplement"/>xmlUCSIsCJKRadicalsSupplement ()</h3><pre class="programlisting">int    
  xmlUCSIsCJKRadicalsSupplement   (int code)<br/>
-</pre><p>Check whether the character is part of CJKRadicalsSupplement UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlUCSIsCJKSymbolsandPunctuation"/>xmlUCSIsCJKSymbolsandPunctuation ()</h3><pre 
class="programlisting">int        xmlUCSIsCJKSymbolsandPunctuation        (int code)<br/>
-</pre><p>Check whether the character is part of CJKSymbolsandPunctuation UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlUCSIsCJKUnifiedIdeographs"/>xmlUCSIsCJKUnifiedIdeographs ()</h3><pre class="programlisting">int      
  xmlUCSIsCJKUnifiedIdeographs    (int code)<br/>
-</pre><p>Check whether the character is part of CJKUnifiedIdeographs UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlUCSIsCJKUnifiedIdeographsExtensionA"/>xmlUCSIsCJKUnifiedIdeographsExtensionA ()</h3><pre 
class="programlisting">int    xmlUCSIsCJKUnifiedIdeographsExtensionA  (int code)<br/>
-</pre><p>Check whether the character is part of CJKUnifiedIdeographsExtensionA UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlUCSIsCJKUnifiedIdeographsExtensionB"/>xmlUCSIsCJKUnifiedIdeographsExtensionB ()</h3><pre 
class="programlisting">int    xmlUCSIsCJKUnifiedIdeographsExtensionB  (int code)<br/>
-</pre><p>Check whether the character is part of CJKUnifiedIdeographsExtensionB UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsCat"/>xmlUCSIsCat ()</h3><pre 
class="programlisting">int  xmlUCSIsCat                     (int code, <br/>                                  
       const char * cat)<br/>
-</pre><p>Check whether the character is part of the UCS Category</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span 
class="term"><i><tt>cat</tt></i>:</span></td><td>UCS Category name</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true, 0 if false and -1 on unknown 
category</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsCatC"/>xmlUCSIsCatC ()</h3><pre 
class="programlisting">int        xmlUCSIsCatC                    (int code)<br/>
-</pre><p>Check whether the character is part of C UCS Category</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsCatCc"/>xmlUCSIsCatCc ()</h3><pre 
class="programlisting">int      xmlUCSIsCatCc                   (int code)<br/>
-</pre><p>Check whether the character is part of Cc UCS Category</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsCatCf"/>xmlUCSIsCatCf ()</h3><pre 
class="programlisting">int      xmlUCSIsCatCf                   (int code)<br/>
-</pre><p>Check whether the character is part of Cf UCS Category</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsCatCo"/>xmlUCSIsCatCo ()</h3><pre 
class="programlisting">int      xmlUCSIsCatCo                   (int code)<br/>
-</pre><p>Check whether the character is part of Co UCS Category</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsCatCs"/>xmlUCSIsCatCs ()</h3><pre 
class="programlisting">int      xmlUCSIsCatCs                   (int code)<br/>
-</pre><p>Check whether the character is part of Cs UCS Category</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsCatL"/>xmlUCSIsCatL ()</h3><pre 
class="programlisting">int        xmlUCSIsCatL                    (int code)<br/>
-</pre><p>Check whether the character is part of L UCS Category</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsCatLl"/>xmlUCSIsCatLl ()</h3><pre 
class="programlisting">int      xmlUCSIsCatLl                   (int code)<br/>
-</pre><p>Check whether the character is part of Ll UCS Category</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsCatLm"/>xmlUCSIsCatLm ()</h3><pre 
class="programlisting">int      xmlUCSIsCatLm                   (int code)<br/>
-</pre><p>Check whether the character is part of Lm UCS Category</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsCatLo"/>xmlUCSIsCatLo ()</h3><pre 
class="programlisting">int      xmlUCSIsCatLo                   (int code)<br/>
-</pre><p>Check whether the character is part of Lo UCS Category</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsCatLt"/>xmlUCSIsCatLt ()</h3><pre 
class="programlisting">int      xmlUCSIsCatLt                   (int code)<br/>
-</pre><p>Check whether the character is part of Lt UCS Category</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsCatLu"/>xmlUCSIsCatLu ()</h3><pre 
class="programlisting">int      xmlUCSIsCatLu                   (int code)<br/>
-</pre><p>Check whether the character is part of Lu UCS Category</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsCatM"/>xmlUCSIsCatM ()</h3><pre 
class="programlisting">int        xmlUCSIsCatM                    (int code)<br/>
-</pre><p>Check whether the character is part of M UCS Category</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsCatMc"/>xmlUCSIsCatMc ()</h3><pre 
class="programlisting">int      xmlUCSIsCatMc                   (int code)<br/>
-</pre><p>Check whether the character is part of Mc UCS Category</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsCatMe"/>xmlUCSIsCatMe ()</h3><pre 
class="programlisting">int      xmlUCSIsCatMe                   (int code)<br/>
-</pre><p>Check whether the character is part of Me UCS Category</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsCatMn"/>xmlUCSIsCatMn ()</h3><pre 
class="programlisting">int      xmlUCSIsCatMn                   (int code)<br/>
-</pre><p>Check whether the character is part of Mn UCS Category</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsCatN"/>xmlUCSIsCatN ()</h3><pre 
class="programlisting">int        xmlUCSIsCatN                    (int code)<br/>
-</pre><p>Check whether the character is part of N UCS Category</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsCatNd"/>xmlUCSIsCatNd ()</h3><pre 
class="programlisting">int      xmlUCSIsCatNd                   (int code)<br/>
-</pre><p>Check whether the character is part of Nd UCS Category</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsCatNl"/>xmlUCSIsCatNl ()</h3><pre 
class="programlisting">int      xmlUCSIsCatNl                   (int code)<br/>
-</pre><p>Check whether the character is part of Nl UCS Category</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsCatNo"/>xmlUCSIsCatNo ()</h3><pre 
class="programlisting">int      xmlUCSIsCatNo                   (int code)<br/>
-</pre><p>Check whether the character is part of No UCS Category</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsCatP"/>xmlUCSIsCatP ()</h3><pre 
class="programlisting">int        xmlUCSIsCatP                    (int code)<br/>
-</pre><p>Check whether the character is part of P UCS Category</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsCatPc"/>xmlUCSIsCatPc ()</h3><pre 
class="programlisting">int      xmlUCSIsCatPc                   (int code)<br/>
-</pre><p>Check whether the character is part of Pc UCS Category</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsCatPd"/>xmlUCSIsCatPd ()</h3><pre 
class="programlisting">int      xmlUCSIsCatPd                   (int code)<br/>
-</pre><p>Check whether the character is part of Pd UCS Category</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsCatPe"/>xmlUCSIsCatPe ()</h3><pre 
class="programlisting">int      xmlUCSIsCatPe                   (int code)<br/>
-</pre><p>Check whether the character is part of Pe UCS Category</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsCatPf"/>xmlUCSIsCatPf ()</h3><pre 
class="programlisting">int      xmlUCSIsCatPf                   (int code)<br/>
-</pre><p>Check whether the character is part of Pf UCS Category</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsCatPi"/>xmlUCSIsCatPi ()</h3><pre 
class="programlisting">int      xmlUCSIsCatPi                   (int code)<br/>
-</pre><p>Check whether the character is part of Pi UCS Category</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsCatPo"/>xmlUCSIsCatPo ()</h3><pre 
class="programlisting">int      xmlUCSIsCatPo                   (int code)<br/>
-</pre><p>Check whether the character is part of Po UCS Category</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsCatPs"/>xmlUCSIsCatPs ()</h3><pre 
class="programlisting">int      xmlUCSIsCatPs                   (int code)<br/>
-</pre><p>Check whether the character is part of Ps UCS Category</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsCatS"/>xmlUCSIsCatS ()</h3><pre 
class="programlisting">int        xmlUCSIsCatS                    (int code)<br/>
-</pre><p>Check whether the character is part of S UCS Category</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsCatSc"/>xmlUCSIsCatSc ()</h3><pre 
class="programlisting">int      xmlUCSIsCatSc                   (int code)<br/>
-</pre><p>Check whether the character is part of Sc UCS Category</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsCatSk"/>xmlUCSIsCatSk ()</h3><pre 
class="programlisting">int      xmlUCSIsCatSk                   (int code)<br/>
-</pre><p>Check whether the character is part of Sk UCS Category</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsCatSm"/>xmlUCSIsCatSm ()</h3><pre 
class="programlisting">int      xmlUCSIsCatSm                   (int code)<br/>
-</pre><p>Check whether the character is part of Sm UCS Category</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsCatSo"/>xmlUCSIsCatSo ()</h3><pre 
class="programlisting">int      xmlUCSIsCatSo                   (int code)<br/>
-</pre><p>Check whether the character is part of So UCS Category</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsCatZ"/>xmlUCSIsCatZ ()</h3><pre 
class="programlisting">int        xmlUCSIsCatZ                    (int code)<br/>
-</pre><p>Check whether the character is part of Z UCS Category</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsCatZl"/>xmlUCSIsCatZl ()</h3><pre 
class="programlisting">int      xmlUCSIsCatZl                   (int code)<br/>
-</pre><p>Check whether the character is part of Zl UCS Category</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsCatZp"/>xmlUCSIsCatZp ()</h3><pre 
class="programlisting">int      xmlUCSIsCatZp                   (int code)<br/>
-</pre><p>Check whether the character is part of Zp UCS Category</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsCatZs"/>xmlUCSIsCatZs ()</h3><pre 
class="programlisting">int      xmlUCSIsCatZs                   (int code)<br/>
-</pre><p>Check whether the character is part of Zs UCS Category</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsCherokee"/>xmlUCSIsCherokee ()</h3><pre 
class="programlisting">int        xmlUCSIsCherokee                (int code)<br/>
-</pre><p>Check whether the character is part of Cherokee UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlUCSIsCombiningDiacriticalMarks"/>xmlUCSIsCombiningDiacriticalMarks ()</h3><pre 
class="programlisting">int      xmlUCSIsCombiningDiacriticalMarks       (int code)<br/>
-</pre><p>Check whether the character is part of CombiningDiacriticalMarks UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlUCSIsCombiningDiacriticalMarksforSymbols"/>xmlUCSIsCombiningDiacriticalMarksforSymbols ()</h3><pre 
class="programlisting">int  xmlUCSIsCombiningDiacriticalMarksforSymbols     (int code)<br/>
-</pre><p>Check whether the character is part of CombiningDiacriticalMarksforSymbols UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsCombiningHalfMarks"/>xmlUCSIsCombiningHalfMarks 
()</h3><pre class="programlisting">int    xmlUCSIsCombiningHalfMarks      (int code)<br/>
-</pre><p>Check whether the character is part of CombiningHalfMarks UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlUCSIsCombiningMarksforSymbols"/>xmlUCSIsCombiningMarksforSymbols ()</h3><pre 
class="programlisting">int        xmlUCSIsCombiningMarksforSymbols        (int code)<br/>
-</pre><p>Check whether the character is part of CombiningMarksforSymbols UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsControlPictures"/>xmlUCSIsControlPictures 
()</h3><pre class="programlisting">int  xmlUCSIsControlPictures         (int code)<br/>
-</pre><p>Check whether the character is part of ControlPictures UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsCurrencySymbols"/>xmlUCSIsCurrencySymbols 
()</h3><pre class="programlisting">int  xmlUCSIsCurrencySymbols         (int code)<br/>
-</pre><p>Check whether the character is part of CurrencySymbols UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsCypriotSyllabary"/>xmlUCSIsCypriotSyllabary 
()</h3><pre class="programlisting">int        xmlUCSIsCypriotSyllabary        (int code)<br/>
-</pre><p>Check whether the character is part of CypriotSyllabary UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsCyrillic"/>xmlUCSIsCyrillic ()</h3><pre 
class="programlisting">int        xmlUCSIsCyrillic                (int code)<br/>
-</pre><p>Check whether the character is part of Cyrillic UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsCyrillicSupplement"/>xmlUCSIsCyrillicSupplement 
()</h3><pre class="programlisting">int    xmlUCSIsCyrillicSupplement      (int code)<br/>
-</pre><p>Check whether the character is part of CyrillicSupplement UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsDeseret"/>xmlUCSIsDeseret ()</h3><pre 
class="programlisting">int  xmlUCSIsDeseret                 (int code)<br/>
-</pre><p>Check whether the character is part of Deseret UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsDevanagari"/>xmlUCSIsDevanagari ()</h3><pre 
class="programlisting">int    xmlUCSIsDevanagari              (int code)<br/>
-</pre><p>Check whether the character is part of Devanagari UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsDingbats"/>xmlUCSIsDingbats ()</h3><pre 
class="programlisting">int        xmlUCSIsDingbats                (int code)<br/>
-</pre><p>Check whether the character is part of Dingbats UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlUCSIsEnclosedAlphanumerics"/>xmlUCSIsEnclosedAlphanumerics ()</h3><pre class="programlisting">int    
  xmlUCSIsEnclosedAlphanumerics   (int code)<br/>
-</pre><p>Check whether the character is part of EnclosedAlphanumerics UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlUCSIsEnclosedCJKLettersandMonths"/>xmlUCSIsEnclosedCJKLettersandMonths ()</h3><pre 
class="programlisting">int  xmlUCSIsEnclosedCJKLettersandMonths     (int code)<br/>
-</pre><p>Check whether the character is part of EnclosedCJKLettersandMonths UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsEthiopic"/>xmlUCSIsEthiopic ()</h3><pre 
class="programlisting">int        xmlUCSIsEthiopic                (int code)<br/>
-</pre><p>Check whether the character is part of Ethiopic UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsGeneralPunctuation"/>xmlUCSIsGeneralPunctuation 
()</h3><pre class="programlisting">int    xmlUCSIsGeneralPunctuation      (int code)<br/>
-</pre><p>Check whether the character is part of GeneralPunctuation UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsGeometricShapes"/>xmlUCSIsGeometricShapes 
()</h3><pre class="programlisting">int  xmlUCSIsGeometricShapes         (int code)<br/>
-</pre><p>Check whether the character is part of GeometricShapes UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsGeorgian"/>xmlUCSIsGeorgian ()</h3><pre 
class="programlisting">int        xmlUCSIsGeorgian                (int code)<br/>
-</pre><p>Check whether the character is part of Georgian UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsGothic"/>xmlUCSIsGothic ()</h3><pre 
class="programlisting">int    xmlUCSIsGothic                  (int code)<br/>
-</pre><p>Check whether the character is part of Gothic UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsGreek"/>xmlUCSIsGreek ()</h3><pre 
class="programlisting">int      xmlUCSIsGreek                   (int code)<br/>
-</pre><p>Check whether the character is part of Greek UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsGreekExtended"/>xmlUCSIsGreekExtended 
()</h3><pre class="programlisting">int      xmlUCSIsGreekExtended           (int code)<br/>
-</pre><p>Check whether the character is part of GreekExtended UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsGreekandCoptic"/>xmlUCSIsGreekandCoptic 
()</h3><pre class="programlisting">int    xmlUCSIsGreekandCoptic          (int code)<br/>
-</pre><p>Check whether the character is part of GreekandCoptic UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsGujarati"/>xmlUCSIsGujarati ()</h3><pre 
class="programlisting">int        xmlUCSIsGujarati                (int code)<br/>
-</pre><p>Check whether the character is part of Gujarati UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsGurmukhi"/>xmlUCSIsGurmukhi ()</h3><pre 
class="programlisting">int        xmlUCSIsGurmukhi                (int code)<br/>
-</pre><p>Check whether the character is part of Gurmukhi UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlUCSIsHalfwidthandFullwidthForms"/>xmlUCSIsHalfwidthandFullwidthForms ()</h3><pre 
class="programlisting">int    xmlUCSIsHalfwidthandFullwidthForms      (int code)<br/>
-</pre><p>Check whether the character is part of HalfwidthandFullwidthForms UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlUCSIsHangulCompatibilityJamo"/>xmlUCSIsHangulCompatibilityJamo ()</h3><pre 
class="programlisting">int  xmlUCSIsHangulCompatibilityJamo (int code)<br/>
-</pre><p>Check whether the character is part of HangulCompatibilityJamo UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsHangulJamo"/>xmlUCSIsHangulJamo ()</h3><pre 
class="programlisting">int    xmlUCSIsHangulJamo              (int code)<br/>
-</pre><p>Check whether the character is part of HangulJamo UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsHangulSyllables"/>xmlUCSIsHangulSyllables 
()</h3><pre class="programlisting">int  xmlUCSIsHangulSyllables         (int code)<br/>
-</pre><p>Check whether the character is part of HangulSyllables UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsHanunoo"/>xmlUCSIsHanunoo ()</h3><pre 
class="programlisting">int  xmlUCSIsHanunoo                 (int code)<br/>
-</pre><p>Check whether the character is part of Hanunoo UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsHebrew"/>xmlUCSIsHebrew ()</h3><pre 
class="programlisting">int    xmlUCSIsHebrew                  (int code)<br/>
-</pre><p>Check whether the character is part of Hebrew UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlUCSIsHighPrivateUseSurrogates"/>xmlUCSIsHighPrivateUseSurrogates ()</h3><pre 
class="programlisting">int        xmlUCSIsHighPrivateUseSurrogates        (int code)<br/>
-</pre><p>Check whether the character is part of HighPrivateUseSurrogates UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsHighSurrogates"/>xmlUCSIsHighSurrogates 
()</h3><pre class="programlisting">int    xmlUCSIsHighSurrogates          (int code)<br/>
-</pre><p>Check whether the character is part of HighSurrogates UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsHiragana"/>xmlUCSIsHiragana ()</h3><pre 
class="programlisting">int        xmlUCSIsHiragana                (int code)<br/>
-</pre><p>Check whether the character is part of Hiragana UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsIPAExtensions"/>xmlUCSIsIPAExtensions 
()</h3><pre class="programlisting">int      xmlUCSIsIPAExtensions           (int code)<br/>
-</pre><p>Check whether the character is part of IPAExtensions UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlUCSIsIdeographicDescriptionCharacters"/>xmlUCSIsIdeographicDescriptionCharacters ()</h3><pre 
class="programlisting">int        xmlUCSIsIdeographicDescriptionCharacters        (int code)<br/>
-</pre><p>Check whether the character is part of IdeographicDescriptionCharacters UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsKanbun"/>xmlUCSIsKanbun ()</h3><pre 
class="programlisting">int    xmlUCSIsKanbun                  (int code)<br/>
-</pre><p>Check whether the character is part of Kanbun UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsKangxiRadicals"/>xmlUCSIsKangxiRadicals 
()</h3><pre class="programlisting">int    xmlUCSIsKangxiRadicals          (int code)<br/>
-</pre><p>Check whether the character is part of KangxiRadicals UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsKannada"/>xmlUCSIsKannada ()</h3><pre 
class="programlisting">int  xmlUCSIsKannada                 (int code)<br/>
-</pre><p>Check whether the character is part of Kannada UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsKatakana"/>xmlUCSIsKatakana ()</h3><pre 
class="programlisting">int        xmlUCSIsKatakana                (int code)<br/>
-</pre><p>Check whether the character is part of Katakana UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlUCSIsKatakanaPhoneticExtensions"/>xmlUCSIsKatakanaPhoneticExtensions ()</h3><pre 
class="programlisting">int    xmlUCSIsKatakanaPhoneticExtensions      (int code)<br/>
-</pre><p>Check whether the character is part of KatakanaPhoneticExtensions UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsKhmer"/>xmlUCSIsKhmer ()</h3><pre 
class="programlisting">int      xmlUCSIsKhmer                   (int code)<br/>
-</pre><p>Check whether the character is part of Khmer UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsKhmerSymbols"/>xmlUCSIsKhmerSymbols ()</h3><pre 
class="programlisting">int        xmlUCSIsKhmerSymbols            (int code)<br/>
-</pre><p>Check whether the character is part of KhmerSymbols UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsLao"/>xmlUCSIsLao ()</h3><pre 
class="programlisting">int  xmlUCSIsLao                     (int code)<br/>
-</pre><p>Check whether the character is part of Lao UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsLatin1Supplement"/>xmlUCSIsLatin1Supplement 
()</h3><pre class="programlisting">int        xmlUCSIsLatin1Supplement        (int code)<br/>
-</pre><p>Check whether the character is part of Latin-1Supplement UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsLatinExtendedA"/>xmlUCSIsLatinExtendedA 
()</h3><pre class="programlisting">int    xmlUCSIsLatinExtendedA          (int code)<br/>
-</pre><p>Check whether the character is part of LatinExtended-A UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlUCSIsLatinExtendedAdditional"/>xmlUCSIsLatinExtendedAdditional ()</h3><pre 
class="programlisting">int  xmlUCSIsLatinExtendedAdditional (int code)<br/>
-</pre><p>Check whether the character is part of LatinExtendedAdditional UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsLatinExtendedB"/>xmlUCSIsLatinExtendedB 
()</h3><pre class="programlisting">int    xmlUCSIsLatinExtendedB          (int code)<br/>
-</pre><p>Check whether the character is part of LatinExtended-B UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsLetterlikeSymbols"/>xmlUCSIsLetterlikeSymbols 
()</h3><pre class="programlisting">int      xmlUCSIsLetterlikeSymbols       (int code)<br/>
-</pre><p>Check whether the character is part of LetterlikeSymbols UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsLimbu"/>xmlUCSIsLimbu ()</h3><pre 
class="programlisting">int      xmlUCSIsLimbu                   (int code)<br/>
-</pre><p>Check whether the character is part of Limbu UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsLinearBIdeograms"/>xmlUCSIsLinearBIdeograms 
()</h3><pre class="programlisting">int        xmlUCSIsLinearBIdeograms        (int code)<br/>
-</pre><p>Check whether the character is part of LinearBIdeograms UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsLinearBSyllabary"/>xmlUCSIsLinearBSyllabary 
()</h3><pre class="programlisting">int        xmlUCSIsLinearBSyllabary        (int code)<br/>
-</pre><p>Check whether the character is part of LinearBSyllabary UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsLowSurrogates"/>xmlUCSIsLowSurrogates 
()</h3><pre class="programlisting">int      xmlUCSIsLowSurrogates           (int code)<br/>
-</pre><p>Check whether the character is part of LowSurrogates UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsMalayalam"/>xmlUCSIsMalayalam ()</h3><pre 
class="programlisting">int      xmlUCSIsMalayalam               (int code)<br/>
-</pre><p>Check whether the character is part of Malayalam UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlUCSIsMathematicalAlphanumericSymbols"/>xmlUCSIsMathematicalAlphanumericSymbols ()</h3><pre 
class="programlisting">int  xmlUCSIsMathematicalAlphanumericSymbols (int code)<br/>
-</pre><p>Check whether the character is part of MathematicalAlphanumericSymbols UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlUCSIsMathematicalOperators"/>xmlUCSIsMathematicalOperators ()</h3><pre class="programlisting">int    
  xmlUCSIsMathematicalOperators   (int code)<br/>
-</pre><p>Check whether the character is part of MathematicalOperators UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlUCSIsMiscellaneousMathematicalSymbolsA"/>xmlUCSIsMiscellaneousMathematicalSymbolsA ()</h3><pre 
class="programlisting">int      xmlUCSIsMiscellaneousMathematicalSymbolsA       (int code)<br/>
-</pre><p>Check whether the character is part of MiscellaneousMathematicalSymbols-A UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlUCSIsMiscellaneousMathematicalSymbolsB"/>xmlUCSIsMiscellaneousMathematicalSymbolsB ()</h3><pre 
class="programlisting">int      xmlUCSIsMiscellaneousMathematicalSymbolsB       (int code)<br/>
-</pre><p>Check whether the character is part of MiscellaneousMathematicalSymbols-B UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlUCSIsMiscellaneousSymbols"/>xmlUCSIsMiscellaneousSymbols ()</h3><pre class="programlisting">int      
  xmlUCSIsMiscellaneousSymbols    (int code)<br/>
-</pre><p>Check whether the character is part of MiscellaneousSymbols UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlUCSIsMiscellaneousSymbolsandArrows"/>xmlUCSIsMiscellaneousSymbolsandArrows ()</h3><pre 
class="programlisting">int      xmlUCSIsMiscellaneousSymbolsandArrows   (int code)<br/>
-</pre><p>Check whether the character is part of MiscellaneousSymbolsandArrows UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlUCSIsMiscellaneousTechnical"/>xmlUCSIsMiscellaneousTechnical ()</h3><pre class="programlisting">int  
  xmlUCSIsMiscellaneousTechnical  (int code)<br/>
-</pre><p>Check whether the character is part of MiscellaneousTechnical UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsMongolian"/>xmlUCSIsMongolian ()</h3><pre 
class="programlisting">int      xmlUCSIsMongolian               (int code)<br/>
-</pre><p>Check whether the character is part of Mongolian UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsMusicalSymbols"/>xmlUCSIsMusicalSymbols 
()</h3><pre class="programlisting">int    xmlUCSIsMusicalSymbols          (int code)<br/>
-</pre><p>Check whether the character is part of MusicalSymbols UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsMyanmar"/>xmlUCSIsMyanmar ()</h3><pre 
class="programlisting">int  xmlUCSIsMyanmar                 (int code)<br/>
-</pre><p>Check whether the character is part of Myanmar UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsNumberForms"/>xmlUCSIsNumberForms ()</h3><pre 
class="programlisting">int  xmlUCSIsNumberForms             (int code)<br/>
-</pre><p>Check whether the character is part of NumberForms UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsOgham"/>xmlUCSIsOgham ()</h3><pre 
class="programlisting">int      xmlUCSIsOgham                   (int code)<br/>
-</pre><p>Check whether the character is part of Ogham UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsOldItalic"/>xmlUCSIsOldItalic ()</h3><pre 
class="programlisting">int      xmlUCSIsOldItalic               (int code)<br/>
-</pre><p>Check whether the character is part of OldItalic UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlUCSIsOpticalCharacterRecognition"/>xmlUCSIsOpticalCharacterRecognition ()</h3><pre 
class="programlisting">int  xmlUCSIsOpticalCharacterRecognition     (int code)<br/>
-</pre><p>Check whether the character is part of OpticalCharacterRecognition UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsOriya"/>xmlUCSIsOriya ()</h3><pre 
class="programlisting">int      xmlUCSIsOriya                   (int code)<br/>
-</pre><p>Check whether the character is part of Oriya UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsOsmanya"/>xmlUCSIsOsmanya ()</h3><pre 
class="programlisting">int  xmlUCSIsOsmanya                 (int code)<br/>
-</pre><p>Check whether the character is part of Osmanya UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsPhoneticExtensions"/>xmlUCSIsPhoneticExtensions 
()</h3><pre class="programlisting">int    xmlUCSIsPhoneticExtensions      (int code)<br/>
-</pre><p>Check whether the character is part of PhoneticExtensions UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsPrivateUse"/>xmlUCSIsPrivateUse ()</h3><pre 
class="programlisting">int    xmlUCSIsPrivateUse              (int code)<br/>
-</pre><p>Check whether the character is part of PrivateUse UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsPrivateUseArea"/>xmlUCSIsPrivateUseArea 
()</h3><pre class="programlisting">int    xmlUCSIsPrivateUseArea          (int code)<br/>
-</pre><p>Check whether the character is part of PrivateUseArea UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsRunic"/>xmlUCSIsRunic ()</h3><pre 
class="programlisting">int      xmlUCSIsRunic                   (int code)<br/>
-</pre><p>Check whether the character is part of Runic UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsShavian"/>xmlUCSIsShavian ()</h3><pre 
class="programlisting">int  xmlUCSIsShavian                 (int code)<br/>
-</pre><p>Check whether the character is part of Shavian UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsSinhala"/>xmlUCSIsSinhala ()</h3><pre 
class="programlisting">int  xmlUCSIsSinhala                 (int code)<br/>
-</pre><p>Check whether the character is part of Sinhala UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsSmallFormVariants"/>xmlUCSIsSmallFormVariants 
()</h3><pre class="programlisting">int      xmlUCSIsSmallFormVariants       (int code)<br/>
-</pre><p>Check whether the character is part of SmallFormVariants UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlUCSIsSpacingModifierLetters"/>xmlUCSIsSpacingModifierLetters ()</h3><pre class="programlisting">int  
  xmlUCSIsSpacingModifierLetters  (int code)<br/>
-</pre><p>Check whether the character is part of SpacingModifierLetters UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsSpecials"/>xmlUCSIsSpecials ()</h3><pre 
class="programlisting">int        xmlUCSIsSpecials                (int code)<br/>
-</pre><p>Check whether the character is part of Specials UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlUCSIsSuperscriptsandSubscripts"/>xmlUCSIsSuperscriptsandSubscripts ()</h3><pre 
class="programlisting">int      xmlUCSIsSuperscriptsandSubscripts       (int code)<br/>
-</pre><p>Check whether the character is part of SuperscriptsandSubscripts UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlUCSIsSupplementalArrowsA"/>xmlUCSIsSupplementalArrowsA ()</h3><pre class="programlisting">int  
xmlUCSIsSupplementalArrowsA     (int code)<br/>
-</pre><p>Check whether the character is part of SupplementalArrows-A UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlUCSIsSupplementalArrowsB"/>xmlUCSIsSupplementalArrowsB ()</h3><pre class="programlisting">int  
xmlUCSIsSupplementalArrowsB     (int code)<br/>
-</pre><p>Check whether the character is part of SupplementalArrows-B UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlUCSIsSupplementalMathematicalOperators"/>xmlUCSIsSupplementalMathematicalOperators ()</h3><pre 
class="programlisting">int      xmlUCSIsSupplementalMathematicalOperators       (int code)<br/>
-</pre><p>Check whether the character is part of SupplementalMathematicalOperators UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlUCSIsSupplementaryPrivateUseAreaA"/>xmlUCSIsSupplementaryPrivateUseAreaA ()</h3><pre 
class="programlisting">int        xmlUCSIsSupplementaryPrivateUseAreaA    (int code)<br/>
-</pre><p>Check whether the character is part of SupplementaryPrivateUseArea-A UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlUCSIsSupplementaryPrivateUseAreaB"/>xmlUCSIsSupplementaryPrivateUseAreaB ()</h3><pre 
class="programlisting">int        xmlUCSIsSupplementaryPrivateUseAreaB    (int code)<br/>
-</pre><p>Check whether the character is part of SupplementaryPrivateUseArea-B UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsSyriac"/>xmlUCSIsSyriac ()</h3><pre 
class="programlisting">int    xmlUCSIsSyriac                  (int code)<br/>
-</pre><p>Check whether the character is part of Syriac UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsTagalog"/>xmlUCSIsTagalog ()</h3><pre 
class="programlisting">int  xmlUCSIsTagalog                 (int code)<br/>
-</pre><p>Check whether the character is part of Tagalog UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsTagbanwa"/>xmlUCSIsTagbanwa ()</h3><pre 
class="programlisting">int        xmlUCSIsTagbanwa                (int code)<br/>
-</pre><p>Check whether the character is part of Tagbanwa UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsTags"/>xmlUCSIsTags ()</h3><pre 
class="programlisting">int        xmlUCSIsTags                    (int code)<br/>
-</pre><p>Check whether the character is part of Tags UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsTaiLe"/>xmlUCSIsTaiLe ()</h3><pre 
class="programlisting">int      xmlUCSIsTaiLe                   (int code)<br/>
-</pre><p>Check whether the character is part of TaiLe UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsTaiXuanJingSymbols"/>xmlUCSIsTaiXuanJingSymbols 
()</h3><pre class="programlisting">int    xmlUCSIsTaiXuanJingSymbols      (int code)<br/>
-</pre><p>Check whether the character is part of TaiXuanJingSymbols UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsTamil"/>xmlUCSIsTamil ()</h3><pre 
class="programlisting">int      xmlUCSIsTamil                   (int code)<br/>
-</pre><p>Check whether the character is part of Tamil UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsTelugu"/>xmlUCSIsTelugu ()</h3><pre 
class="programlisting">int    xmlUCSIsTelugu                  (int code)<br/>
-</pre><p>Check whether the character is part of Telugu UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsThaana"/>xmlUCSIsThaana ()</h3><pre 
class="programlisting">int    xmlUCSIsThaana                  (int code)<br/>
-</pre><p>Check whether the character is part of Thaana UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsThai"/>xmlUCSIsThai ()</h3><pre 
class="programlisting">int        xmlUCSIsThai                    (int code)<br/>
-</pre><p>Check whether the character is part of Thai UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsTibetan"/>xmlUCSIsTibetan ()</h3><pre 
class="programlisting">int  xmlUCSIsTibetan                 (int code)<br/>
-</pre><p>Check whether the character is part of Tibetan UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsUgaritic"/>xmlUCSIsUgaritic ()</h3><pre 
class="programlisting">int        xmlUCSIsUgaritic                (int code)<br/>
-</pre><p>Check whether the character is part of Ugaritic UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlUCSIsUnifiedCanadianAboriginalSyllabics"/>xmlUCSIsUnifiedCanadianAboriginalSyllabics ()</h3><pre 
class="programlisting">int    xmlUCSIsUnifiedCanadianAboriginalSyllabics      (int code)<br/>
-</pre><p>Check whether the character is part of UnifiedCanadianAboriginalSyllabics UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsVariationSelectors"/>xmlUCSIsVariationSelectors 
()</h3><pre class="programlisting">int    xmlUCSIsVariationSelectors      (int code)<br/>
-</pre><p>Check whether the character is part of VariationSelectors UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlUCSIsVariationSelectorsSupplement"/>xmlUCSIsVariationSelectorsSupplement ()</h3><pre 
class="programlisting">int        xmlUCSIsVariationSelectorsSupplement    (int code)<br/>
-</pre><p>Check whether the character is part of VariationSelectorsSupplement UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsYiRadicals"/>xmlUCSIsYiRadicals ()</h3><pre 
class="programlisting">int    xmlUCSIsYiRadicals              (int code)<br/>
-</pre><p>Check whether the character is part of YiRadicals UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlUCSIsYiSyllables"/>xmlUCSIsYiSyllables ()</h3><pre 
class="programlisting">int  xmlUCSIsYiSyllables             (int code)<br/>
-</pre><p>Check whether the character is part of YiSyllables UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlUCSIsYijingHexagramSymbols"/>xmlUCSIsYijingHexagramSymbols ()</h3><pre class="programlisting">int    
  xmlUCSIsYijingHexagramSymbols   (int code)<br/>
-</pre><p>Check whether the character is part of YijingHexagramSymbols UCS Block</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>code</tt></i>:</span></td><td>UCS code point</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-      </div>
-    </div>
-  </body>
+</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="xmlUCSIsAegeanNumbers"></a>xmlUCSIsAegeanNumbers ()</h3>
+<pre class="programlisting">int        xmlUCSIsAegeanNumbers           (int code)<br>
+</pre>
+<p>Check whether the character is part of AegeanNumbers UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsAlphabeticPresentationForms"></a>xmlUCSIsAlphabeticPresentationForms ()</h3>
+<pre class="programlisting">int        xmlUCSIsAlphabeticPresentationForms     (int code)<br>
+</pre>
+<p>Check whether the character is part of AlphabeticPresentationForms UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsArabic"></a>xmlUCSIsArabic ()</h3>
+<pre class="programlisting">int        xmlUCSIsArabic                  (int code)<br>
+</pre>
+<p>Check whether the character is part of Arabic UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsArabicPresentationFormsA"></a>xmlUCSIsArabicPresentationFormsA ()</h3>
+<pre class="programlisting">int        xmlUCSIsArabicPresentationFormsA        (int code)<br>
+</pre>
+<p>Check whether the character is part of ArabicPresentationForms-A UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsArabicPresentationFormsB"></a>xmlUCSIsArabicPresentationFormsB ()</h3>
+<pre class="programlisting">int        xmlUCSIsArabicPresentationFormsB        (int code)<br>
+</pre>
+<p>Check whether the character is part of ArabicPresentationForms-B UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsArmenian"></a>xmlUCSIsArmenian ()</h3>
+<pre class="programlisting">int        xmlUCSIsArmenian                (int code)<br>
+</pre>
+<p>Check whether the character is part of Armenian UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsArrows"></a>xmlUCSIsArrows ()</h3>
+<pre class="programlisting">int        xmlUCSIsArrows                  (int code)<br>
+</pre>
+<p>Check whether the character is part of Arrows UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsBasicLatin"></a>xmlUCSIsBasicLatin ()</h3>
+<pre class="programlisting">int        xmlUCSIsBasicLatin              (int code)<br>
+</pre>
+<p>Check whether the character is part of BasicLatin UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsBengali"></a>xmlUCSIsBengali ()</h3>
+<pre class="programlisting">int        xmlUCSIsBengali                 (int code)<br>
+</pre>
+<p>Check whether the character is part of Bengali UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsBlock"></a>xmlUCSIsBlock ()</h3>
+<pre class="programlisting">int        xmlUCSIsBlock                   (int code, <br>                       
           const char * block)<br>
+</pre>
+<p>Check whether the character is part of the UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>block</tt></i>:</span></td>
+<td>UCS block name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true, 0 if false and -1 on unknown block</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsBlockElements"></a>xmlUCSIsBlockElements ()</h3>
+<pre class="programlisting">int        xmlUCSIsBlockElements           (int code)<br>
+</pre>
+<p>Check whether the character is part of BlockElements UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsBopomofo"></a>xmlUCSIsBopomofo ()</h3>
+<pre class="programlisting">int        xmlUCSIsBopomofo                (int code)<br>
+</pre>
+<p>Check whether the character is part of Bopomofo UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsBopomofoExtended"></a>xmlUCSIsBopomofoExtended ()</h3>
+<pre class="programlisting">int        xmlUCSIsBopomofoExtended        (int code)<br>
+</pre>
+<p>Check whether the character is part of BopomofoExtended UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsBoxDrawing"></a>xmlUCSIsBoxDrawing ()</h3>
+<pre class="programlisting">int        xmlUCSIsBoxDrawing              (int code)<br>
+</pre>
+<p>Check whether the character is part of BoxDrawing UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsBraillePatterns"></a>xmlUCSIsBraillePatterns ()</h3>
+<pre class="programlisting">int        xmlUCSIsBraillePatterns         (int code)<br>
+</pre>
+<p>Check whether the character is part of BraillePatterns UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsBuhid"></a>xmlUCSIsBuhid ()</h3>
+<pre class="programlisting">int        xmlUCSIsBuhid                   (int code)<br>
+</pre>
+<p>Check whether the character is part of Buhid UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsByzantineMusicalSymbols"></a>xmlUCSIsByzantineMusicalSymbols ()</h3>
+<pre class="programlisting">int        xmlUCSIsByzantineMusicalSymbols (int code)<br>
+</pre>
+<p>Check whether the character is part of ByzantineMusicalSymbols UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsCJKCompatibility"></a>xmlUCSIsCJKCompatibility ()</h3>
+<pre class="programlisting">int        xmlUCSIsCJKCompatibility        (int code)<br>
+</pre>
+<p>Check whether the character is part of CJKCompatibility UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsCJKCompatibilityForms"></a>xmlUCSIsCJKCompatibilityForms ()</h3>
+<pre class="programlisting">int        xmlUCSIsCJKCompatibilityForms   (int code)<br>
+</pre>
+<p>Check whether the character is part of CJKCompatibilityForms UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsCJKCompatibilityIdeographs"></a>xmlUCSIsCJKCompatibilityIdeographs ()</h3>
+<pre class="programlisting">int        xmlUCSIsCJKCompatibilityIdeographs      (int code)<br>
+</pre>
+<p>Check whether the character is part of CJKCompatibilityIdeographs UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsCJKCompatibilityIdeographsSupplement"></a>xmlUCSIsCJKCompatibilityIdeographsSupplement 
()</h3>
+<pre class="programlisting">int        xmlUCSIsCJKCompatibilityIdeographsSupplement    (int code)<br>
+</pre>
+<p>Check whether the character is part of CJKCompatibilityIdeographsSupplement UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsCJKRadicalsSupplement"></a>xmlUCSIsCJKRadicalsSupplement ()</h3>
+<pre class="programlisting">int        xmlUCSIsCJKRadicalsSupplement   (int code)<br>
+</pre>
+<p>Check whether the character is part of CJKRadicalsSupplement UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsCJKSymbolsandPunctuation"></a>xmlUCSIsCJKSymbolsandPunctuation ()</h3>
+<pre class="programlisting">int        xmlUCSIsCJKSymbolsandPunctuation        (int code)<br>
+</pre>
+<p>Check whether the character is part of CJKSymbolsandPunctuation UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsCJKUnifiedIdeographs"></a>xmlUCSIsCJKUnifiedIdeographs ()</h3>
+<pre class="programlisting">int        xmlUCSIsCJKUnifiedIdeographs    (int code)<br>
+</pre>
+<p>Check whether the character is part of CJKUnifiedIdeographs UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsCJKUnifiedIdeographsExtensionA"></a>xmlUCSIsCJKUnifiedIdeographsExtensionA ()</h3>
+<pre class="programlisting">int        xmlUCSIsCJKUnifiedIdeographsExtensionA  (int code)<br>
+</pre>
+<p>Check whether the character is part of CJKUnifiedIdeographsExtensionA UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsCJKUnifiedIdeographsExtensionB"></a>xmlUCSIsCJKUnifiedIdeographsExtensionB ()</h3>
+<pre class="programlisting">int        xmlUCSIsCJKUnifiedIdeographsExtensionB  (int code)<br>
+</pre>
+<p>Check whether the character is part of CJKUnifiedIdeographsExtensionB UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsCat"></a>xmlUCSIsCat ()</h3>
+<pre class="programlisting">int        xmlUCSIsCat                     (int code, <br>                       
           const char * cat)<br>
+</pre>
+<p>Check whether the character is part of the UCS Category</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>cat</tt></i>:</span></td>
+<td>UCS Category name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true, 0 if false and -1 on unknown category</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsCatC"></a>xmlUCSIsCatC ()</h3>
+<pre class="programlisting">int        xmlUCSIsCatC                    (int code)<br>
+</pre>
+<p>Check whether the character is part of C UCS Category</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsCatCc"></a>xmlUCSIsCatCc ()</h3>
+<pre class="programlisting">int        xmlUCSIsCatCc                   (int code)<br>
+</pre>
+<p>Check whether the character is part of Cc UCS Category</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsCatCf"></a>xmlUCSIsCatCf ()</h3>
+<pre class="programlisting">int        xmlUCSIsCatCf                   (int code)<br>
+</pre>
+<p>Check whether the character is part of Cf UCS Category</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsCatCo"></a>xmlUCSIsCatCo ()</h3>
+<pre class="programlisting">int        xmlUCSIsCatCo                   (int code)<br>
+</pre>
+<p>Check whether the character is part of Co UCS Category</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsCatCs"></a>xmlUCSIsCatCs ()</h3>
+<pre class="programlisting">int        xmlUCSIsCatCs                   (int code)<br>
+</pre>
+<p>Check whether the character is part of Cs UCS Category</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsCatL"></a>xmlUCSIsCatL ()</h3>
+<pre class="programlisting">int        xmlUCSIsCatL                    (int code)<br>
+</pre>
+<p>Check whether the character is part of L UCS Category</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsCatLl"></a>xmlUCSIsCatLl ()</h3>
+<pre class="programlisting">int        xmlUCSIsCatLl                   (int code)<br>
+</pre>
+<p>Check whether the character is part of Ll UCS Category</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsCatLm"></a>xmlUCSIsCatLm ()</h3>
+<pre class="programlisting">int        xmlUCSIsCatLm                   (int code)<br>
+</pre>
+<p>Check whether the character is part of Lm UCS Category</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsCatLo"></a>xmlUCSIsCatLo ()</h3>
+<pre class="programlisting">int        xmlUCSIsCatLo                   (int code)<br>
+</pre>
+<p>Check whether the character is part of Lo UCS Category</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsCatLt"></a>xmlUCSIsCatLt ()</h3>
+<pre class="programlisting">int        xmlUCSIsCatLt                   (int code)<br>
+</pre>
+<p>Check whether the character is part of Lt UCS Category</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsCatLu"></a>xmlUCSIsCatLu ()</h3>
+<pre class="programlisting">int        xmlUCSIsCatLu                   (int code)<br>
+</pre>
+<p>Check whether the character is part of Lu UCS Category</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsCatM"></a>xmlUCSIsCatM ()</h3>
+<pre class="programlisting">int        xmlUCSIsCatM                    (int code)<br>
+</pre>
+<p>Check whether the character is part of M UCS Category</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsCatMc"></a>xmlUCSIsCatMc ()</h3>
+<pre class="programlisting">int        xmlUCSIsCatMc                   (int code)<br>
+</pre>
+<p>Check whether the character is part of Mc UCS Category</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsCatMe"></a>xmlUCSIsCatMe ()</h3>
+<pre class="programlisting">int        xmlUCSIsCatMe                   (int code)<br>
+</pre>
+<p>Check whether the character is part of Me UCS Category</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsCatMn"></a>xmlUCSIsCatMn ()</h3>
+<pre class="programlisting">int        xmlUCSIsCatMn                   (int code)<br>
+</pre>
+<p>Check whether the character is part of Mn UCS Category</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsCatN"></a>xmlUCSIsCatN ()</h3>
+<pre class="programlisting">int        xmlUCSIsCatN                    (int code)<br>
+</pre>
+<p>Check whether the character is part of N UCS Category</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsCatNd"></a>xmlUCSIsCatNd ()</h3>
+<pre class="programlisting">int        xmlUCSIsCatNd                   (int code)<br>
+</pre>
+<p>Check whether the character is part of Nd UCS Category</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsCatNl"></a>xmlUCSIsCatNl ()</h3>
+<pre class="programlisting">int        xmlUCSIsCatNl                   (int code)<br>
+</pre>
+<p>Check whether the character is part of Nl UCS Category</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsCatNo"></a>xmlUCSIsCatNo ()</h3>
+<pre class="programlisting">int        xmlUCSIsCatNo                   (int code)<br>
+</pre>
+<p>Check whether the character is part of No UCS Category</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsCatP"></a>xmlUCSIsCatP ()</h3>
+<pre class="programlisting">int        xmlUCSIsCatP                    (int code)<br>
+</pre>
+<p>Check whether the character is part of P UCS Category</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsCatPc"></a>xmlUCSIsCatPc ()</h3>
+<pre class="programlisting">int        xmlUCSIsCatPc                   (int code)<br>
+</pre>
+<p>Check whether the character is part of Pc UCS Category</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsCatPd"></a>xmlUCSIsCatPd ()</h3>
+<pre class="programlisting">int        xmlUCSIsCatPd                   (int code)<br>
+</pre>
+<p>Check whether the character is part of Pd UCS Category</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsCatPe"></a>xmlUCSIsCatPe ()</h3>
+<pre class="programlisting">int        xmlUCSIsCatPe                   (int code)<br>
+</pre>
+<p>Check whether the character is part of Pe UCS Category</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsCatPf"></a>xmlUCSIsCatPf ()</h3>
+<pre class="programlisting">int        xmlUCSIsCatPf                   (int code)<br>
+</pre>
+<p>Check whether the character is part of Pf UCS Category</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsCatPi"></a>xmlUCSIsCatPi ()</h3>
+<pre class="programlisting">int        xmlUCSIsCatPi                   (int code)<br>
+</pre>
+<p>Check whether the character is part of Pi UCS Category</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsCatPo"></a>xmlUCSIsCatPo ()</h3>
+<pre class="programlisting">int        xmlUCSIsCatPo                   (int code)<br>
+</pre>
+<p>Check whether the character is part of Po UCS Category</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsCatPs"></a>xmlUCSIsCatPs ()</h3>
+<pre class="programlisting">int        xmlUCSIsCatPs                   (int code)<br>
+</pre>
+<p>Check whether the character is part of Ps UCS Category</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsCatS"></a>xmlUCSIsCatS ()</h3>
+<pre class="programlisting">int        xmlUCSIsCatS                    (int code)<br>
+</pre>
+<p>Check whether the character is part of S UCS Category</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsCatSc"></a>xmlUCSIsCatSc ()</h3>
+<pre class="programlisting">int        xmlUCSIsCatSc                   (int code)<br>
+</pre>
+<p>Check whether the character is part of Sc UCS Category</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsCatSk"></a>xmlUCSIsCatSk ()</h3>
+<pre class="programlisting">int        xmlUCSIsCatSk                   (int code)<br>
+</pre>
+<p>Check whether the character is part of Sk UCS Category</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsCatSm"></a>xmlUCSIsCatSm ()</h3>
+<pre class="programlisting">int        xmlUCSIsCatSm                   (int code)<br>
+</pre>
+<p>Check whether the character is part of Sm UCS Category</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsCatSo"></a>xmlUCSIsCatSo ()</h3>
+<pre class="programlisting">int        xmlUCSIsCatSo                   (int code)<br>
+</pre>
+<p>Check whether the character is part of So UCS Category</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsCatZ"></a>xmlUCSIsCatZ ()</h3>
+<pre class="programlisting">int        xmlUCSIsCatZ                    (int code)<br>
+</pre>
+<p>Check whether the character is part of Z UCS Category</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsCatZl"></a>xmlUCSIsCatZl ()</h3>
+<pre class="programlisting">int        xmlUCSIsCatZl                   (int code)<br>
+</pre>
+<p>Check whether the character is part of Zl UCS Category</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsCatZp"></a>xmlUCSIsCatZp ()</h3>
+<pre class="programlisting">int        xmlUCSIsCatZp                   (int code)<br>
+</pre>
+<p>Check whether the character is part of Zp UCS Category</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsCatZs"></a>xmlUCSIsCatZs ()</h3>
+<pre class="programlisting">int        xmlUCSIsCatZs                   (int code)<br>
+</pre>
+<p>Check whether the character is part of Zs UCS Category</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsCherokee"></a>xmlUCSIsCherokee ()</h3>
+<pre class="programlisting">int        xmlUCSIsCherokee                (int code)<br>
+</pre>
+<p>Check whether the character is part of Cherokee UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsCombiningDiacriticalMarks"></a>xmlUCSIsCombiningDiacriticalMarks ()</h3>
+<pre class="programlisting">int        xmlUCSIsCombiningDiacriticalMarks       (int code)<br>
+</pre>
+<p>Check whether the character is part of CombiningDiacriticalMarks UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsCombiningDiacriticalMarksforSymbols"></a>xmlUCSIsCombiningDiacriticalMarksforSymbols ()</h3>
+<pre class="programlisting">int        xmlUCSIsCombiningDiacriticalMarksforSymbols     (int code)<br>
+</pre>
+<p>Check whether the character is part of CombiningDiacriticalMarksforSymbols UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsCombiningHalfMarks"></a>xmlUCSIsCombiningHalfMarks ()</h3>
+<pre class="programlisting">int        xmlUCSIsCombiningHalfMarks      (int code)<br>
+</pre>
+<p>Check whether the character is part of CombiningHalfMarks UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsCombiningMarksforSymbols"></a>xmlUCSIsCombiningMarksforSymbols ()</h3>
+<pre class="programlisting">int        xmlUCSIsCombiningMarksforSymbols        (int code)<br>
+</pre>
+<p>Check whether the character is part of CombiningMarksforSymbols UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsControlPictures"></a>xmlUCSIsControlPictures ()</h3>
+<pre class="programlisting">int        xmlUCSIsControlPictures         (int code)<br>
+</pre>
+<p>Check whether the character is part of ControlPictures UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsCurrencySymbols"></a>xmlUCSIsCurrencySymbols ()</h3>
+<pre class="programlisting">int        xmlUCSIsCurrencySymbols         (int code)<br>
+</pre>
+<p>Check whether the character is part of CurrencySymbols UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsCypriotSyllabary"></a>xmlUCSIsCypriotSyllabary ()</h3>
+<pre class="programlisting">int        xmlUCSIsCypriotSyllabary        (int code)<br>
+</pre>
+<p>Check whether the character is part of CypriotSyllabary UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsCyrillic"></a>xmlUCSIsCyrillic ()</h3>
+<pre class="programlisting">int        xmlUCSIsCyrillic                (int code)<br>
+</pre>
+<p>Check whether the character is part of Cyrillic UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsCyrillicSupplement"></a>xmlUCSIsCyrillicSupplement ()</h3>
+<pre class="programlisting">int        xmlUCSIsCyrillicSupplement      (int code)<br>
+</pre>
+<p>Check whether the character is part of CyrillicSupplement UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsDeseret"></a>xmlUCSIsDeseret ()</h3>
+<pre class="programlisting">int        xmlUCSIsDeseret                 (int code)<br>
+</pre>
+<p>Check whether the character is part of Deseret UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsDevanagari"></a>xmlUCSIsDevanagari ()</h3>
+<pre class="programlisting">int        xmlUCSIsDevanagari              (int code)<br>
+</pre>
+<p>Check whether the character is part of Devanagari UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsDingbats"></a>xmlUCSIsDingbats ()</h3>
+<pre class="programlisting">int        xmlUCSIsDingbats                (int code)<br>
+</pre>
+<p>Check whether the character is part of Dingbats UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsEnclosedAlphanumerics"></a>xmlUCSIsEnclosedAlphanumerics ()</h3>
+<pre class="programlisting">int        xmlUCSIsEnclosedAlphanumerics   (int code)<br>
+</pre>
+<p>Check whether the character is part of EnclosedAlphanumerics UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsEnclosedCJKLettersandMonths"></a>xmlUCSIsEnclosedCJKLettersandMonths ()</h3>
+<pre class="programlisting">int        xmlUCSIsEnclosedCJKLettersandMonths     (int code)<br>
+</pre>
+<p>Check whether the character is part of EnclosedCJKLettersandMonths UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsEthiopic"></a>xmlUCSIsEthiopic ()</h3>
+<pre class="programlisting">int        xmlUCSIsEthiopic                (int code)<br>
+</pre>
+<p>Check whether the character is part of Ethiopic UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsGeneralPunctuation"></a>xmlUCSIsGeneralPunctuation ()</h3>
+<pre class="programlisting">int        xmlUCSIsGeneralPunctuation      (int code)<br>
+</pre>
+<p>Check whether the character is part of GeneralPunctuation UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsGeometricShapes"></a>xmlUCSIsGeometricShapes ()</h3>
+<pre class="programlisting">int        xmlUCSIsGeometricShapes         (int code)<br>
+</pre>
+<p>Check whether the character is part of GeometricShapes UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsGeorgian"></a>xmlUCSIsGeorgian ()</h3>
+<pre class="programlisting">int        xmlUCSIsGeorgian                (int code)<br>
+</pre>
+<p>Check whether the character is part of Georgian UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsGothic"></a>xmlUCSIsGothic ()</h3>
+<pre class="programlisting">int        xmlUCSIsGothic                  (int code)<br>
+</pre>
+<p>Check whether the character is part of Gothic UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsGreek"></a>xmlUCSIsGreek ()</h3>
+<pre class="programlisting">int        xmlUCSIsGreek                   (int code)<br>
+</pre>
+<p>Check whether the character is part of Greek UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsGreekExtended"></a>xmlUCSIsGreekExtended ()</h3>
+<pre class="programlisting">int        xmlUCSIsGreekExtended           (int code)<br>
+</pre>
+<p>Check whether the character is part of GreekExtended UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsGreekandCoptic"></a>xmlUCSIsGreekandCoptic ()</h3>
+<pre class="programlisting">int        xmlUCSIsGreekandCoptic          (int code)<br>
+</pre>
+<p>Check whether the character is part of GreekandCoptic UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsGujarati"></a>xmlUCSIsGujarati ()</h3>
+<pre class="programlisting">int        xmlUCSIsGujarati                (int code)<br>
+</pre>
+<p>Check whether the character is part of Gujarati UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsGurmukhi"></a>xmlUCSIsGurmukhi ()</h3>
+<pre class="programlisting">int        xmlUCSIsGurmukhi                (int code)<br>
+</pre>
+<p>Check whether the character is part of Gurmukhi UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsHalfwidthandFullwidthForms"></a>xmlUCSIsHalfwidthandFullwidthForms ()</h3>
+<pre class="programlisting">int        xmlUCSIsHalfwidthandFullwidthForms      (int code)<br>
+</pre>
+<p>Check whether the character is part of HalfwidthandFullwidthForms UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsHangulCompatibilityJamo"></a>xmlUCSIsHangulCompatibilityJamo ()</h3>
+<pre class="programlisting">int        xmlUCSIsHangulCompatibilityJamo (int code)<br>
+</pre>
+<p>Check whether the character is part of HangulCompatibilityJamo UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsHangulJamo"></a>xmlUCSIsHangulJamo ()</h3>
+<pre class="programlisting">int        xmlUCSIsHangulJamo              (int code)<br>
+</pre>
+<p>Check whether the character is part of HangulJamo UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsHangulSyllables"></a>xmlUCSIsHangulSyllables ()</h3>
+<pre class="programlisting">int        xmlUCSIsHangulSyllables         (int code)<br>
+</pre>
+<p>Check whether the character is part of HangulSyllables UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsHanunoo"></a>xmlUCSIsHanunoo ()</h3>
+<pre class="programlisting">int        xmlUCSIsHanunoo                 (int code)<br>
+</pre>
+<p>Check whether the character is part of Hanunoo UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsHebrew"></a>xmlUCSIsHebrew ()</h3>
+<pre class="programlisting">int        xmlUCSIsHebrew                  (int code)<br>
+</pre>
+<p>Check whether the character is part of Hebrew UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsHighPrivateUseSurrogates"></a>xmlUCSIsHighPrivateUseSurrogates ()</h3>
+<pre class="programlisting">int        xmlUCSIsHighPrivateUseSurrogates        (int code)<br>
+</pre>
+<p>Check whether the character is part of HighPrivateUseSurrogates UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsHighSurrogates"></a>xmlUCSIsHighSurrogates ()</h3>
+<pre class="programlisting">int        xmlUCSIsHighSurrogates          (int code)<br>
+</pre>
+<p>Check whether the character is part of HighSurrogates UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsHiragana"></a>xmlUCSIsHiragana ()</h3>
+<pre class="programlisting">int        xmlUCSIsHiragana                (int code)<br>
+</pre>
+<p>Check whether the character is part of Hiragana UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsIPAExtensions"></a>xmlUCSIsIPAExtensions ()</h3>
+<pre class="programlisting">int        xmlUCSIsIPAExtensions           (int code)<br>
+</pre>
+<p>Check whether the character is part of IPAExtensions UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsIdeographicDescriptionCharacters"></a>xmlUCSIsIdeographicDescriptionCharacters ()</h3>
+<pre class="programlisting">int        xmlUCSIsIdeographicDescriptionCharacters        (int code)<br>
+</pre>
+<p>Check whether the character is part of IdeographicDescriptionCharacters UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsKanbun"></a>xmlUCSIsKanbun ()</h3>
+<pre class="programlisting">int        xmlUCSIsKanbun                  (int code)<br>
+</pre>
+<p>Check whether the character is part of Kanbun UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsKangxiRadicals"></a>xmlUCSIsKangxiRadicals ()</h3>
+<pre class="programlisting">int        xmlUCSIsKangxiRadicals          (int code)<br>
+</pre>
+<p>Check whether the character is part of KangxiRadicals UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsKannada"></a>xmlUCSIsKannada ()</h3>
+<pre class="programlisting">int        xmlUCSIsKannada                 (int code)<br>
+</pre>
+<p>Check whether the character is part of Kannada UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsKatakana"></a>xmlUCSIsKatakana ()</h3>
+<pre class="programlisting">int        xmlUCSIsKatakana                (int code)<br>
+</pre>
+<p>Check whether the character is part of Katakana UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsKatakanaPhoneticExtensions"></a>xmlUCSIsKatakanaPhoneticExtensions ()</h3>
+<pre class="programlisting">int        xmlUCSIsKatakanaPhoneticExtensions      (int code)<br>
+</pre>
+<p>Check whether the character is part of KatakanaPhoneticExtensions UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsKhmer"></a>xmlUCSIsKhmer ()</h3>
+<pre class="programlisting">int        xmlUCSIsKhmer                   (int code)<br>
+</pre>
+<p>Check whether the character is part of Khmer UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsKhmerSymbols"></a>xmlUCSIsKhmerSymbols ()</h3>
+<pre class="programlisting">int        xmlUCSIsKhmerSymbols            (int code)<br>
+</pre>
+<p>Check whether the character is part of KhmerSymbols UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsLao"></a>xmlUCSIsLao ()</h3>
+<pre class="programlisting">int        xmlUCSIsLao                     (int code)<br>
+</pre>
+<p>Check whether the character is part of Lao UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsLatin1Supplement"></a>xmlUCSIsLatin1Supplement ()</h3>
+<pre class="programlisting">int        xmlUCSIsLatin1Supplement        (int code)<br>
+</pre>
+<p>Check whether the character is part of Latin-1Supplement UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsLatinExtendedA"></a>xmlUCSIsLatinExtendedA ()</h3>
+<pre class="programlisting">int        xmlUCSIsLatinExtendedA          (int code)<br>
+</pre>
+<p>Check whether the character is part of LatinExtended-A UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsLatinExtendedAdditional"></a>xmlUCSIsLatinExtendedAdditional ()</h3>
+<pre class="programlisting">int        xmlUCSIsLatinExtendedAdditional (int code)<br>
+</pre>
+<p>Check whether the character is part of LatinExtendedAdditional UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsLatinExtendedB"></a>xmlUCSIsLatinExtendedB ()</h3>
+<pre class="programlisting">int        xmlUCSIsLatinExtendedB          (int code)<br>
+</pre>
+<p>Check whether the character is part of LatinExtended-B UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsLetterlikeSymbols"></a>xmlUCSIsLetterlikeSymbols ()</h3>
+<pre class="programlisting">int        xmlUCSIsLetterlikeSymbols       (int code)<br>
+</pre>
+<p>Check whether the character is part of LetterlikeSymbols UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsLimbu"></a>xmlUCSIsLimbu ()</h3>
+<pre class="programlisting">int        xmlUCSIsLimbu                   (int code)<br>
+</pre>
+<p>Check whether the character is part of Limbu UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsLinearBIdeograms"></a>xmlUCSIsLinearBIdeograms ()</h3>
+<pre class="programlisting">int        xmlUCSIsLinearBIdeograms        (int code)<br>
+</pre>
+<p>Check whether the character is part of LinearBIdeograms UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsLinearBSyllabary"></a>xmlUCSIsLinearBSyllabary ()</h3>
+<pre class="programlisting">int        xmlUCSIsLinearBSyllabary        (int code)<br>
+</pre>
+<p>Check whether the character is part of LinearBSyllabary UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsLowSurrogates"></a>xmlUCSIsLowSurrogates ()</h3>
+<pre class="programlisting">int        xmlUCSIsLowSurrogates           (int code)<br>
+</pre>
+<p>Check whether the character is part of LowSurrogates UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsMalayalam"></a>xmlUCSIsMalayalam ()</h3>
+<pre class="programlisting">int        xmlUCSIsMalayalam               (int code)<br>
+</pre>
+<p>Check whether the character is part of Malayalam UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsMathematicalAlphanumericSymbols"></a>xmlUCSIsMathematicalAlphanumericSymbols ()</h3>
+<pre class="programlisting">int        xmlUCSIsMathematicalAlphanumericSymbols (int code)<br>
+</pre>
+<p>Check whether the character is part of MathematicalAlphanumericSymbols UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsMathematicalOperators"></a>xmlUCSIsMathematicalOperators ()</h3>
+<pre class="programlisting">int        xmlUCSIsMathematicalOperators   (int code)<br>
+</pre>
+<p>Check whether the character is part of MathematicalOperators UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsMiscellaneousMathematicalSymbolsA"></a>xmlUCSIsMiscellaneousMathematicalSymbolsA ()</h3>
+<pre class="programlisting">int        xmlUCSIsMiscellaneousMathematicalSymbolsA       (int code)<br>
+</pre>
+<p>Check whether the character is part of MiscellaneousMathematicalSymbols-A UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsMiscellaneousMathematicalSymbolsB"></a>xmlUCSIsMiscellaneousMathematicalSymbolsB ()</h3>
+<pre class="programlisting">int        xmlUCSIsMiscellaneousMathematicalSymbolsB       (int code)<br>
+</pre>
+<p>Check whether the character is part of MiscellaneousMathematicalSymbols-B UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsMiscellaneousSymbols"></a>xmlUCSIsMiscellaneousSymbols ()</h3>
+<pre class="programlisting">int        xmlUCSIsMiscellaneousSymbols    (int code)<br>
+</pre>
+<p>Check whether the character is part of MiscellaneousSymbols UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsMiscellaneousSymbolsandArrows"></a>xmlUCSIsMiscellaneousSymbolsandArrows ()</h3>
+<pre class="programlisting">int        xmlUCSIsMiscellaneousSymbolsandArrows   (int code)<br>
+</pre>
+<p>Check whether the character is part of MiscellaneousSymbolsandArrows UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsMiscellaneousTechnical"></a>xmlUCSIsMiscellaneousTechnical ()</h3>
+<pre class="programlisting">int        xmlUCSIsMiscellaneousTechnical  (int code)<br>
+</pre>
+<p>Check whether the character is part of MiscellaneousTechnical UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsMongolian"></a>xmlUCSIsMongolian ()</h3>
+<pre class="programlisting">int        xmlUCSIsMongolian               (int code)<br>
+</pre>
+<p>Check whether the character is part of Mongolian UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsMusicalSymbols"></a>xmlUCSIsMusicalSymbols ()</h3>
+<pre class="programlisting">int        xmlUCSIsMusicalSymbols          (int code)<br>
+</pre>
+<p>Check whether the character is part of MusicalSymbols UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsMyanmar"></a>xmlUCSIsMyanmar ()</h3>
+<pre class="programlisting">int        xmlUCSIsMyanmar                 (int code)<br>
+</pre>
+<p>Check whether the character is part of Myanmar UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsNumberForms"></a>xmlUCSIsNumberForms ()</h3>
+<pre class="programlisting">int        xmlUCSIsNumberForms             (int code)<br>
+</pre>
+<p>Check whether the character is part of NumberForms UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsOgham"></a>xmlUCSIsOgham ()</h3>
+<pre class="programlisting">int        xmlUCSIsOgham                   (int code)<br>
+</pre>
+<p>Check whether the character is part of Ogham UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsOldItalic"></a>xmlUCSIsOldItalic ()</h3>
+<pre class="programlisting">int        xmlUCSIsOldItalic               (int code)<br>
+</pre>
+<p>Check whether the character is part of OldItalic UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsOpticalCharacterRecognition"></a>xmlUCSIsOpticalCharacterRecognition ()</h3>
+<pre class="programlisting">int        xmlUCSIsOpticalCharacterRecognition     (int code)<br>
+</pre>
+<p>Check whether the character is part of OpticalCharacterRecognition UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsOriya"></a>xmlUCSIsOriya ()</h3>
+<pre class="programlisting">int        xmlUCSIsOriya                   (int code)<br>
+</pre>
+<p>Check whether the character is part of Oriya UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsOsmanya"></a>xmlUCSIsOsmanya ()</h3>
+<pre class="programlisting">int        xmlUCSIsOsmanya                 (int code)<br>
+</pre>
+<p>Check whether the character is part of Osmanya UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsPhoneticExtensions"></a>xmlUCSIsPhoneticExtensions ()</h3>
+<pre class="programlisting">int        xmlUCSIsPhoneticExtensions      (int code)<br>
+</pre>
+<p>Check whether the character is part of PhoneticExtensions UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsPrivateUse"></a>xmlUCSIsPrivateUse ()</h3>
+<pre class="programlisting">int        xmlUCSIsPrivateUse              (int code)<br>
+</pre>
+<p>Check whether the character is part of PrivateUse UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsPrivateUseArea"></a>xmlUCSIsPrivateUseArea ()</h3>
+<pre class="programlisting">int        xmlUCSIsPrivateUseArea          (int code)<br>
+</pre>
+<p>Check whether the character is part of PrivateUseArea UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsRunic"></a>xmlUCSIsRunic ()</h3>
+<pre class="programlisting">int        xmlUCSIsRunic                   (int code)<br>
+</pre>
+<p>Check whether the character is part of Runic UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsShavian"></a>xmlUCSIsShavian ()</h3>
+<pre class="programlisting">int        xmlUCSIsShavian                 (int code)<br>
+</pre>
+<p>Check whether the character is part of Shavian UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsSinhala"></a>xmlUCSIsSinhala ()</h3>
+<pre class="programlisting">int        xmlUCSIsSinhala                 (int code)<br>
+</pre>
+<p>Check whether the character is part of Sinhala UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsSmallFormVariants"></a>xmlUCSIsSmallFormVariants ()</h3>
+<pre class="programlisting">int        xmlUCSIsSmallFormVariants       (int code)<br>
+</pre>
+<p>Check whether the character is part of SmallFormVariants UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsSpacingModifierLetters"></a>xmlUCSIsSpacingModifierLetters ()</h3>
+<pre class="programlisting">int        xmlUCSIsSpacingModifierLetters  (int code)<br>
+</pre>
+<p>Check whether the character is part of SpacingModifierLetters UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsSpecials"></a>xmlUCSIsSpecials ()</h3>
+<pre class="programlisting">int        xmlUCSIsSpecials                (int code)<br>
+</pre>
+<p>Check whether the character is part of Specials UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsSuperscriptsandSubscripts"></a>xmlUCSIsSuperscriptsandSubscripts ()</h3>
+<pre class="programlisting">int        xmlUCSIsSuperscriptsandSubscripts       (int code)<br>
+</pre>
+<p>Check whether the character is part of SuperscriptsandSubscripts UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsSupplementalArrowsA"></a>xmlUCSIsSupplementalArrowsA ()</h3>
+<pre class="programlisting">int        xmlUCSIsSupplementalArrowsA     (int code)<br>
+</pre>
+<p>Check whether the character is part of SupplementalArrows-A UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsSupplementalArrowsB"></a>xmlUCSIsSupplementalArrowsB ()</h3>
+<pre class="programlisting">int        xmlUCSIsSupplementalArrowsB     (int code)<br>
+</pre>
+<p>Check whether the character is part of SupplementalArrows-B UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsSupplementalMathematicalOperators"></a>xmlUCSIsSupplementalMathematicalOperators ()</h3>
+<pre class="programlisting">int        xmlUCSIsSupplementalMathematicalOperators       (int code)<br>
+</pre>
+<p>Check whether the character is part of SupplementalMathematicalOperators UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsSupplementaryPrivateUseAreaA"></a>xmlUCSIsSupplementaryPrivateUseAreaA ()</h3>
+<pre class="programlisting">int        xmlUCSIsSupplementaryPrivateUseAreaA    (int code)<br>
+</pre>
+<p>Check whether the character is part of SupplementaryPrivateUseArea-A UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsSupplementaryPrivateUseAreaB"></a>xmlUCSIsSupplementaryPrivateUseAreaB ()</h3>
+<pre class="programlisting">int        xmlUCSIsSupplementaryPrivateUseAreaB    (int code)<br>
+</pre>
+<p>Check whether the character is part of SupplementaryPrivateUseArea-B UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsSyriac"></a>xmlUCSIsSyriac ()</h3>
+<pre class="programlisting">int        xmlUCSIsSyriac                  (int code)<br>
+</pre>
+<p>Check whether the character is part of Syriac UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsTagalog"></a>xmlUCSIsTagalog ()</h3>
+<pre class="programlisting">int        xmlUCSIsTagalog                 (int code)<br>
+</pre>
+<p>Check whether the character is part of Tagalog UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsTagbanwa"></a>xmlUCSIsTagbanwa ()</h3>
+<pre class="programlisting">int        xmlUCSIsTagbanwa                (int code)<br>
+</pre>
+<p>Check whether the character is part of Tagbanwa UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsTags"></a>xmlUCSIsTags ()</h3>
+<pre class="programlisting">int        xmlUCSIsTags                    (int code)<br>
+</pre>
+<p>Check whether the character is part of Tags UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsTaiLe"></a>xmlUCSIsTaiLe ()</h3>
+<pre class="programlisting">int        xmlUCSIsTaiLe                   (int code)<br>
+</pre>
+<p>Check whether the character is part of TaiLe UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsTaiXuanJingSymbols"></a>xmlUCSIsTaiXuanJingSymbols ()</h3>
+<pre class="programlisting">int        xmlUCSIsTaiXuanJingSymbols      (int code)<br>
+</pre>
+<p>Check whether the character is part of TaiXuanJingSymbols UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsTamil"></a>xmlUCSIsTamil ()</h3>
+<pre class="programlisting">int        xmlUCSIsTamil                   (int code)<br>
+</pre>
+<p>Check whether the character is part of Tamil UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsTelugu"></a>xmlUCSIsTelugu ()</h3>
+<pre class="programlisting">int        xmlUCSIsTelugu                  (int code)<br>
+</pre>
+<p>Check whether the character is part of Telugu UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsThaana"></a>xmlUCSIsThaana ()</h3>
+<pre class="programlisting">int        xmlUCSIsThaana                  (int code)<br>
+</pre>
+<p>Check whether the character is part of Thaana UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsThai"></a>xmlUCSIsThai ()</h3>
+<pre class="programlisting">int        xmlUCSIsThai                    (int code)<br>
+</pre>
+<p>Check whether the character is part of Thai UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsTibetan"></a>xmlUCSIsTibetan ()</h3>
+<pre class="programlisting">int        xmlUCSIsTibetan                 (int code)<br>
+</pre>
+<p>Check whether the character is part of Tibetan UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsUgaritic"></a>xmlUCSIsUgaritic ()</h3>
+<pre class="programlisting">int        xmlUCSIsUgaritic                (int code)<br>
+</pre>
+<p>Check whether the character is part of Ugaritic UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsUnifiedCanadianAboriginalSyllabics"></a>xmlUCSIsUnifiedCanadianAboriginalSyllabics ()</h3>
+<pre class="programlisting">int        xmlUCSIsUnifiedCanadianAboriginalSyllabics      (int code)<br>
+</pre>
+<p>Check whether the character is part of UnifiedCanadianAboriginalSyllabics UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsVariationSelectors"></a>xmlUCSIsVariationSelectors ()</h3>
+<pre class="programlisting">int        xmlUCSIsVariationSelectors      (int code)<br>
+</pre>
+<p>Check whether the character is part of VariationSelectors UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsVariationSelectorsSupplement"></a>xmlUCSIsVariationSelectorsSupplement ()</h3>
+<pre class="programlisting">int        xmlUCSIsVariationSelectorsSupplement    (int code)<br>
+</pre>
+<p>Check whether the character is part of VariationSelectorsSupplement UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsYiRadicals"></a>xmlUCSIsYiRadicals ()</h3>
+<pre class="programlisting">int        xmlUCSIsYiRadicals              (int code)<br>
+</pre>
+<p>Check whether the character is part of YiRadicals UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsYiSyllables"></a>xmlUCSIsYiSyllables ()</h3>
+<pre class="programlisting">int        xmlUCSIsYiSyllables             (int code)<br>
+</pre>
+<p>Check whether the character is part of YiSyllables UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlUCSIsYijingHexagramSymbols"></a>xmlUCSIsYijingHexagramSymbols ()</h3>
+<pre class="programlisting">int        xmlUCSIsYijingHexagramSymbols   (int code)<br>
+</pre>
+<p>Check whether the character is part of YijingHexagramSymbols UCS Block</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>code</tt></i>:</span></td>
+<td>UCS code point</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+</div>
+</div>
+</body>
 </html>
diff --git a/doc/devhelp/libxml2-xmlversion.html b/doc/devhelp/libxml2-xmlversion.html
index 49a33941..98b08196 100644
--- a/doc/devhelp/libxml2-xmlversion.html
+++ b/doc/devhelp/libxml2-xmlversion.html
@@ -1,49 +1,28 @@
-<?xml version="1.0" encoding="UTF-8"?>
 <html>
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
-    <title>xmlversion: compile-time version information</title>
-    <meta name="generator" content="Libxml2 devhelp stylesheet"/>
-    <link rel="start" href="index.html" title="libxml2 Reference Manual"/>
-    <link rel="up" href="general.html" title="API"/>
-    <link rel="stylesheet" href="style.css" type="text/css"/>
-    <link rel="chapter" href="general.html" title="API"/>
-  </head>
-  <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-    <table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
-      <tr valign="middle">
-        <td>
-          <a accesskey="p" href="libxml2-xmlunicode.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>
-        <th width="100%" align="center">libxml2 Reference Manual</th>
-      </tr>
-    </table>
-    <h2>
-      <span class="refentrytitle">xmlversion</span>
-    </h2>
-    <p>xmlversion - compile-time version information</p>
-    <p>compile-time version information for the XML library </p>
-    <p>Author(s): Daniel Veillard </p>
-    <div class="refsynopsisdiv">
-      <h2>Synopsis</h2>
-      <pre class="synopsis">#define <a href="#ATTRIBUTE_UNUSED">ATTRIBUTE_UNUSED</a>;
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>xmlversion: compile-time version information</title>
+<meta name="generator" content="Libxml2 devhelp stylesheet">
+<link rel="start" href="index.html" title="libxml2 Reference Manual">
+<link rel="up" href="general.html" title="API">
+<link rel="stylesheet" href="style.css" type="text/css">
+<link rel="chapter" href="general.html" title="API">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr 
valign="middle">
+<td><a accesskey="p" href="libxml2-xmlunicode.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>
+<th width="100%" align="center">libxml2 Reference Manual</th>
+</tr></table>
+<h2><span class="refentrytitle">xmlversion</span></h2>
+<p>xmlversion - compile-time version information</p>
+<p>compile-time version information for the XML library </p>
+<p>Author(s): Daniel Veillard </p>
+<div class="refsynopsisdiv">
+<h2>Synopsis</h2>
+<pre class="synopsis">#define <a href="#ATTRIBUTE_UNUSED">ATTRIBUTE_UNUSED</a>;
 #define <a href="#DEBUG_MEMORY_LOCATION">DEBUG_MEMORY_LOCATION</a>;
 #define <a href="#LIBXML_ATTR_ALLOC_SIZE">LIBXML_ATTR_ALLOC_SIZE</a>;
 #define <a href="#LIBXML_ATTR_FORMAT">LIBXML_ATTR_FORMAT</a>;
@@ -92,206 +71,403 @@
 #define <a href="#XML_DEPRECATED">XML_DEPRECATED</a>;
 void   <a href="#xmlCheckVersion">xmlCheckVersion</a>                  (int version);
 </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="ATTRIBUTE_UNUSED">Macro </a>ATTRIBUTE_UNUSED</h3><pre 
class="programlisting">#define <a href="#ATTRIBUTE_UNUSED">ATTRIBUTE_UNUSED</a>;
-</pre><p>Macro used to signal to GCC unused function parameters</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="DEBUG_MEMORY_LOCATION">Macro 
</a>DEBUG_MEMORY_LOCATION</h3><pre class="programlisting">#define <a 
href="#DEBUG_MEMORY_LOCATION">DEBUG_MEMORY_LOCATION</a>;
-</pre><p>Whether the memory debugging is configured in</p>
+<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="ATTRIBUTE_UNUSED">Macro </a>ATTRIBUTE_UNUSED</h3>
+<pre class="programlisting">#define <a href="#ATTRIBUTE_UNUSED">ATTRIBUTE_UNUSED</a>;
+</pre>
+<p>Macro used to signal to GCC unused function parameters</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="LIBXML_ATTR_ALLOC_SIZE">Macro 
</a>LIBXML_ATTR_ALLOC_SIZE</h3><pre class="programlisting">#define <a 
href="#LIBXML_ATTR_ALLOC_SIZE">LIBXML_ATTR_ALLOC_SIZE</a>;
-</pre><p>Macro used to indicate to GCC this is an allocator function</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="DEBUG_MEMORY_LOCATION">Macro </a>DEBUG_MEMORY_LOCATION</h3>
+<pre class="programlisting">#define <a href="#DEBUG_MEMORY_LOCATION">DEBUG_MEMORY_LOCATION</a>;
+</pre>
+<p>Whether the memory debugging is configured in</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="LIBXML_ATTR_FORMAT">Macro 
</a>LIBXML_ATTR_FORMAT</h3><pre class="programlisting">#define <a 
href="#LIBXML_ATTR_FORMAT">LIBXML_ATTR_FORMAT</a>;
-</pre><p>Macro used to indicate to GCC the parameter are printf like</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="LIBXML_ATTR_ALLOC_SIZE">Macro </a>LIBXML_ATTR_ALLOC_SIZE</h3>
+<pre class="programlisting">#define <a href="#LIBXML_ATTR_ALLOC_SIZE">LIBXML_ATTR_ALLOC_SIZE</a>;
+</pre>
+<p>Macro used to indicate to GCC this is an allocator function</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="LIBXML_ATTR_FORMAT">Macro </a>LIBXML_ATTR_FORMAT</h3>
+<pre class="programlisting">#define <a href="#LIBXML_ATTR_FORMAT">LIBXML_ATTR_FORMAT</a>;
+</pre>
+<p>Macro used to indicate to GCC the parameter are printf like</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="LIBXML_AUTOMATA_ENABLED">Macro 
</a>LIBXML_AUTOMATA_ENABLED</h3><pre class="programlisting">#define <a 
href="#LIBXML_AUTOMATA_ENABLED">LIBXML_AUTOMATA_ENABLED</a>;
-</pre><p>Whether the automata interfaces are compiled in</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="LIBXML_AUTOMATA_ENABLED">Macro </a>LIBXML_AUTOMATA_ENABLED</h3>
+<pre class="programlisting">#define <a href="#LIBXML_AUTOMATA_ENABLED">LIBXML_AUTOMATA_ENABLED</a>;
+</pre>
+<p>Whether the automata interfaces are compiled in</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="LIBXML_C14N_ENABLED">Macro 
</a>LIBXML_C14N_ENABLED</h3><pre class="programlisting">#define <a 
href="#LIBXML_C14N_ENABLED">LIBXML_C14N_ENABLED</a>;
-</pre><p>Whether the Canonicalization support is configured in</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="LIBXML_C14N_ENABLED">Macro </a>LIBXML_C14N_ENABLED</h3>
+<pre class="programlisting">#define <a href="#LIBXML_C14N_ENABLED">LIBXML_C14N_ENABLED</a>;
+</pre>
+<p>Whether the Canonicalization support is configured in</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="LIBXML_CATALOG_ENABLED">Macro 
</a>LIBXML_CATALOG_ENABLED</h3><pre class="programlisting">#define <a 
href="#LIBXML_CATALOG_ENABLED">LIBXML_CATALOG_ENABLED</a>;
-</pre><p>Whether the Catalog support is configured in</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="LIBXML_CATALOG_ENABLED">Macro </a>LIBXML_CATALOG_ENABLED</h3>
+<pre class="programlisting">#define <a href="#LIBXML_CATALOG_ENABLED">LIBXML_CATALOG_ENABLED</a>;
+</pre>
+<p>Whether the Catalog support is configured in</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="LIBXML_DEBUG_ENABLED">Macro 
</a>LIBXML_DEBUG_ENABLED</h3><pre class="programlisting">#define <a 
href="#LIBXML_DEBUG_ENABLED">LIBXML_DEBUG_ENABLED</a>;
-</pre><p>Whether Debugging module is configured in</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="LIBXML_DEBUG_ENABLED">Macro </a>LIBXML_DEBUG_ENABLED</h3>
+<pre class="programlisting">#define <a href="#LIBXML_DEBUG_ENABLED">LIBXML_DEBUG_ENABLED</a>;
+</pre>
+<p>Whether Debugging module is configured in</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="LIBXML_DEBUG_RUNTIME">Macro 
</a>LIBXML_DEBUG_RUNTIME</h3><pre class="programlisting">#define <a 
href="#LIBXML_DEBUG_RUNTIME">LIBXML_DEBUG_RUNTIME</a>;
-</pre><p>Whether the runtime debugging is configured in</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="LIBXML_DEBUG_RUNTIME">Macro </a>LIBXML_DEBUG_RUNTIME</h3>
+<pre class="programlisting">#define <a href="#LIBXML_DEBUG_RUNTIME">LIBXML_DEBUG_RUNTIME</a>;
+</pre>
+<p>Whether the runtime debugging is configured in</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="LIBXML_DOTTED_VERSION">Macro 
</a>LIBXML_DOTTED_VERSION</h3><pre class="programlisting">#define <a 
href="#LIBXML_DOTTED_VERSION">LIBXML_DOTTED_VERSION</a>;
-</pre><p>the version string like "1.2.3"</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="LIBXML_DOTTED_VERSION">Macro </a>LIBXML_DOTTED_VERSION</h3>
+<pre class="programlisting">#define <a href="#LIBXML_DOTTED_VERSION">LIBXML_DOTTED_VERSION</a>;
+</pre>
+<p>the version string like "1.2.3"</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="LIBXML_EXPR_ENABLED">Macro 
</a>LIBXML_EXPR_ENABLED</h3><pre class="programlisting">#define <a 
href="#LIBXML_EXPR_ENABLED">LIBXML_EXPR_ENABLED</a>;
-</pre><p>Whether the formal expressions interfaces are compiled in This code is unused and disabled 
unconditionally for now.</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="LIBXML_EXPR_ENABLED">Macro </a>LIBXML_EXPR_ENABLED</h3>
+<pre class="programlisting">#define <a href="#LIBXML_EXPR_ENABLED">LIBXML_EXPR_ENABLED</a>;
+</pre>
+<p>Whether the formal expressions interfaces are compiled in This code is unused and disabled 
unconditionally for now.</p>
 </div>
-        <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>
+<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><p>Whether the HTML support is configured in</p>
+<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>
+<p>Whether the HTML support is configured in</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="LIBXML_HTTP_ENABLED">Macro 
</a>LIBXML_HTTP_ENABLED</h3><pre class="programlisting">#define <a 
href="#LIBXML_HTTP_ENABLED">LIBXML_HTTP_ENABLED</a>;
-</pre><p>Whether the HTTP support is configured in</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="LIBXML_HTTP_ENABLED">Macro </a>LIBXML_HTTP_ENABLED</h3>
+<pre class="programlisting">#define <a href="#LIBXML_HTTP_ENABLED">LIBXML_HTTP_ENABLED</a>;
+</pre>
+<p>Whether the HTTP support is configured in</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="LIBXML_ICONV_ENABLED">Macro 
</a>LIBXML_ICONV_ENABLED</h3><pre class="programlisting">#define <a 
href="#LIBXML_ICONV_ENABLED">LIBXML_ICONV_ENABLED</a>;
-</pre><p>Whether iconv support is available</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="LIBXML_ICONV_ENABLED">Macro </a>LIBXML_ICONV_ENABLED</h3>
+<pre class="programlisting">#define <a href="#LIBXML_ICONV_ENABLED">LIBXML_ICONV_ENABLED</a>;
+</pre>
+<p>Whether iconv support is available</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="LIBXML_ICU_ENABLED">Macro 
</a>LIBXML_ICU_ENABLED</h3><pre class="programlisting">#define <a 
href="#LIBXML_ICU_ENABLED">LIBXML_ICU_ENABLED</a>;
-</pre><p>Whether icu support is available</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="LIBXML_ICU_ENABLED">Macro </a>LIBXML_ICU_ENABLED</h3>
+<pre class="programlisting">#define <a href="#LIBXML_ICU_ENABLED">LIBXML_ICU_ENABLED</a>;
+</pre>
+<p>Whether icu support is available</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="LIBXML_ISO8859X_ENABLED">Macro 
</a>LIBXML_ISO8859X_ENABLED</h3><pre class="programlisting">#define <a 
href="#LIBXML_ISO8859X_ENABLED">LIBXML_ISO8859X_ENABLED</a>;
-</pre><p>Whether ISO-8859-* support is made available in case iconv is not</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="LIBXML_ISO8859X_ENABLED">Macro </a>LIBXML_ISO8859X_ENABLED</h3>
+<pre class="programlisting">#define <a href="#LIBXML_ISO8859X_ENABLED">LIBXML_ISO8859X_ENABLED</a>;
+</pre>
+<p>Whether ISO-8859-* support is made available in case iconv is not</p>
 </div>
-        <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>
+<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><p>Whether the Lzma support is compiled in</p>
+<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>
+<p>Whether the Lzma support is compiled in</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="LIBXML_MODULES_ENABLED">Macro 
</a>LIBXML_MODULES_ENABLED</h3><pre class="programlisting">#define <a 
href="#LIBXML_MODULES_ENABLED">LIBXML_MODULES_ENABLED</a>;
-</pre><p>Whether the module interfaces are compiled in</p>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="LIBXML_MODULES_ENABLED">Macro </a>LIBXML_MODULES_ENABLED</h3>
+<pre class="programlisting">#define <a href="#LIBXML_MODULES_ENABLED">LIBXML_MODULES_ENABLED</a>;
+</pre>
+<p>Whether the module interfaces are compiled in</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="LIBXML_MODULE_EXTENSION">Macro </a>LIBXML_MODULE_EXTENSION</h3>
+<pre class="programlisting">#define <a href="#LIBXML_MODULE_EXTENSION">LIBXML_MODULE_EXTENSION</a>;
+</pre>
+<p>the string suffix used by dynamic modules (usually shared libraries)</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="LIBXML_OUTPUT_ENABLED">Macro </a>LIBXML_OUTPUT_ENABLED</h3>
+<pre class="programlisting">#define <a href="#LIBXML_OUTPUT_ENABLED">LIBXML_OUTPUT_ENABLED</a>;
+</pre>
+<p>Whether the serialization/saving support is configured in</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="LIBXML_PATTERN_ENABLED">Macro </a>LIBXML_PATTERN_ENABLED</h3>
+<pre class="programlisting">#define <a href="#LIBXML_PATTERN_ENABLED">LIBXML_PATTERN_ENABLED</a>;
+</pre>
+<p>Whether the <a href="libxml2-pattern.html#xmlPattern">xmlPattern</a> node selection interface is 
configured in</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="LIBXML_PUSH_ENABLED">Macro </a>LIBXML_PUSH_ENABLED</h3>
+<pre class="programlisting">#define <a href="#LIBXML_PUSH_ENABLED">LIBXML_PUSH_ENABLED</a>;
+</pre>
+<p>Whether the push parsing interfaces are configured in</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="LIBXML_READER_ENABLED">Macro </a>LIBXML_READER_ENABLED</h3>
+<pre class="programlisting">#define <a href="#LIBXML_READER_ENABLED">LIBXML_READER_ENABLED</a>;
+</pre>
+<p>Whether the xmlReader parsing interface is configured in</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="LIBXML_REGEXP_ENABLED">Macro </a>LIBXML_REGEXP_ENABLED</h3>
+<pre class="programlisting">#define <a href="#LIBXML_REGEXP_ENABLED">LIBXML_REGEXP_ENABLED</a>;
+</pre>
+<p>Whether the regular expressions 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>
+<p>Whether the older SAX1 interface is configured in</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="LIBXML_SCHEMAS_ENABLED">Macro </a>LIBXML_SCHEMAS_ENABLED</h3>
+<pre class="programlisting">#define <a href="#LIBXML_SCHEMAS_ENABLED">LIBXML_SCHEMAS_ENABLED</a>;
+</pre>
+<p>Whether the Schemas validation interfaces are compiled in</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="LIBXML_SCHEMATRON_ENABLED">Macro </a>LIBXML_SCHEMATRON_ENABLED</h3>
+<pre class="programlisting">#define <a href="#LIBXML_SCHEMATRON_ENABLED">LIBXML_SCHEMATRON_ENABLED</a>;
+</pre>
+<p>Whether the Schematron validation interfaces are compiled in</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="LIBXML_TEST_VERSION">Macro </a>LIBXML_TEST_VERSION</h3>
+<pre class="programlisting">#define <a href="#LIBXML_TEST_VERSION">LIBXML_TEST_VERSION</a>;
+</pre>
+<p>Macro to check that the libxml version in use is compatible with the version the software has been 
compiled against</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="LIBXML_THREAD_ALLOC_ENABLED">Macro </a>LIBXML_THREAD_ALLOC_ENABLED</h3>
+<pre class="programlisting">#define <a href="#LIBXML_THREAD_ALLOC_ENABLED">LIBXML_THREAD_ALLOC_ENABLED</a>;
+</pre>
+<p>Whether the allocation hooks are per-thread</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="LIBXML_THREAD_ENABLED">Macro </a>LIBXML_THREAD_ENABLED</h3>
+<pre class="programlisting">#define <a href="#LIBXML_THREAD_ENABLED">LIBXML_THREAD_ENABLED</a>;
+</pre>
+<p>Whether the thread support is configured in</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="LIBXML_VALID_ENABLED">Macro </a>LIBXML_VALID_ENABLED</h3>
+<pre class="programlisting">#define <a href="#LIBXML_VALID_ENABLED">LIBXML_VALID_ENABLED</a>;
+</pre>
+<p>Whether the DTD validation support is configured in</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="LIBXML_VERSION">Macro </a>LIBXML_VERSION</h3>
+<pre class="programlisting">#define <a href="#LIBXML_VERSION">LIBXML_VERSION</a>;
+</pre>
+<p>the version number: 1.2.3 value is 10203</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="LIBXML_VERSION_EXTRA">Macro </a>LIBXML_VERSION_EXTRA</h3>
+<pre class="programlisting">#define <a href="#LIBXML_VERSION_EXTRA">LIBXML_VERSION_EXTRA</a>;
+</pre>
+<p>extra version information, used to show a git commit description</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="LIBXML_VERSION_STRING">Macro </a>LIBXML_VERSION_STRING</h3>
+<pre class="programlisting">#define <a href="#LIBXML_VERSION_STRING">LIBXML_VERSION_STRING</a>;
+</pre>
+<p>the version number string, 1.2.3 value is "10203"</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="LIBXML_WRITER_ENABLED">Macro </a>LIBXML_WRITER_ENABLED</h3>
+<pre class="programlisting">#define <a href="#LIBXML_WRITER_ENABLED">LIBXML_WRITER_ENABLED</a>;
+</pre>
+<p>Whether the xmlWriter saving interface is configured in</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="LIBXML_XINCLUDE_ENABLED">Macro </a>LIBXML_XINCLUDE_ENABLED</h3>
+<pre class="programlisting">#define <a href="#LIBXML_XINCLUDE_ENABLED">LIBXML_XINCLUDE_ENABLED</a>;
+</pre>
+<p>Whether XInclude is configured in</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="LIBXML_XPATH_ENABLED">Macro </a>LIBXML_XPATH_ENABLED</h3>
+<pre class="programlisting">#define <a href="#LIBXML_XPATH_ENABLED">LIBXML_XPATH_ENABLED</a>;
+</pre>
+<p>Whether XPath is configured in</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="LIBXML_XPTR_ENABLED">Macro </a>LIBXML_XPTR_ENABLED</h3>
+<pre class="programlisting">#define <a href="#LIBXML_XPTR_ENABLED">LIBXML_XPTR_ENABLED</a>;
+</pre>
+<p>Whether XPointer is configured in</p>
+</div>
+<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>
+<p>Whether the Zlib support is compiled in</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="WITHOUT_TRIO">Macro </a>WITHOUT_TRIO</h3>
+<pre class="programlisting">#define <a href="#WITHOUT_TRIO">WITHOUT_TRIO</a>;
+</pre>
+<p>defined if the trio support should not be configured in</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="WITH_TRIO">Macro </a>WITH_TRIO</h3>
+<pre class="programlisting">#define <a href="#WITH_TRIO">WITH_TRIO</a>;
+</pre>
+<p>defined if the trio support need to be configured in</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_DEPRECATED">Macro </a>XML_DEPRECATED</h3>
+<pre class="programlisting">#define <a href="#XML_DEPRECATED">XML_DEPRECATED</a>;
+</pre>
+<p>Macro used to indicate that a function, variable, type or struct member is deprecated.</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlCheckVersion"></a>xmlCheckVersion ()</h3>
+<pre class="programlisting">void       xmlCheckVersion                 (int version)<br>
+</pre>
+<p>check the compiled lib version against the include one. This can warn or immediately kill the 
application</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 include version number</td>
+</tr></tbody>
+</table></div>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="LIBXML_MODULE_EXTENSION">Macro 
</a>LIBXML_MODULE_EXTENSION</h3><pre class="programlisting">#define <a 
href="#LIBXML_MODULE_EXTENSION">LIBXML_MODULE_EXTENSION</a>;
-</pre><p>the string suffix used by dynamic modules (usually shared libraries)</p>
+<hr>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="LIBXML_OUTPUT_ENABLED">Macro 
</a>LIBXML_OUTPUT_ENABLED</h3><pre class="programlisting">#define <a 
href="#LIBXML_OUTPUT_ENABLED">LIBXML_OUTPUT_ENABLED</a>;
-</pre><p>Whether the serialization/saving support is configured in</p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="LIBXML_PATTERN_ENABLED">Macro 
</a>LIBXML_PATTERN_ENABLED</h3><pre class="programlisting">#define <a 
href="#LIBXML_PATTERN_ENABLED">LIBXML_PATTERN_ENABLED</a>;
-</pre><p>Whether the <a href="libxml2-pattern.html#xmlPattern">xmlPattern</a> node selection interface is 
configured in</p>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="LIBXML_PUSH_ENABLED">Macro 
</a>LIBXML_PUSH_ENABLED</h3><pre class="programlisting">#define <a 
href="#LIBXML_PUSH_ENABLED">LIBXML_PUSH_ENABLED</a>;
-</pre><p>Whether the push parsing interfaces are configured in</p>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="LIBXML_READER_ENABLED">Macro 
</a>LIBXML_READER_ENABLED</h3><pre class="programlisting">#define <a 
href="#LIBXML_READER_ENABLED">LIBXML_READER_ENABLED</a>;
-</pre><p>Whether the xmlReader parsing interface is configured in</p>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="LIBXML_REGEXP_ENABLED">Macro 
</a>LIBXML_REGEXP_ENABLED</h3><pre class="programlisting">#define <a 
href="#LIBXML_REGEXP_ENABLED">LIBXML_REGEXP_ENABLED</a>;
-</pre><p>Whether the regular expressions 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><p>Whether the older SAX1 interface is configured in</p>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="LIBXML_SCHEMAS_ENABLED">Macro 
</a>LIBXML_SCHEMAS_ENABLED</h3><pre class="programlisting">#define <a 
href="#LIBXML_SCHEMAS_ENABLED">LIBXML_SCHEMAS_ENABLED</a>;
-</pre><p>Whether the Schemas validation interfaces are compiled in</p>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="LIBXML_SCHEMATRON_ENABLED">Macro 
</a>LIBXML_SCHEMATRON_ENABLED</h3><pre class="programlisting">#define <a 
href="#LIBXML_SCHEMATRON_ENABLED">LIBXML_SCHEMATRON_ENABLED</a>;
-</pre><p>Whether the Schematron validation interfaces are compiled in</p>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="LIBXML_TEST_VERSION">Macro 
</a>LIBXML_TEST_VERSION</h3><pre class="programlisting">#define <a 
href="#LIBXML_TEST_VERSION">LIBXML_TEST_VERSION</a>;
-</pre><p>Macro to check that the libxml version in use is compatible with the version the software has been 
compiled against</p>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="LIBXML_THREAD_ALLOC_ENABLED">Macro 
</a>LIBXML_THREAD_ALLOC_ENABLED</h3><pre class="programlisting">#define <a 
href="#LIBXML_THREAD_ALLOC_ENABLED">LIBXML_THREAD_ALLOC_ENABLED</a>;
-</pre><p>Whether the allocation hooks are per-thread</p>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="LIBXML_THREAD_ENABLED">Macro 
</a>LIBXML_THREAD_ENABLED</h3><pre class="programlisting">#define <a 
href="#LIBXML_THREAD_ENABLED">LIBXML_THREAD_ENABLED</a>;
-</pre><p>Whether the thread support is configured in</p>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><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>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="LIBXML_VALID_ENABLED">Macro 
</a>LIBXML_VALID_ENABLED</h3><pre class="programlisting">#define <a 
href="#LIBXML_VALID_ENABLED">LIBXML_VALID_ENABLED</a>;
-</pre><p>Whether the DTD validation support is configured in</p>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="LIBXML_VERSION">Macro </a>LIBXML_VERSION</h3><pre 
class="programlisting">#define <a href="#LIBXML_VERSION">LIBXML_VERSION</a>;
-</pre><p>the version number: 1.2.3 value is 10203</p>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="LIBXML_VERSION_EXTRA">Macro 
</a>LIBXML_VERSION_EXTRA</h3><pre class="programlisting">#define <a 
href="#LIBXML_VERSION_EXTRA">LIBXML_VERSION_EXTRA</a>;
-</pre><p>extra version information, used to show a git commit description</p>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="LIBXML_VERSION_STRING">Macro 
</a>LIBXML_VERSION_STRING</h3><pre class="programlisting">#define <a 
href="#LIBXML_VERSION_STRING">LIBXML_VERSION_STRING</a>;
-</pre><p>the version number string, 1.2.3 value is "10203"</p>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="LIBXML_WRITER_ENABLED">Macro 
</a>LIBXML_WRITER_ENABLED</h3><pre class="programlisting">#define <a 
href="#LIBXML_WRITER_ENABLED">LIBXML_WRITER_ENABLED</a>;
-</pre><p>Whether the xmlWriter saving interface is configured in</p>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="LIBXML_XINCLUDE_ENABLED">Macro 
</a>LIBXML_XINCLUDE_ENABLED</h3><pre class="programlisting">#define <a 
href="#LIBXML_XINCLUDE_ENABLED">LIBXML_XINCLUDE_ENABLED</a>;
-</pre><p>Whether XInclude is configured in</p>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="LIBXML_XPATH_ENABLED">Macro 
</a>LIBXML_XPATH_ENABLED</h3><pre class="programlisting">#define <a 
href="#LIBXML_XPATH_ENABLED">LIBXML_XPATH_ENABLED</a>;
-</pre><p>Whether XPath is configured in</p>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="LIBXML_XPTR_ENABLED">Macro 
</a>LIBXML_XPTR_ENABLED</h3><pre class="programlisting">#define <a 
href="#LIBXML_XPTR_ENABLED">LIBXML_XPTR_ENABLED</a>;
-</pre><p>Whether XPointer is configured in</p>
-</div>
-        <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><p>Whether the Zlib support is compiled in</p>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="WITHOUT_TRIO">Macro </a>WITHOUT_TRIO</h3><pre 
class="programlisting">#define <a href="#WITHOUT_TRIO">WITHOUT_TRIO</a>;
-</pre><p>defined if the trio support should not be configured in</p>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="WITH_TRIO">Macro </a>WITH_TRIO</h3><pre 
class="programlisting">#define <a href="#WITH_TRIO">WITH_TRIO</a>;
-</pre><p>defined if the trio support need to be configured in</p>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_DEPRECATED">Macro </a>XML_DEPRECATED</h3><pre 
class="programlisting">#define <a href="#XML_DEPRECATED">XML_DEPRECATED</a>;
-</pre><p>Macro used to indicate that a function, variable, type or struct member is deprecated.</p>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlCheckVersion"/>xmlCheckVersion ()</h3><pre 
class="programlisting">void xmlCheckVersion                 (int version)<br/>
-</pre><p>check the compiled lib version against the include one. This can warn or immediately kill the 
application</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 include version 
number</td></tr></tbody></table></div></div>
-        <hr/>
-      </div>
-    </div>
-  </body>
+</body>
 </html>
diff --git a/doc/devhelp/libxml2-xmlwriter.html b/doc/devhelp/libxml2-xmlwriter.html
index 18208544..9418ea8d 100644
--- a/doc/devhelp/libxml2-xmlwriter.html
+++ b/doc/devhelp/libxml2-xmlwriter.html
@@ -1,59 +1,38 @@
-<?xml version="1.0" encoding="UTF-8"?>
 <html>
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
-    <title>xmlwriter: text writing API for XML</title>
-    <meta name="generator" content="Libxml2 devhelp stylesheet"/>
-    <link rel="start" href="index.html" title="libxml2 Reference Manual"/>
-    <link rel="up" href="general.html" title="API"/>
-    <link rel="stylesheet" href="style.css" type="text/css"/>
-    <link rel="chapter" href="general.html" title="API"/>
-  </head>
-  <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-    <table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
-      <tr valign="middle">
-        <td>
-          <a accesskey="p" href="libxml2-xmlversion.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-xpath.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">xmlwriter</span>
-    </h2>
-    <p>xmlwriter - text writing API for XML</p>
-    <p>text writing API for XML </p>
-    <p>Author(s): Alfred Mickautsch &lt;alfred mickautsch de&gt; </p>
-    <div class="refsynopsisdiv">
-      <h2>Synopsis</h2>
-      <pre class="synopsis">#define <a href="#xmlTextWriterWriteDocType">xmlTextWriterWriteDocType</a>;
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>xmlwriter: text writing API for XML</title>
+<meta name="generator" content="Libxml2 devhelp stylesheet">
+<link rel="start" href="index.html" title="libxml2 Reference Manual">
+<link rel="up" href="general.html" title="API">
+<link rel="stylesheet" href="style.css" type="text/css">
+<link rel="chapter" href="general.html" title="API">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr 
valign="middle">
+<td><a accesskey="p" href="libxml2-xmlversion.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-xpath.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">xmlwriter</span></h2>
+<p>xmlwriter - text writing API for XML</p>
+<p>text writing API for XML </p>
+<p>Author(s): Alfred Mickautsch &lt;alfred mickautsch de&gt; </p>
+<div class="refsynopsisdiv">
+<h2>Synopsis</h2>
+<pre class="synopsis">#define <a href="#xmlTextWriterWriteDocType">xmlTextWriterWriteDocType</a>;
 #define <a href="#xmlTextWriterWriteProcessingInstruction">xmlTextWriterWriteProcessingInstruction</a>;
 typedef struct _xmlTextWriter <a href="#xmlTextWriter">xmlTextWriter</a>;
 typedef <a href="libxml2-xmlwriter.html#xmlTextWriter">xmlTextWriter</a> * <a 
href="#xmlTextWriterPtr">xmlTextWriterPtr</a>;
 void   <a href="#xmlFreeTextWriter">xmlFreeTextWriter</a>              (<a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer);
 <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> <a 
href="#xmlNewTextWriter">xmlNewTextWriter</a>        (<a 
href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> out);
-<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> <a 
href="#xmlNewTextWriterDoc">xmlNewTextWriterDoc</a>  (<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> * 
doc, <br/>                                                int compression);
-<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> <a 
href="#xmlNewTextWriterFilename">xmlNewTextWriterFilename</a>        (const char * uri, <br/>                 
                                        int compression);
-<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> <a 
href="#xmlNewTextWriterMemory">xmlNewTextWriterMemory</a>    (<a 
href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br/>                                            
int compression);
-<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> <a 
href="#xmlNewTextWriterPushParser">xmlNewTextWriterPushParser</a>    (<a 
href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br/>                                    
               int compression);
-<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> <a 
href="#xmlNewTextWriterTree">xmlNewTextWriterTree</a>        (<a 
href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>                                          <a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br/>                                               
int compression);
+<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> <a 
href="#xmlNewTextWriterDoc">xmlNewTextWriterDoc</a>  (<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> * 
doc, <br>                                                 int compression);
+<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> <a 
href="#xmlNewTextWriterFilename">xmlNewTextWriterFilename</a>        (const char * uri, <br>                  
                                int compression);
+<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> <a 
href="#xmlNewTextWriterMemory">xmlNewTextWriterMemory</a>    (<a 
href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>                                             
int compression);
+<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> <a 
href="#xmlNewTextWriterPushParser">xmlNewTextWriterPushParser</a>    (<a 
href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br>                                     
               int compression);
+<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> <a 
href="#xmlNewTextWriterTree">xmlNewTextWriterTree</a>        (<a 
href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>                                           <a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>                                                
int compression);
 int    <a href="#xmlTextWriterEndAttribute">xmlTextWriterEndAttribute</a>      (<a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer);
 int    <a href="#xmlTextWriterEndCDATA">xmlTextWriterEndCDATA</a>              (<a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer);
 int    <a href="#xmlTextWriterEndComment">xmlTextWriterEndComment</a>          (<a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer);
@@ -66,414 +45,2532 @@ int      <a href="#xmlTextWriterEndElement">xmlTextWriterEndElement</a>          (<a 
href="li
 int    <a href="#xmlTextWriterEndPI">xmlTextWriterEndPI</a>            (<a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer);
 int    <a href="#xmlTextWriterFlush">xmlTextWriterFlush</a>            (<a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer);
 int    <a href="#xmlTextWriterFullEndElement">xmlTextWriterFullEndElement</a>  (<a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer);
-int    <a href="#xmlTextWriterSetIndent">xmlTextWriterSetIndent</a>            (<a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br/>                             
       int indent);
-int    <a href="#xmlTextWriterSetIndentString">xmlTextWriterSetIndentString</a>        (<a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br/>                             
       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str);
-int    <a href="#xmlTextWriterSetQuoteChar">xmlTextWriterSetQuoteChar</a>      (<a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br/>                             
       <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> quotechar);
-int    <a href="#xmlTextWriterStartAttribute">xmlTextWriterStartAttribute</a>  (<a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br/>                             
       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
-int    <a href="#xmlTextWriterStartAttributeNS">xmlTextWriterStartAttributeNS</a>      (<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);
+int    <a href="#xmlTextWriterSetIndent">xmlTextWriterSetIndent</a>            (<a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>                              
       int indent);
+int    <a href="#xmlTextWriterSetIndentString">xmlTextWriterSetIndentString</a>        (<a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>                              
       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str);
+int    <a href="#xmlTextWriterSetQuoteChar">xmlTextWriterSetQuoteChar</a>      (<a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>                              
       <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> quotechar);
+int    <a href="#xmlTextWriterStartAttribute">xmlTextWriterStartAttribute</a>  (<a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>                              
       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
+int    <a href="#xmlTextWriterStartAttributeNS">xmlTextWriterStartAttributeNS</a>      (<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);
 int    <a href="#xmlTextWriterStartCDATA">xmlTextWriterStartCDATA</a>          (<a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer);
 int    <a href="#xmlTextWriterStartComment">xmlTextWriterStartComment</a>      (<a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer);
-int    <a href="#xmlTextWriterStartDTD">xmlTextWriterStartDTD</a>              (<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> * pubid, <br/>                            
           const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * sysid);
-int    <a href="#xmlTextWriterStartDTDAttlist">xmlTextWriterStartDTDAttlist</a>        (<a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br/>                             
       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
-int    <a href="#xmlTextWriterStartDTDElement">xmlTextWriterStartDTDElement</a>        (<a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br/>                             
       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
-int    <a href="#xmlTextWriterStartDTDEntity">xmlTextWriterStartDTDEntity</a>  (<a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br/>                             
       int pe, <br/>                                   const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
-int    <a href="#xmlTextWriterStartDocument">xmlTextWriterStartDocument</a>    (<a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br/>                             
       const char * version, <br/>                                     const char * encoding, <br/>           
                         const char * standalone);
-int    <a href="#xmlTextWriterStartElement">xmlTextWriterStartElement</a>      (<a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br/>                             
       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
-int    <a href="#xmlTextWriterStartElementNS">xmlTextWriterStartElementNS</a>  (<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);
-int    <a href="#xmlTextWriterStartPI">xmlTextWriterStartPI</a>                (<a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br/>                             
       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * target);
-int    <a href="#xmlTextWriterWriteAttribute">xmlTextWriterWriteAttribute</a>  (<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);
-int    <a href="#xmlTextWriterWriteAttributeNS">xmlTextWriterWriteAttributeNS</a>      (<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);
-int    <a href="#xmlTextWriterWriteBase64">xmlTextWriterWriteBase64</a>        (<a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br/>                             
       const char * data, <br/>                                        int start, <br/>                       
                 int len);
-int    <a href="#xmlTextWriterWriteBinHex">xmlTextWriterWriteBinHex</a>        (<a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br/>                             
       const char * data, <br/>                                        int start, <br/>                       
                 int len);
-int    <a href="#xmlTextWriterWriteCDATA">xmlTextWriterWriteCDATA</a>          (<a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br/>                             
       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
-int    <a href="#xmlTextWriterWriteComment">xmlTextWriterWriteComment</a>      (<a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br/>                             
       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
-int    <a href="#xmlTextWriterWriteDTD">xmlTextWriterWriteDTD</a>              (<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> * pubid, <br/>                            
           const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * sysid, <br/>                          
             const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * subset);
-int    <a href="#xmlTextWriterWriteDTDAttlist">xmlTextWriterWriteDTDAttlist</a>        (<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);
-int    <a href="#xmlTextWriterWriteDTDElement">xmlTextWriterWriteDTDElement</a>        (<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);
-int    <a href="#xmlTextWriterWriteDTDEntity">xmlTextWriterWriteDTDEntity</a>  (<a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br/>                             
       int pe, <br/>                                   const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>                                        const 
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pubid, <br/>                                       
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * sysid, <br/>                                     
  const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ndataid, <br/>                                 
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
-int    <a href="#xmlTextWriterWriteDTDExternalEntity">xmlTextWriterWriteDTDExternalEntity</a>  (<a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br/>                             
               int pe, <br/>                                           const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>                                               
 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pubid, <br/>                                    
           const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * sysid, <br/>                          
                     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ndataid);
-int    <a 
href="#xmlTextWriterWriteDTDExternalEntityContents">xmlTextWriterWriteDTDExternalEntityContents</a>  (<a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br/>                             
                       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pubid, <br/>              
                                         const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * sysid, 
<br/>                                                       const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ndataid);
-int    <a href="#xmlTextWriterWriteDTDInternalEntity">xmlTextWriterWriteDTDInternalEntity</a>  (<a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br/>                             
               int pe, <br/>                                           const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>                                               
 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
-int    <a href="#xmlTextWriterWriteDTDNotation">xmlTextWriterWriteDTDNotation</a>      (<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> * pubid, <br/>                            
           const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * sysid);
-int    <a href="#xmlTextWriterWriteElement">xmlTextWriterWriteElement</a>      (<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);
-int    <a href="#xmlTextWriterWriteElementNS">xmlTextWriterWriteElementNS</a>  (<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);
-int    <a href="#xmlTextWriterWriteFormatAttribute">xmlTextWriterWriteFormatAttribute</a>      (<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/>                                              ... ...);
-int    <a href="#xmlTextWriterWriteFormatAttributeNS">xmlTextWriterWriteFormatAttributeNS</a>  (<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 char * format, <br/>                               
               ... ...);
-int    <a href="#xmlTextWriterWriteFormatCDATA">xmlTextWriterWriteFormatCDATA</a>      (<a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br/>                             
       const char * format, <br/>                                      ... ...);
-int    <a href="#xmlTextWriterWriteFormatComment">xmlTextWriterWriteFormatComment</a>  (<a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br/>                             
       const char * format, <br/>                                      ... ...);
-int    <a href="#xmlTextWriterWriteFormatDTD">xmlTextWriterWriteFormatDTD</a>  (<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> * pubid, <br/>                            
           const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * sysid, <br/>                          
             const char * format, <br/>                                      ... ...);
-int    <a href="#xmlTextWriterWriteFormatDTDAttlist">xmlTextWriterWriteFormatDTDAttlist</a>    (<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/>                                              ... ...);
-int    <a href="#xmlTextWriterWriteFormatDTDElement">xmlTextWriterWriteFormatDTDElement</a>    (<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/>                                              ... ...);
-int    <a href="#xmlTextWriterWriteFormatDTDInternalEntity">xmlTextWriterWriteFormatDTDInternalEntity</a>    
  (<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br/>                       
                             int pe, <br/>                                                   const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>                                               
         const char * format, <br/>                                                      ... ...);
-int    <a href="#xmlTextWriterWriteFormatElement">xmlTextWriterWriteFormatElement</a>  (<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/>                                      ... ...);
-int    <a href="#xmlTextWriterWriteFormatElementNS">xmlTextWriterWriteFormatElementNS</a>      (<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 char * format, <br/>                               
               ... ...);
-int    <a href="#xmlTextWriterWriteFormatPI">xmlTextWriterWriteFormatPI</a>    (<a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br/>                             
       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * target, <br/>                             
         const char * format, <br/>                                      ... ...);
-int    <a href="#xmlTextWriterWriteFormatRaw">xmlTextWriterWriteFormatRaw</a>  (<a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br/>                             
       const char * format, <br/>                                      ... ...);
-int    <a href="#xmlTextWriterWriteFormatString">xmlTextWriterWriteFormatString</a>    (<a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br/>                             
       const char * format, <br/>                                      ... ...);
-int    <a href="#xmlTextWriterWritePI">xmlTextWriterWritePI</a>                (<a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br/>                             
       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * target, <br/>                             
         const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
-int    <a href="#xmlTextWriterWriteRaw">xmlTextWriterWriteRaw</a>              (<a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br/>                             
       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
-int    <a href="#xmlTextWriterWriteRawLen">xmlTextWriterWriteRawLen</a>        (<a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br/>                             
       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content, <br/>                            
         int len);
-int    <a href="#xmlTextWriterWriteString">xmlTextWriterWriteString</a>        (<a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br/>                             
       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
-int    <a href="#xmlTextWriterWriteVFormatAttribute">xmlTextWriterWriteVFormatAttribute</a>    (<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);
-int    <a href="#xmlTextWriterWriteVFormatAttributeNS">xmlTextWriterWriteVFormatAttributeNS</a>        (<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 char * format, <br/>                               
               va_list argptr);
-int    <a href="#xmlTextWriterWriteVFormatCDATA">xmlTextWriterWriteVFormatCDATA</a>    (<a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br/>                             
       const char * format, <br/>                                      va_list argptr);
-int    <a href="#xmlTextWriterWriteVFormatComment">xmlTextWriterWriteVFormatComment</a>        (<a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br/>                             
               const char * format, <br/>                                              va_list argptr);
-int    <a href="#xmlTextWriterWriteVFormatDTD">xmlTextWriterWriteVFormatDTD</a>        (<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> * pubid, <br/>                            
           const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * sysid, <br/>                          
             const char * format, <br/>                                      va_list argptr);
-int    <a href="#xmlTextWriterWriteVFormatDTDAttlist">xmlTextWriterWriteVFormatDTDAttlist</a>  (<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);
-int    <a href="#xmlTextWriterWriteVFormatDTDElement">xmlTextWriterWriteVFormatDTDElement</a>  (<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);
-int    <a href="#xmlTextWriterWriteVFormatDTDInternalEntity">xmlTextWriterWriteVFormatDTDInternalEntity</a>  
  (<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br/>                       
                             int pe, <br/>                                                   const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>                                               
         const char * format, <br/>                                                      va_list argptr);
-int    <a href="#xmlTextWriterWriteVFormatElement">xmlTextWriterWriteVFormatElement</a>        (<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);
-int    <a href="#xmlTextWriterWriteVFormatElementNS">xmlTextWriterWriteVFormatElementNS</a>    (<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 char * format, <br/>                               
               va_list argptr);
-int    <a href="#xmlTextWriterWriteVFormatPI">xmlTextWriterWriteVFormatPI</a>  (<a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br/>                             
       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * target, <br/>                             
         const char * format, <br/>                                      va_list argptr);
-int    <a href="#xmlTextWriterWriteVFormatRaw">xmlTextWriterWriteVFormatRaw</a>        (<a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br/>                             
       const char * format, <br/>                                      va_list argptr);
-int    <a href="#xmlTextWriterWriteVFormatString">xmlTextWriterWriteVFormatString</a>  (<a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br/>                             
       const char * format, <br/>                                      va_list argptr);
-</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="xmlTextWriterWriteDocType">Macro 
</a>xmlTextWriterWriteDocType</h3><pre class="programlisting">#define <a 
href="#xmlTextWriterWriteDocType">xmlTextWriterWriteDocType</a>;
-</pre><p>this macro maps to <a 
href="libxml2-xmlwriter.html#xmlTextWriterWriteDTD">xmlTextWriterWriteDTD</a></p>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextWriterWriteProcessingInstruction">Macro 
</a>xmlTextWriterWriteProcessingInstruction</h3><pre class="programlisting">#define <a 
href="#xmlTextWriterWriteProcessingInstruction">xmlTextWriterWriteProcessingInstruction</a>;
-</pre><p>This macro maps to <a 
href="libxml2-xmlwriter.html#xmlTextWriterWritePI">xmlTextWriterWritePI</a></p>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextWriter">Structure </a>xmlTextWriter</h3><pre 
class="programlisting">struct _xmlTextWriter {
+int    <a href="#xmlTextWriterStartDTD">xmlTextWriterStartDTD</a>              (<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> * pubid, <br>                             
           const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * sysid);
+int    <a href="#xmlTextWriterStartDTDAttlist">xmlTextWriterStartDTDAttlist</a>        (<a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>                              
       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
+int    <a href="#xmlTextWriterStartDTDElement">xmlTextWriterStartDTDElement</a>        (<a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>                              
       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
+int    <a href="#xmlTextWriterStartDTDEntity">xmlTextWriterStartDTDEntity</a>  (<a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>                              
       int pe, <br>                                    const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
+int    <a href="#xmlTextWriterStartDocument">xmlTextWriterStartDocument</a>    (<a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>                              
       const char * version, <br>                                      const char * encoding, <br>            
                         const char * standalone);
+int    <a href="#xmlTextWriterStartElement">xmlTextWriterStartElement</a>      (<a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>                              
       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
+int    <a href="#xmlTextWriterStartElementNS">xmlTextWriterStartElementNS</a>  (<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);
+int    <a href="#xmlTextWriterStartPI">xmlTextWriterStartPI</a>                (<a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>                              
       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * target);
+int    <a href="#xmlTextWriterWriteAttribute">xmlTextWriterWriteAttribute</a>  (<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);
+int    <a href="#xmlTextWriterWriteAttributeNS">xmlTextWriterWriteAttributeNS</a>      (<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);
+int    <a href="#xmlTextWriterWriteBase64">xmlTextWriterWriteBase64</a>        (<a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>                              
       const char * data, <br>                                         int start, <br>                        
                 int len);
+int    <a href="#xmlTextWriterWriteBinHex">xmlTextWriterWriteBinHex</a>        (<a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>                              
       const char * data, <br>                                         int start, <br>                        
                 int len);
+int    <a href="#xmlTextWriterWriteCDATA">xmlTextWriterWriteCDATA</a>          (<a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>                              
       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
+int    <a href="#xmlTextWriterWriteComment">xmlTextWriterWriteComment</a>      (<a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>                              
       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
+int    <a href="#xmlTextWriterWriteDTD">xmlTextWriterWriteDTD</a>              (<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> * pubid, <br>                             
           const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * sysid, <br>                           
             const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * subset);
+int    <a href="#xmlTextWriterWriteDTDAttlist">xmlTextWriterWriteDTDAttlist</a>        (<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);
+int    <a href="#xmlTextWriterWriteDTDElement">xmlTextWriterWriteDTDElement</a>        (<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);
+int    <a href="#xmlTextWriterWriteDTDEntity">xmlTextWriterWriteDTDEntity</a>  (<a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>                              
       int pe, <br>                                    const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>                                         const 
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pubid, <br>                                        
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * sysid, <br>                                      
  const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ndataid, <br>                                  
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
+int    <a href="#xmlTextWriterWriteDTDExternalEntity">xmlTextWriterWriteDTDExternalEntity</a>  (<a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>                              
               int pe, <br>                                            const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>                                                
 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pubid, <br>                                     
           const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * sysid, <br>                           
                     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ndataid);
+int    <a 
href="#xmlTextWriterWriteDTDExternalEntityContents">xmlTextWriterWriteDTDExternalEntityContents</a>  (<a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>                              
                       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pubid, <br>               
                                         const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * sysid, 
<br>                                                        const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ndataid);
+int    <a href="#xmlTextWriterWriteDTDInternalEntity">xmlTextWriterWriteDTDInternalEntity</a>  (<a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>                              
               int pe, <br>                                            const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>                                                
 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
+int    <a href="#xmlTextWriterWriteDTDNotation">xmlTextWriterWriteDTDNotation</a>      (<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> * pubid, <br>                             
           const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * sysid);
+int    <a href="#xmlTextWriterWriteElement">xmlTextWriterWriteElement</a>      (<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);
+int    <a href="#xmlTextWriterWriteElementNS">xmlTextWriterWriteElementNS</a>  (<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);
+int    <a href="#xmlTextWriterWriteFormatAttribute">xmlTextWriterWriteFormatAttribute</a>      (<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>                                               ... ...);
+int    <a href="#xmlTextWriterWriteFormatAttributeNS">xmlTextWriterWriteFormatAttributeNS</a>  (<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 char * format, <br>                                
               ... ...);
+int    <a href="#xmlTextWriterWriteFormatCDATA">xmlTextWriterWriteFormatCDATA</a>      (<a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>                              
       const char * format, <br>                                       ... ...);
+int    <a href="#xmlTextWriterWriteFormatComment">xmlTextWriterWriteFormatComment</a>  (<a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>                              
       const char * format, <br>                                       ... ...);
+int    <a href="#xmlTextWriterWriteFormatDTD">xmlTextWriterWriteFormatDTD</a>  (<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> * pubid, <br>                             
           const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * sysid, <br>                           
             const char * format, <br>                                       ... ...);
+int    <a href="#xmlTextWriterWriteFormatDTDAttlist">xmlTextWriterWriteFormatDTDAttlist</a>    (<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>                                               ... ...);
+int    <a href="#xmlTextWriterWriteFormatDTDElement">xmlTextWriterWriteFormatDTDElement</a>    (<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>                                               ... ...);
+int    <a href="#xmlTextWriterWriteFormatDTDInternalEntity">xmlTextWriterWriteFormatDTDInternalEntity</a>    
  (<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>                        
                             int pe, <br>                                                    const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>                                                
         const char * format, <br>                                                       ... ...);
+int    <a href="#xmlTextWriterWriteFormatElement">xmlTextWriterWriteFormatElement</a>  (<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>                                       ... ...);
+int    <a href="#xmlTextWriterWriteFormatElementNS">xmlTextWriterWriteFormatElementNS</a>      (<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 char * format, <br>                                
               ... ...);
+int    <a href="#xmlTextWriterWriteFormatPI">xmlTextWriterWriteFormatPI</a>    (<a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>                              
       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * target, <br>                              
         const char * format, <br>                                       ... ...);
+int    <a href="#xmlTextWriterWriteFormatRaw">xmlTextWriterWriteFormatRaw</a>  (<a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>                              
       const char * format, <br>                                       ... ...);
+int    <a href="#xmlTextWriterWriteFormatString">xmlTextWriterWriteFormatString</a>    (<a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>                              
       const char * format, <br>                                       ... ...);
+int    <a href="#xmlTextWriterWritePI">xmlTextWriterWritePI</a>                (<a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>                              
       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * target, <br>                              
         const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
+int    <a href="#xmlTextWriterWriteRaw">xmlTextWriterWriteRaw</a>              (<a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>                              
       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
+int    <a href="#xmlTextWriterWriteRawLen">xmlTextWriterWriteRawLen</a>        (<a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>                              
       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content, <br>                             
         int len);
+int    <a href="#xmlTextWriterWriteString">xmlTextWriterWriteString</a>        (<a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>                              
       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content);
+int    <a href="#xmlTextWriterWriteVFormatAttribute">xmlTextWriterWriteVFormatAttribute</a>    (<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);
+int    <a href="#xmlTextWriterWriteVFormatAttributeNS">xmlTextWriterWriteVFormatAttributeNS</a>        (<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 char * format, <br>                                
               va_list argptr);
+int    <a href="#xmlTextWriterWriteVFormatCDATA">xmlTextWriterWriteVFormatCDATA</a>    (<a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>                              
       const char * format, <br>                                       va_list argptr);
+int    <a href="#xmlTextWriterWriteVFormatComment">xmlTextWriterWriteVFormatComment</a>        (<a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>                              
               const char * format, <br>                                               va_list argptr);
+int    <a href="#xmlTextWriterWriteVFormatDTD">xmlTextWriterWriteVFormatDTD</a>        (<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> * pubid, <br>                             
           const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * sysid, <br>                           
             const char * format, <br>                                       va_list argptr);
+int    <a href="#xmlTextWriterWriteVFormatDTDAttlist">xmlTextWriterWriteVFormatDTDAttlist</a>  (<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);
+int    <a href="#xmlTextWriterWriteVFormatDTDElement">xmlTextWriterWriteVFormatDTDElement</a>  (<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);
+int    <a href="#xmlTextWriterWriteVFormatDTDInternalEntity">xmlTextWriterWriteVFormatDTDInternalEntity</a>  
  (<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>                        
                             int pe, <br>                                                    const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>                                                
         const char * format, <br>                                                       va_list argptr);
+int    <a href="#xmlTextWriterWriteVFormatElement">xmlTextWriterWriteVFormatElement</a>        (<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);
+int    <a href="#xmlTextWriterWriteVFormatElementNS">xmlTextWriterWriteVFormatElementNS</a>    (<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 char * format, <br>                                
               va_list argptr);
+int    <a href="#xmlTextWriterWriteVFormatPI">xmlTextWriterWriteVFormatPI</a>  (<a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>                              
       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * target, <br>                              
         const char * format, <br>                                       va_list argptr);
+int    <a href="#xmlTextWriterWriteVFormatRaw">xmlTextWriterWriteVFormatRaw</a>        (<a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>                              
       const char * format, <br>                                       va_list argptr);
+int    <a href="#xmlTextWriterWriteVFormatString">xmlTextWriterWriteVFormatString</a>  (<a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>                              
       const char * format, <br>                                       va_list argptr);
+</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="xmlTextWriterWriteDocType">Macro </a>xmlTextWriterWriteDocType</h3>
+<pre class="programlisting">#define <a href="#xmlTextWriterWriteDocType">xmlTextWriterWriteDocType</a>;
+</pre>
+<p>this macro maps to <a href="libxml2-xmlwriter.html#xmlTextWriterWriteDTD">xmlTextWriterWriteDTD</a></p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextWriterWriteProcessingInstruction">Macro </a>xmlTextWriterWriteProcessingInstruction</h3>
+<pre class="programlisting">#define <a 
href="#xmlTextWriterWriteProcessingInstruction">xmlTextWriterWriteProcessingInstruction</a>;
+</pre>
+<p>This macro maps to <a href="libxml2-xmlwriter.html#xmlTextWriterWritePI">xmlTextWriterWritePI</a></p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextWriter">Structure </a>xmlTextWriter</h3>
+<pre class="programlisting">struct _xmlTextWriter {
 The content of this structure is not made public by the API.
 } xmlTextWriter;
-</pre><p/>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextWriterPtr">Typedef </a>xmlTextWriterPtr</h3><pre 
class="programlisting"><a href="libxml2-xmlwriter.html#xmlTextWriter">xmlTextWriter</a> * xmlTextWriterPtr;
-</pre><p/>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlFreeTextWriter"/>xmlFreeTextWriter ()</h3><pre 
class="programlisting">void     xmlFreeTextWriter               (<a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer)<br/>
-</pre><p>Deallocate all the resources associated to the writer</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>writer</tt></i>:</span></td><td>the <a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNewTextWriter"/>xmlNewTextWriter ()</h3><pre 
class="programlisting"><a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>     
xmlNewTextWriter        (<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> out)<br/>
-</pre><p>Create a new <a href="libxml2-xmlwriter.html#xmlNewTextWriter">xmlNewTextWriter</a> structure using 
an <a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> NOTE: the @out parameter will be 
deallocated when the writer is closed (if the call succeed.)</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>out</tt></i>:</span></td><td>an <a 
href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a></td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the new <a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> or NULL in case of 
error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNewTextWriterDoc"/>xmlNewTextWriterDoc ()</h3><pre 
class="programlisting"><a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>       
xmlNewTextWriterDoc     (<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> * doc, <br/>                     
                           int compression)<br/>
-</pre><p>Create a new <a href="libxml2-xmlwriter.html#xmlNewTextWriter">xmlNewTextWriter</a> structure with 
@*doc as output</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>doc</tt></i>:</span></td><td>address of a <a 
href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> to hold the new XML document tree</td></tr><tr><td><span 
class="term"><i><tt>compression</tt></i>:</span></td><td>compress the output?</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the new <a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> or NULL in case of 
error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNewTextWriterFilename"/>xmlNewTextWriterFilename 
()</h3><pre class="programlisting"><a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>     
xmlNewTextWriterFilename        (const char * uri, <br/>                                                      
   int compression)<br/>
-</pre><p>Create a new <a href="libxml2-xmlwriter.html#xmlNewTextWriter">xmlNewTextWriter</a> structure with 
@uri as output</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 of the resource for the 
output</td></tr><tr><td><span class="term"><i><tt>compression</tt></i>:</span></td><td>compress the 
output?</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new <a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> or NULL in case of 
error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNewTextWriterMemory"/>xmlNewTextWriterMemory 
()</h3><pre class="programlisting"><a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> 
xmlNewTextWriterMemory  (<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br/>                 
                           int compression)<br/>
-</pre><p>Create a new <a href="libxml2-xmlwriter.html#xmlNewTextWriter">xmlNewTextWriter</a> structure with 
@buf as output TODO: handle compression</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 
href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a></td></tr><tr><td><span 
class="term"><i><tt>compression</tt></i>:</span></td><td>compress the output?</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the new <a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> or NULL in case of 
error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNewTextWriterPushParser"/>xmlNewTextWriterPushParser 
()</h3><pre class="programlisting"><a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> 
xmlNewTextWriterPushParser      (<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, 
<br/>                                                   int compression)<br/>
-</pre><p>Create a new <a href="libxml2-xmlwriter.html#xmlNewTextWriter">xmlNewTextWriter</a> structure with 
@ctxt as output NOTE: the @ctxt context will be freed with the resulting writer (if the call succeeds). TODO: 
handle compression</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 
href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> to hold the new XML document 
tree</td></tr><tr><td><span class="term"><i><tt>compression</tt></i>:</span></td><td>compress the 
output?</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new <a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> or NULL in case of 
error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNewTextWriterTree"/>xmlNewTextWriterTree ()</h3><pre 
class="programlisting"><a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>     
xmlNewTextWriterTree    (<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br/>                       
                   <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br/>                          
                     int compression)<br/>
-</pre><p>Create a new <a href="libxml2-xmlwriter.html#xmlNewTextWriter">xmlNewTextWriter</a> structure with 
@doc as output starting at @node</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>doc</tt></i>:</span></td><td><a 
href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a></td></tr><tr><td><span 
class="term"><i><tt>node</tt></i>:</span></td><td><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> or 
NULL for doc-&gt;children</td></tr><tr><td><span 
class="term"><i><tt>compression</tt></i>:</span></td><td>compress the output?</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the new <a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> or NULL in case of 
error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextWriterEndAttribute"/>xmlTextWriterEndAttribute 
()</h3><pre class="programlisting">int      xmlTextWriterEndAttribute       (<a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer)<br/>
-</pre><p>End the current xml element.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>writer</tt></i>:</span></td><td>the <a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 
in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextWriterEndCDATA"/>xmlTextWriterEndCDATA 
()</h3><pre class="programlisting">int      xmlTextWriterEndCDATA           (<a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer)<br/>
-</pre><p>End an xml CDATA section.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>writer</tt></i>:</span></td><td>the <a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 
in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextWriterEndComment"/>xmlTextWriterEndComment 
()</h3><pre class="programlisting">int  xmlTextWriterEndComment         (<a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer)<br/>
-</pre><p>End the current xml comment.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>writer</tt></i>:</span></td><td>the <a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 
in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextWriterEndDTD"/>xmlTextWriterEndDTD ()</h3><pre 
class="programlisting">int  xmlTextWriterEndDTD             (<a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer)<br/>
-</pre><p>End an xml DTD.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>writer</tt></i>:</span></td><td>the <a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 
in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextWriterEndDTDAttlist"/>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>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>writer</tt></i>:</span></td><td>the <a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 
in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextWriterEndDTDElement"/>xmlTextWriterEndDTDElement 
()</h3><pre class="programlisting">int    xmlTextWriterEndDTDElement      (<a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer)<br/>
-</pre><p>End an xml DTD element.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>writer</tt></i>:</span></td><td>the <a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 
in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextWriterEndDTDEntity"/>xmlTextWriterEndDTDEntity 
()</h3><pre class="programlisting">int      xmlTextWriterEndDTDEntity       (<a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer)<br/>
-</pre><p>End an xml DTD entity.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>writer</tt></i>:</span></td><td>the <a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 
in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextWriterEndDocument"/>xmlTextWriterEndDocument 
()</h3><pre class="programlisting">int        xmlTextWriterEndDocument        (<a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer)<br/>
-</pre><p>End an xml document. All open elements are closed, and the content is flushed to the output.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>writer</tt></i>:</span></td><td>the <a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written or -1 in case of 
error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextWriterEndElement"/>xmlTextWriterEndElement 
()</h3><pre class="programlisting">int  xmlTextWriterEndElement         (<a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer)<br/>
-</pre><p>End the current xml element.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>writer</tt></i>:</span></td><td>the <a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 
in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextWriterEndPI"/>xmlTextWriterEndPI ()</h3><pre 
class="programlisting">int    xmlTextWriterEndPI              (<a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer)<br/>
-</pre><p>End the current xml PI.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>writer</tt></i>:</span></td><td>the <a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 
in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextWriterFlush"/>xmlTextWriterFlush ()</h3><pre 
class="programlisting">int    xmlTextWriterFlush              (<a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer)<br/>
-</pre><p>Flush the output buffer.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>writer</tt></i>:</span></td><td>the <a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 
in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlTextWriterFullEndElement"/>xmlTextWriterFullEndElement ()</h3><pre class="programlisting">int  
xmlTextWriterFullEndElement     (<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> 
writer)<br/>
-</pre><p>End the current xml element. Writes an end tag even if the element is empty</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>writer</tt></i>:</span></td><td>the <a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 
in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextWriterSetIndent"/>xmlTextWriterSetIndent 
()</h3><pre class="programlisting">int    xmlTextWriterSetIndent          (<a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br/>                             
       int indent)<br/>
-</pre><p>Set indentation output. indent = 0 do not indentation. indent &gt; 0 do indentation.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>writer</tt></i>:</span></td><td>the <a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span 
class="term"><i><tt>indent</tt></i>:</span></td><td>do indentation?</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 on error or 0 
otherwise.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlTextWriterSetIndentString"/>xmlTextWriterSetIndentString ()</h3><pre class="programlisting">int      
  xmlTextWriterSetIndentString    (<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> 
writer, <br/>                                    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * 
str)<br/>
-</pre><p>Set string indentation.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>writer</tt></i>:</span></td><td>the <a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span 
class="term"><i><tt>str</tt></i>:</span></td><td>the <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> 
string</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 on error or 0 
otherwise.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextWriterSetQuoteChar"/>xmlTextWriterSetQuoteChar 
()</h3><pre class="programlisting">int      xmlTextWriterSetQuoteChar       (<a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br/>                             
       <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> quotechar)<br/>
-</pre><p>Set the character used for quoting attributes.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>writer</tt></i>:</span></td><td>the <a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span 
class="term"><i><tt>quotechar</tt></i>:</span></td><td>the quote character</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 on error or 0 
otherwise.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlTextWriterStartAttribute"/>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 attribute.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>writer</tt></i>:</span></td><td>the <a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span 
class="term"><i><tt>name</tt></i>:</span></td><td>element name</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 
in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlTextWriterStartAttributeNS"/>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>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>writer</tt></i>:</span></td><td>the <a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span 
class="term"><i><tt>prefix</tt></i>:</span></td><td>namespace prefix or NULL</td></tr><tr><td><span 
class="term"><i><tt>name</tt></i>:</span></td><td>element local name</td></tr><tr><td><span 
class="term"><i><tt>namespaceURI</tt></i>:</span></td><td>namespace URI or NULL</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 
in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextWriterStartCDATA"/>xmlTextWriterStartCDATA 
()</h3><pre class="programlisting">int  xmlTextWriterStartCDATA         (<a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer)<br/>
-</pre><p>Start an xml CDATA section.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>writer</tt></i>:</span></td><td>the <a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 
in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextWriterStartComment"/>xmlTextWriterStartComment 
()</h3><pre class="programlisting">int      xmlTextWriterStartComment       (<a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer)<br/>
-</pre><p>Start an xml comment.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>writer</tt></i>:</span></td><td>the <a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 
in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextWriterStartDTD"/>xmlTextWriterStartDTD 
()</h3><pre class="programlisting">int      xmlTextWriterStartDTD           (<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> * pubid, <br/>                            
           const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * sysid)<br/>
-</pre><p>Start an xml DTD.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>writer</tt></i>:</span></td><td>the <a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span 
class="term"><i><tt>name</tt></i>:</span></td><td>the name of the DTD</td></tr><tr><td><span 
class="term"><i><tt>pubid</tt></i>:</span></td><td>the public identifier, which is an alternative to the 
system identifier</td></tr><tr><td><span class="term"><i><tt>sysid</tt></i>:</span></td><td>the system 
identifier, which is the URI of the DTD</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 
in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlTextWriterStartDTDAttlist"/>xmlTextWriterStartDTDAttlist ()</h3><pre class="programlisting">int      
  xmlTextWriterStartDTDAttlist    (<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 DTD ATTLIST.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>writer</tt></i>:</span></td><td>the <a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span 
class="term"><i><tt>name</tt></i>:</span></td><td>the name of the DTD ATTLIST</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 
in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlTextWriterStartDTDElement"/>xmlTextWriterStartDTDElement ()</h3><pre class="programlisting">int      
  xmlTextWriterStartDTDElement    (<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 DTD element.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>writer</tt></i>:</span></td><td>the <a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span 
class="term"><i><tt>name</tt></i>:</span></td><td>the name of the DTD element</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 
in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlTextWriterStartDTDEntity"/>xmlTextWriterStartDTDEntity ()</h3><pre class="programlisting">int  
xmlTextWriterStartDTDEntity     (<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> 
writer, <br/>                                    int pe, <br/>                                   const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br/>
-</pre><p>Start an xml DTD ATTLIST.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>writer</tt></i>:</span></td><td>the <a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span 
class="term"><i><tt>pe</tt></i>:</span></td><td>TRUE if this is a parameter entity, FALSE if 
not</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the name of the DTD 
ATTLIST</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 
0 because of buffering) or -1 in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextWriterStartDocument"/>xmlTextWriterStartDocument 
()</h3><pre class="programlisting">int    xmlTextWriterStartDocument      (<a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br/>                             
       const char * version, <br/>                                     const char * encoding, <br/>           
                         const char * standalone)<br/>
-</pre><p>Start a new xml document</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>writer</tt></i>:</span></td><td>the <a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span 
class="term"><i><tt>version</tt></i>:</span></td><td>the xml version ("1.0") or NULL for default 
("1.0")</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>the encoding or NULL for 
default</td></tr><tr><td><span class="term"><i><tt>standalone</tt></i>:</span></td><td>"yes" or "no" or NULL 
for default</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written 
(may be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextWriterStartElement"/>xmlTextWriterStartElement 
()</h3><pre class="programlisting">int      xmlTextWriterStartElement       (<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 element.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>writer</tt></i>:</span></td><td>the <a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span 
class="term"><i><tt>name</tt></i>:</span></td><td>element name</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 
in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlTextWriterStartElementNS"/>xmlTextWriterStartElementNS ()</h3><pre class="programlisting">int  
xmlTextWriterStartElementNS     (<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 element with namespace support.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>writer</tt></i>:</span></td><td>the <a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span 
class="term"><i><tt>prefix</tt></i>:</span></td><td>namespace prefix or NULL</td></tr><tr><td><span 
class="term"><i><tt>name</tt></i>:</span></td><td>element local name</td></tr><tr><td><span 
class="term"><i><tt>namespaceURI</tt></i>:</span></td><td>namespace URI or NULL</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 
in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextWriterStartPI"/>xmlTextWriterStartPI ()</h3><pre 
class="programlisting">int        xmlTextWriterStartPI            (<a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br/>                             
       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * target)<br/>
-</pre><p>Start an xml PI.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>writer</tt></i>:</span></td><td>the <a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span 
class="term"><i><tt>target</tt></i>:</span></td><td>PI target</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 
in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlTextWriterWriteAttribute"/>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 attribute.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>writer</tt></i>:</span></td><td>the <a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span 
class="term"><i><tt>name</tt></i>:</span></td><td><a href="libxml2-SAX.html#attribute">attribute</a> 
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></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 
in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlTextWriterWriteAttributeNS"/>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 attribute.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>writer</tt></i>:</span></td><td>the <a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span 
class="term"><i><tt>prefix</tt></i>:</span></td><td>namespace prefix</td></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></tr><tr><td><span class="term"><i><tt>namespaceURI</tt></i>:</span></td><td>namespace 
URI</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></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 
in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextWriterWriteBase64"/>xmlTextWriterWriteBase64 
()</h3><pre class="programlisting">int        xmlTextWriterWriteBase64        (<a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br/>                             
       const char * data, <br/>                                        int start, <br/>                       
                 int len)<br/>
-</pre><p>Write an base64 encoded xml text.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>writer</tt></i>:</span></td><td>the <a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span 
class="term"><i><tt>data</tt></i>:</span></td><td>binary data</td></tr><tr><td><span 
class="term"><i><tt>start</tt></i>:</span></td><td>the position within the data of the first byte to 
encode</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>the number of bytes to 
encode</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 
0 because of buffering) or -1 in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextWriterWriteBinHex"/>xmlTextWriterWriteBinHex 
()</h3><pre class="programlisting">int        xmlTextWriterWriteBinHex        (<a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br/>                             
       const char * data, <br/>                                        int start, <br/>                       
                 int len)<br/>
-</pre><p>Write a BinHex encoded xml text.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>writer</tt></i>:</span></td><td>the <a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span 
class="term"><i><tt>data</tt></i>:</span></td><td>binary data</td></tr><tr><td><span 
class="term"><i><tt>start</tt></i>:</span></td><td>the position within the data of the first byte to 
encode</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>the number of bytes to 
encode</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 
0 because of buffering) or -1 in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextWriterWriteCDATA"/>xmlTextWriterWriteCDATA 
()</h3><pre class="programlisting">int  xmlTextWriterWriteCDATA         (<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 CDATA.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>writer</tt></i>:</span></td><td>the <a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span 
class="term"><i><tt>content</tt></i>:</span></td><td>CDATA content</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 
in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextWriterWriteComment"/>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 comment.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>writer</tt></i>:</span></td><td>the <a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span 
class="term"><i><tt>content</tt></i>:</span></td><td><a href="libxml2-SAX.html#comment">comment</a> 
string</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 
0 because of buffering) or -1 in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextWriterWriteDTD"/>xmlTextWriterWriteDTD 
()</h3><pre class="programlisting">int      xmlTextWriterWriteDTD           (<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> * pubid, <br/>                            
           const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * sysid, <br/>                          
             const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * subset)<br/>
-</pre><p>Write a DTD.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>writer</tt></i>:</span></td><td>the <a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span 
class="term"><i><tt>name</tt></i>:</span></td><td>the name of the DTD</td></tr><tr><td><span 
class="term"><i><tt>pubid</tt></i>:</span></td><td>the public identifier, which is an alternative to the 
system identifier</td></tr><tr><td><span class="term"><i><tt>sysid</tt></i>:</span></td><td>the system 
identifier, which is the URI of the DTD</td></tr><tr><td><span 
class="term"><i><tt>subset</tt></i>:</span></td><td>string content of the DTD</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 
in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlTextWriterWriteDTDAttlist"/>xmlTextWriterWriteDTDAttlist ()</h3><pre class="programlisting">int      
  xmlTextWriterWriteDTDAttlist    (<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 a DTD ATTLIST.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>writer</tt></i>:</span></td><td>the <a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span 
class="term"><i><tt>name</tt></i>:</span></td><td>the name of the DTD ATTLIST</td></tr><tr><td><span 
class="term"><i><tt>content</tt></i>:</span></td><td>content of the ATTLIST</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 
in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlTextWriterWriteDTDElement"/>xmlTextWriterWriteDTDElement ()</h3><pre class="programlisting">int      
  xmlTextWriterWriteDTDElement    (<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 a DTD element.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>writer</tt></i>:</span></td><td>the <a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span 
class="term"><i><tt>name</tt></i>:</span></td><td>the name of the DTD element</td></tr><tr><td><span 
class="term"><i><tt>content</tt></i>:</span></td><td>content of the element</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 
in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlTextWriterWriteDTDEntity"/>xmlTextWriterWriteDTDEntity ()</h3><pre class="programlisting">int  
xmlTextWriterWriteDTDEntity     (<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> 
writer, <br/>                                    int pe, <br/>                                   const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>                                        const 
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pubid, <br/>                                       
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * sysid, <br/>                                     
  const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ndataid, <br/>                                 
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br/>
-</pre><p>Write a DTD entity.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>writer</tt></i>:</span></td><td>the <a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span 
class="term"><i><tt>pe</tt></i>:</span></td><td>TRUE if this is a parameter entity, FALSE if 
not</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the name of the DTD 
entity</td></tr><tr><td><span class="term"><i><tt>pubid</tt></i>:</span></td><td>the public identifier, which 
is an alternative to the system identifier</td></tr><tr><td><span 
class="term"><i><tt>sysid</tt></i>:</span></td><td>the system identifier, which is the URI of the 
DTD</td></tr><tr><td><span class="term"><i><tt>ndataid</tt></i>:</span></td><td>the xml notation 
name.</td></tr><tr><td><span class="term"><i><tt>content</tt></i>:</span></td><td>content of the 
entity</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may
  be 0 because of buffering) or -1 in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlTextWriterWriteDTDExternalEntity"/>xmlTextWriterWriteDTDExternalEntity ()</h3><pre 
class="programlisting">int  xmlTextWriterWriteDTDExternalEntity     (<a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br/>                             
               int pe, <br/>                                           const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>                                               
 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pubid, <br/>                                    
           const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * sysid, <br/>                          
                     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ndataid)<br/>
-</pre><p>Write a DTD external entity. The entity must have been started with <a 
href="libxml2-xmlwriter.html#xmlTextWriterStartDTDEntity">xmlTextWriterStartDTDEntity</a></p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>writer</tt></i>:</span></td><td>the <a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span 
class="term"><i><tt>pe</tt></i>:</span></td><td>TRUE if this is a parameter entity, FALSE if 
not</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the name of the DTD 
entity</td></tr><tr><td><span class="term"><i><tt>pubid</tt></i>:</span></td><td>the public identifier, which 
is an alternative to the system identifier</td></tr><tr><td><span 
class="term"><i><tt>sysid</tt></i>:</span></td><td>the system identifier, which is the URI of the 
DTD</td></tr><tr><td><span class="term"><i><tt>ndataid</tt></i>:</span></td><td>the xml notation 
name.</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 
because of buffering) or -1 in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlTextWriterWriteDTDExternalEntityContents"/>xmlTextWriterWriteDTDExternalEntityContents ()</h3><pre 
class="programlisting">int  xmlTextWriterWriteDTDExternalEntityContents     (<a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br/>                             
                       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pubid, <br/>              
                                         const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * sysid, 
<br/>                                                       const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ndataid)<br/>
-</pre><p>Write the contents of a DTD external entity.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>writer</tt></i>:</span></td><td>the <a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span 
class="term"><i><tt>pubid</tt></i>:</span></td><td>the public identifier, which is an alternative to the 
system identifier</td></tr><tr><td><span class="term"><i><tt>sysid</tt></i>:</span></td><td>the system 
identifier, which is the URI of the DTD</td></tr><tr><td><span 
class="term"><i><tt>ndataid</tt></i>:</span></td><td>the xml notation name.</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 
in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlTextWriterWriteDTDInternalEntity"/>xmlTextWriterWriteDTDInternalEntity ()</h3><pre 
class="programlisting">int  xmlTextWriterWriteDTDInternalEntity     (<a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br/>                             
               int pe, <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 a DTD internal entity.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>writer</tt></i>:</span></td><td>the <a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span 
class="term"><i><tt>pe</tt></i>:</span></td><td>TRUE if this is a parameter entity, FALSE if 
not</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the name of the DTD 
entity</td></tr><tr><td><span class="term"><i><tt>content</tt></i>:</span></td><td>content of the 
entity</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 
0 because of buffering) or -1 in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlTextWriterWriteDTDNotation"/>xmlTextWriterWriteDTDNotation ()</h3><pre class="programlisting">int    
  xmlTextWriterWriteDTDNotation   (<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> 
* pubid, <br/>                                       const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * sysid)<br/>
-</pre><p>Write a DTD entity.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>writer</tt></i>:</span></td><td>the <a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span 
class="term"><i><tt>name</tt></i>:</span></td><td>the name of the xml notation</td></tr><tr><td><span 
class="term"><i><tt>pubid</tt></i>:</span></td><td>the public identifier, which is an alternative to the 
system identifier</td></tr><tr><td><span class="term"><i><tt>sysid</tt></i>:</span></td><td>the system 
identifier, which is the URI of the DTD</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 
in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextWriterWriteElement"/>xmlTextWriterWriteElement 
()</h3><pre class="programlisting">int      xmlTextWriterWriteElement       (<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 element.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>writer</tt></i>:</span></td><td>the <a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span 
class="term"><i><tt>name</tt></i>:</span></td><td>element name</td></tr><tr><td><span 
class="term"><i><tt>content</tt></i>:</span></td><td>element content</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 
in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlTextWriterWriteElementNS"/>xmlTextWriterWriteElementNS ()</h3><pre class="programlisting">int  
xmlTextWriterWriteElementNS     (<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 element with namespace support.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>writer</tt></i>:</span></td><td>the <a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span 
class="term"><i><tt>prefix</tt></i>:</span></td><td>namespace prefix</td></tr><tr><td><span 
class="term"><i><tt>name</tt></i>:</span></td><td>element local name</td></tr><tr><td><span 
class="term"><i><tt>namespaceURI</tt></i>:</span></td><td>namespace URI</td></tr><tr><td><span 
class="term"><i><tt>content</tt></i>:</span></td><td>element content</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 
in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlTextWriterWriteFormatAttribute"/>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 attribute.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>writer</tt></i>:</span></td><td>the <a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span 
class="term"><i><tt>name</tt></i>:</span></td><td><a href="libxml2-SAX.html#attribute">attribute</a> 
name</td></tr><tr><td><span class="term"><i><tt>format</tt></i>:</span></td><td>format string (see 
printf)</td></tr><tr><td><span class="term"><i><tt>...</tt></i>:</span></td><td>extra parameters for the 
format</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 
0 because of buffering) or -1 in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlTextWriterWriteFormatAttributeNS"/>xmlTextWriterWriteFormatAttributeNS ()</h3><pre 
class="programlisting">int  xmlTextWriterWriteFormatAttributeNS     (<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 char * format, <br/>                               
               ... ...)<br/>
-</pre><p>Write a formatted xml attribute.with namespace support</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>writer</tt></i>:</span></td><td>the <a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span 
class="term"><i><tt>prefix</tt></i>:</span></td><td>namespace prefix</td></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></tr><tr><td><span class="term"><i><tt>namespaceURI</tt></i>:</span></td><td>namespace 
URI</td></tr><tr><td><span class="term"><i><tt>format</tt></i>:</span></td><td>format string (see 
printf)</td></tr><tr><td><span class="term"><i><tt>...</tt></i>:</span></td><td>extra parameters for the 
format</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 
0 because of buffering) or -1 in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlTextWriterWriteFormatCDATA"/>xmlTextWriterWriteFormatCDATA ()</h3><pre class="programlisting">int    
  xmlTextWriterWriteFormatCDATA   (<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> 
writer, <br/>                                    const char * format, <br/>                                   
   ... ...)<br/>
-</pre><p>Write a formatted xml CDATA.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>writer</tt></i>:</span></td><td>the <a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span 
class="term"><i><tt>format</tt></i>:</span></td><td>format string (see printf)</td></tr><tr><td><span 
class="term"><i><tt>...</tt></i>:</span></td><td>extra parameters for the format</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 
in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlTextWriterWriteFormatComment"/>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 comment.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>writer</tt></i>:</span></td><td>the <a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span 
class="term"><i><tt>format</tt></i>:</span></td><td>format string (see printf)</td></tr><tr><td><span 
class="term"><i><tt>...</tt></i>:</span></td><td>extra parameters for the format</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 
in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlTextWriterWriteFormatDTD"/>xmlTextWriterWriteFormatDTD ()</h3><pre class="programlisting">int  
xmlTextWriterWriteFormatDTD     (<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> 
* pubid, <br/>                                       const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * sysid, <br/>                                       const 
char * format, <br/>                                      ... ...)<br/>
-</pre><p>Write a DTD with a formatted markup declarations part.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>writer</tt></i>:</span></td><td>the <a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span 
class="term"><i><tt>name</tt></i>:</span></td><td>the name of the DTD</td></tr><tr><td><span 
class="term"><i><tt>pubid</tt></i>:</span></td><td>the public identifier, which is an alternative to the 
system identifier</td></tr><tr><td><span class="term"><i><tt>sysid</tt></i>:</span></td><td>the system 
identifier, which is the URI of the DTD</td></tr><tr><td><span 
class="term"><i><tt>format</tt></i>:</span></td><td>format string (see printf)</td></tr><tr><td><span 
class="term"><i><tt>...</tt></i>:</span></td><td>extra parameters for the format</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 
in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlTextWriterWriteFormatDTDAttlist"/>xmlTextWriterWriteFormatDTDAttlist ()</h3><pre 
class="programlisting">int    xmlTextWriterWriteFormatDTDAttlist      (<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 DTD ATTLIST.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>writer</tt></i>:</span></td><td>the <a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span 
class="term"><i><tt>name</tt></i>:</span></td><td>the name of the DTD ATTLIST</td></tr><tr><td><span 
class="term"><i><tt>format</tt></i>:</span></td><td>format string (see printf)</td></tr><tr><td><span 
class="term"><i><tt>...</tt></i>:</span></td><td>extra parameters for the format</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 
in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlTextWriterWriteFormatDTDElement"/>xmlTextWriterWriteFormatDTDElement ()</h3><pre 
class="programlisting">int    xmlTextWriterWriteFormatDTDElement      (<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 DTD element.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>writer</tt></i>:</span></td><td>the <a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span 
class="term"><i><tt>name</tt></i>:</span></td><td>the name of the DTD element</td></tr><tr><td><span 
class="term"><i><tt>format</tt></i>:</span></td><td>format string (see printf)</td></tr><tr><td><span 
class="term"><i><tt>...</tt></i>:</span></td><td>extra parameters for the format</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 
in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlTextWriterWriteFormatDTDInternalEntity"/>xmlTextWriterWriteFormatDTDInternalEntity ()</h3><pre 
class="programlisting">int      xmlTextWriterWriteFormatDTDInternalEntity       (<a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br/>                             
                       int pe, <br/>                                                   const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>                                               
         const char * format, <br/>                                                      ... ...)<br/>
-</pre><p>Write a formatted DTD internal entity.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>writer</tt></i>:</span></td><td>the <a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span 
class="term"><i><tt>pe</tt></i>:</span></td><td>TRUE if this is a parameter entity, FALSE if 
not</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the name of the DTD 
entity</td></tr><tr><td><span class="term"><i><tt>format</tt></i>:</span></td><td>format string (see 
printf)</td></tr><tr><td><span class="term"><i><tt>...</tt></i>:</span></td><td>extra parameters for the 
format</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 
0 because of buffering) or -1 in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlTextWriterWriteFormatElement"/>xmlTextWriterWriteFormatElement ()</h3><pre 
class="programlisting">int  xmlTextWriterWriteFormatElement (<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 element.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>writer</tt></i>:</span></td><td>the <a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span 
class="term"><i><tt>name</tt></i>:</span></td><td>element name</td></tr><tr><td><span 
class="term"><i><tt>format</tt></i>:</span></td><td>format string (see printf)</td></tr><tr><td><span 
class="term"><i><tt>...</tt></i>:</span></td><td>extra parameters for the format</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 
in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlTextWriterWriteFormatElementNS"/>xmlTextWriterWriteFormatElementNS ()</h3><pre 
class="programlisting">int      xmlTextWriterWriteFormatElementNS       (<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 char * format, <br/>                               
               ... ...)<br/>
-</pre><p>Write a formatted xml element with namespace support.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>writer</tt></i>:</span></td><td>the <a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span 
class="term"><i><tt>prefix</tt></i>:</span></td><td>namespace prefix</td></tr><tr><td><span 
class="term"><i><tt>name</tt></i>:</span></td><td>element local name</td></tr><tr><td><span 
class="term"><i><tt>namespaceURI</tt></i>:</span></td><td>namespace URI</td></tr><tr><td><span 
class="term"><i><tt>format</tt></i>:</span></td><td>format string (see printf)</td></tr><tr><td><span 
class="term"><i><tt>...</tt></i>:</span></td><td>extra parameters for the format</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 
in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextWriterWriteFormatPI"/>xmlTextWriterWriteFormatPI 
()</h3><pre class="programlisting">int    xmlTextWriterWriteFormatPI      (<a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br/>                             
       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * target, <br/>                             
         const char * format, <br/>                                      ... ...)<br/>
-</pre><p>Write a formatted PI.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>writer</tt></i>:</span></td><td>the <a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span 
class="term"><i><tt>target</tt></i>:</span></td><td>PI target</td></tr><tr><td><span 
class="term"><i><tt>format</tt></i>:</span></td><td>format string (see printf)</td></tr><tr><td><span 
class="term"><i><tt>...</tt></i>:</span></td><td>extra parameters for the format</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 
in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlTextWriterWriteFormatRaw"/>xmlTextWriterWriteFormatRaw ()</h3><pre class="programlisting">int  
xmlTextWriterWriteFormatRaw     (<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> 
writer, <br/>                                    const char * format, <br/>                                   
   ... ...)<br/>
-</pre><p>Write a formatted raw xml text.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>writer</tt></i>:</span></td><td>the <a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span 
class="term"><i><tt>format</tt></i>:</span></td><td>format string (see printf)</td></tr><tr><td><span 
class="term"><i><tt>...</tt></i>:</span></td><td>extra parameters for the format</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 
in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlTextWriterWriteFormatString"/>xmlTextWriterWriteFormatString ()</h3><pre class="programlisting">int  
  xmlTextWriterWriteFormatString  (<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> 
writer, <br/>                                    const char * format, <br/>                                   
   ... ...)<br/>
-</pre><p>Write a formatted xml text.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>writer</tt></i>:</span></td><td>the <a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span 
class="term"><i><tt>format</tt></i>:</span></td><td>format string (see printf)</td></tr><tr><td><span 
class="term"><i><tt>...</tt></i>:</span></td><td>extra parameters for the format</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 
in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextWriterWritePI"/>xmlTextWriterWritePI ()</h3><pre 
class="programlisting">int        xmlTextWriterWritePI            (<a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br/>                             
       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * target, <br/>                             
         const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br/>
-</pre><p>Write an xml PI.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>writer</tt></i>:</span></td><td>the <a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span 
class="term"><i><tt>target</tt></i>:</span></td><td>PI target</td></tr><tr><td><span 
class="term"><i><tt>content</tt></i>:</span></td><td>PI content</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 
in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextWriterWriteRaw"/>xmlTextWriterWriteRaw 
()</h3><pre class="programlisting">int      xmlTextWriterWriteRaw           (<a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br/>                             
       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br/>
-</pre><p>Write a raw xml text.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>writer</tt></i>:</span></td><td>the <a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span 
class="term"><i><tt>content</tt></i>:</span></td><td>text string</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 
in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextWriterWriteRawLen"/>xmlTextWriterWriteRawLen 
()</h3><pre class="programlisting">int        xmlTextWriterWriteRawLen        (<a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br/>                             
       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content, <br/>                            
         int len)<br/>
-</pre><p>Write an xml text. TODO: what about entities and special chars??</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>writer</tt></i>:</span></td><td>the <a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span 
class="term"><i><tt>content</tt></i>:</span></td><td>text string</td></tr><tr><td><span 
class="term"><i><tt>len</tt></i>:</span></td><td>length of the text string</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 
in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlTextWriterWriteString"/>xmlTextWriterWriteString 
()</h3><pre class="programlisting">int        xmlTextWriterWriteString        (<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 text.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>writer</tt></i>:</span></td><td>the <a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span 
class="term"><i><tt>content</tt></i>:</span></td><td>text string</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 
in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlTextWriterWriteVFormatAttribute"/>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 attribute.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>writer</tt></i>:</span></td><td>the <a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span 
class="term"><i><tt>name</tt></i>:</span></td><td><a href="libxml2-SAX.html#attribute">attribute</a> 
name</td></tr><tr><td><span class="term"><i><tt>format</tt></i>:</span></td><td>format string (see 
printf)</td></tr><tr><td><span class="term"><i><tt>argptr</tt></i>:</span></td><td>pointer to the first 
member of the variable argument list.</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 
in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlTextWriterWriteVFormatAttributeNS"/>xmlTextWriterWriteVFormatAttributeNS ()</h3><pre 
class="programlisting">int        xmlTextWriterWriteVFormatAttributeNS    (<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 char * format, <br/>                               
               va_list argptr)<br/>
-</pre><p>Write a formatted xml attribute.with namespace support</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>writer</tt></i>:</span></td><td>the <a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span 
class="term"><i><tt>prefix</tt></i>:</span></td><td>namespace prefix</td></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></tr><tr><td><span class="term"><i><tt>namespaceURI</tt></i>:</span></td><td>namespace 
URI</td></tr><tr><td><span class="term"><i><tt>format</tt></i>:</span></td><td>format string (see 
printf)</td></tr><tr><td><span class="term"><i><tt>argptr</tt></i>:</span></td><td>pointer to the first 
member of the variable argument list.</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 
in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlTextWriterWriteVFormatCDATA"/>xmlTextWriterWriteVFormatCDATA ()</h3><pre class="programlisting">int  
  xmlTextWriterWriteVFormatCDATA  (<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> 
writer, <br/>                                    const char * format, <br/>                                   
   va_list argptr)<br/>
-</pre><p>Write a formatted xml CDATA.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>writer</tt></i>:</span></td><td>the <a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span 
class="term"><i><tt>format</tt></i>:</span></td><td>format string (see printf)</td></tr><tr><td><span 
class="term"><i><tt>argptr</tt></i>:</span></td><td>pointer to the first member of the variable argument 
list.</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 
because of buffering) or -1 in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlTextWriterWriteVFormatComment"/>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 comment.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>writer</tt></i>:</span></td><td>the <a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span 
class="term"><i><tt>format</tt></i>:</span></td><td>format string (see printf)</td></tr><tr><td><span 
class="term"><i><tt>argptr</tt></i>:</span></td><td>pointer to the first member of the variable argument 
list.</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 
because of buffering) or -1 in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlTextWriterWriteVFormatDTD"/>xmlTextWriterWriteVFormatDTD ()</h3><pre class="programlisting">int      
  xmlTextWriterWriteVFormatDTD    (<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> 
* pubid, <br/>                                       const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * sysid, <br/>                                       const 
char * format, <br/>                                      va_list argptr)<br/>
-</pre><p>Write a DTD with a formatted markup declarations part.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>writer</tt></i>:</span></td><td>the <a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span 
class="term"><i><tt>name</tt></i>:</span></td><td>the name of the DTD</td></tr><tr><td><span 
class="term"><i><tt>pubid</tt></i>:</span></td><td>the public identifier, which is an alternative to the 
system identifier</td></tr><tr><td><span class="term"><i><tt>sysid</tt></i>:</span></td><td>the system 
identifier, which is the URI of the DTD</td></tr><tr><td><span 
class="term"><i><tt>format</tt></i>:</span></td><td>format string (see printf)</td></tr><tr><td><span 
class="term"><i><tt>argptr</tt></i>:</span></td><td>pointer to the first member of the variable argument 
list.</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 
because of buffering) or -1 in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlTextWriterWriteVFormatDTDAttlist"/>xmlTextWriterWriteVFormatDTDAttlist ()</h3><pre 
class="programlisting">int  xmlTextWriterWriteVFormatDTDAttlist     (<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 DTD ATTLIST.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>writer</tt></i>:</span></td><td>the <a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span 
class="term"><i><tt>name</tt></i>:</span></td><td>the name of the DTD ATTLIST</td></tr><tr><td><span 
class="term"><i><tt>format</tt></i>:</span></td><td>format string (see printf)</td></tr><tr><td><span 
class="term"><i><tt>argptr</tt></i>:</span></td><td>pointer to the first member of the variable argument 
list.</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 
because of buffering) or -1 in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlTextWriterWriteVFormatDTDElement"/>xmlTextWriterWriteVFormatDTDElement ()</h3><pre 
class="programlisting">int  xmlTextWriterWriteVFormatDTDElement     (<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 DTD element.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>writer</tt></i>:</span></td><td>the <a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span 
class="term"><i><tt>name</tt></i>:</span></td><td>the name of the DTD element</td></tr><tr><td><span 
class="term"><i><tt>format</tt></i>:</span></td><td>format string (see printf)</td></tr><tr><td><span 
class="term"><i><tt>argptr</tt></i>:</span></td><td>pointer to the first member of the variable argument 
list.</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 
because of buffering) or -1 in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlTextWriterWriteVFormatDTDInternalEntity"/>xmlTextWriterWriteVFormatDTDInternalEntity ()</h3><pre 
class="programlisting">int    xmlTextWriterWriteVFormatDTDInternalEntity      (<a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br/>                             
                       int pe, <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 DTD internal entity.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>writer</tt></i>:</span></td><td>the <a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span 
class="term"><i><tt>pe</tt></i>:</span></td><td>TRUE if this is a parameter entity, FALSE if 
not</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the name of the DTD 
entity</td></tr><tr><td><span class="term"><i><tt>format</tt></i>:</span></td><td>format string (see 
printf)</td></tr><tr><td><span class="term"><i><tt>argptr</tt></i>:</span></td><td>pointer to the first 
member of the variable argument list.</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 because of buffering) or -1 
in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlTextWriterWriteVFormatElement"/>xmlTextWriterWriteVFormatElement ()</h3><pre 
class="programlisting">int        xmlTextWriterWriteVFormatElement        (<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 element.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>writer</tt></i>:</span></td><td>the <a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span 
class="term"><i><tt>name</tt></i>:</span></td><td>element name</td></tr><tr><td><span 
class="term"><i><tt>format</tt></i>:</span></td><td>format string (see printf)</td></tr><tr><td><span 
class="term"><i><tt>argptr</tt></i>:</span></td><td>pointer to the first member of the variable argument 
list.</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 
because of buffering) or -1 in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlTextWriterWriteVFormatElementNS"/>xmlTextWriterWriteVFormatElementNS ()</h3><pre 
class="programlisting">int    xmlTextWriterWriteVFormatElementNS      (<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 char * format, <br/>                               
               va_list argptr)<br/>
-</pre><p>Write a formatted xml element with namespace support.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>writer</tt></i>:</span></td><td>the <a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span 
class="term"><i><tt>prefix</tt></i>:</span></td><td>namespace prefix</td></tr><tr><td><span 
class="term"><i><tt>name</tt></i>:</span></td><td>element local name</td></tr><tr><td><span 
class="term"><i><tt>namespaceURI</tt></i>:</span></td><td>namespace URI</td></tr><tr><td><span 
class="term"><i><tt>format</tt></i>:</span></td><td>format string (see printf)</td></tr><tr><td><span 
class="term"><i><tt>argptr</tt></i>:</span></td><td>pointer to the first member of the variable argument 
list.</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 
because of buffering) or -1 in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlTextWriterWriteVFormatPI"/>xmlTextWriterWriteVFormatPI ()</h3><pre class="programlisting">int  
xmlTextWriterWriteVFormatPI     (<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> 
writer, <br/>                                    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * 
target, <br/>                                      const char * format, <br/>                                 
     va_list argptr)<br/>
-</pre><p>Write a formatted xml PI.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>writer</tt></i>:</span></td><td>the <a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span 
class="term"><i><tt>target</tt></i>:</span></td><td>PI target</td></tr><tr><td><span 
class="term"><i><tt>format</tt></i>:</span></td><td>format string (see printf)</td></tr><tr><td><span 
class="term"><i><tt>argptr</tt></i>:</span></td><td>pointer to the first member of the variable argument 
list.</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 
because of buffering) or -1 in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlTextWriterWriteVFormatRaw"/>xmlTextWriterWriteVFormatRaw ()</h3><pre class="programlisting">int      
  xmlTextWriterWriteVFormatRaw    (<a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> 
writer, <br/>                                    const char * format, <br/>                                   
   va_list argptr)<br/>
-</pre><p>Write a formatted raw xml text.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>writer</tt></i>:</span></td><td>the <a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span 
class="term"><i><tt>format</tt></i>:</span></td><td>format string (see printf)</td></tr><tr><td><span 
class="term"><i><tt>argptr</tt></i>:</span></td><td>pointer to the first member of the variable argument 
list.</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 
because of buffering) or -1 in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlTextWriterWriteVFormatString"/>xmlTextWriterWriteVFormatString ()</h3><pre 
class="programlisting">int  xmlTextWriterWriteVFormatString (<a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br/>                             
       const char * format, <br/>                                      va_list argptr)<br/>
-</pre><p>Write a formatted xml text.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>writer</tt></i>:</span></td><td>the <a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a></td></tr><tr><td><span 
class="term"><i><tt>format</tt></i>:</span></td><td>format string (see printf)</td></tr><tr><td><span 
class="term"><i><tt>argptr</tt></i>:</span></td><td>pointer to the first member of the variable argument 
list.</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the bytes written (may be 0 
because of buffering) or -1 in case of error</td></tr></tbody></table></div></div>
-        <hr/>
-      </div>
-    </div>
-  </body>
+</pre>
+<p></p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextWriterPtr">Typedef </a>xmlTextWriterPtr</h3>
+<pre class="programlisting"><a href="libxml2-xmlwriter.html#xmlTextWriter">xmlTextWriter</a> * 
xmlTextWriterPtr;
+</pre>
+<p></p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlFreeTextWriter"></a>xmlFreeTextWriter ()</h3>
+<pre class="programlisting">void       xmlFreeTextWriter               (<a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer)<br>
+</pre>
+<p>Deallocate all the resources associated to the writer</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>writer</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
+</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNewTextWriter"></a>xmlNewTextWriter ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>     
xmlNewTextWriter        (<a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> out)<br>
+</pre>
+<p>Create a new <a href="libxml2-xmlwriter.html#xmlNewTextWriter">xmlNewTextWriter</a> structure using an <a 
href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a> NOTE: the @out parameter will be 
deallocated when the writer is closed (if the call succeed.)</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>out</tt></i>:</span></td>
+<td>an <a href="libxml2-tree.html#xmlOutputBufferPtr">xmlOutputBufferPtr</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the new <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> or NULL in case of 
error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNewTextWriterDoc"></a>xmlNewTextWriterDoc ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>     
xmlNewTextWriterDoc     (<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> * doc, <br>                      
                           int compression)<br>
+</pre>
+<p>Create a new <a href="libxml2-xmlwriter.html#xmlNewTextWriter">xmlNewTextWriter</a> structure with @*doc 
as output</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>doc</tt></i>:</span></td>
+<td>address of a <a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> to hold the new XML document tree</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>compression</tt></i>:</span></td>
+<td>compress the output?</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the new <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> or NULL in case of 
error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNewTextWriterFilename"></a>xmlNewTextWriterFilename ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>     
xmlNewTextWriterFilename        (const char * uri, <br>                                                  int 
compression)<br>
+</pre>
+<p>Create a new <a href="libxml2-xmlwriter.html#xmlNewTextWriter">xmlNewTextWriter</a> structure with @uri 
as output</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 of the resource for the output</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>compression</tt></i>:</span></td>
+<td>compress the output?</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the new <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> or NULL in case of 
error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNewTextWriterMemory"></a>xmlNewTextWriterMemory ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>     
xmlNewTextWriterMemory  (<a href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a> buf, <br>                  
                           int compression)<br>
+</pre>
+<p>Create a new <a href="libxml2-xmlwriter.html#xmlNewTextWriter">xmlNewTextWriter</a> structure with @buf 
as output TODO: handle compression</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 href="libxml2-tree.html#xmlBufferPtr">xmlBufferPtr</a></td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>compression</tt></i>:</span></td>
+<td>compress the output?</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the new <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> or NULL in case of 
error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNewTextWriterPushParser"></a>xmlNewTextWriterPushParser ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>     
xmlNewTextWriterPushParser      (<a href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> ctxt, <br> 
                                                   int compression)<br>
+</pre>
+<p>Create a new <a href="libxml2-xmlwriter.html#xmlNewTextWriter">xmlNewTextWriter</a> structure with @ctxt 
as output NOTE: the @ctxt context will be freed with the resulting writer (if the call succeeds). TODO: 
handle compression</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 href="libxml2-tree.html#xmlParserCtxtPtr">xmlParserCtxtPtr</a> to hold the new XML document tree</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>compression</tt></i>:</span></td>
+<td>compress the output?</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the new <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> or NULL in case of 
error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNewTextWriterTree"></a>xmlNewTextWriterTree ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>     
xmlNewTextWriterTree    (<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc, <br>                        
                   <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>                           
                     int compression)<br>
+</pre>
+<p>Create a new <a href="libxml2-xmlwriter.html#xmlNewTextWriter">xmlNewTextWriter</a> structure with @doc 
as output starting at @node</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>doc</tt></i>:</span></td>
+<td><a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a></td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>node</tt></i>:</span></td>
+<td>
+<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> or NULL for doc-&gt;children</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>compression</tt></i>:</span></td>
+<td>compress the output?</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the new <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> or NULL in case of 
error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextWriterEndAttribute"></a>xmlTextWriterEndAttribute ()</h3>
+<pre class="programlisting">int        xmlTextWriterEndAttribute       (<a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer)<br>
+</pre>
+<p>End the current xml element.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>writer</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextWriterEndCDATA"></a>xmlTextWriterEndCDATA ()</h3>
+<pre class="programlisting">int        xmlTextWriterEndCDATA           (<a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer)<br>
+</pre>
+<p>End an xml CDATA section.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>writer</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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 comment.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>writer</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextWriterEndDTD"></a>xmlTextWriterEndDTD ()</h3>
+<pre class="programlisting">int        xmlTextWriterEndDTD             (<a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer)<br>
+</pre>
+<p>End an xml DTD.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>writer</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>writer</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextWriterEndDTDElement"></a>xmlTextWriterEndDTDElement ()</h3>
+<pre class="programlisting">int        xmlTextWriterEndDTDElement      (<a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer)<br>
+</pre>
+<p>End an xml DTD element.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>writer</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextWriterEndDTDEntity"></a>xmlTextWriterEndDTDEntity ()</h3>
+<pre class="programlisting">int        xmlTextWriterEndDTDEntity       (<a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer)<br>
+</pre>
+<p>End an xml DTD entity.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>writer</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextWriterEndDocument"></a>xmlTextWriterEndDocument ()</h3>
+<pre class="programlisting">int        xmlTextWriterEndDocument        (<a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer)<br>
+</pre>
+<p>End an xml document. All open elements are closed, and the content is flushed to the output.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>writer</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the bytes written or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextWriterEndElement"></a>xmlTextWriterEndElement ()</h3>
+<pre class="programlisting">int        xmlTextWriterEndElement         (<a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer)<br>
+</pre>
+<p>End the current xml element.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>writer</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextWriterEndPI"></a>xmlTextWriterEndPI ()</h3>
+<pre class="programlisting">int        xmlTextWriterEndPI              (<a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer)<br>
+</pre>
+<p>End the current xml PI.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>writer</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextWriterFlush"></a>xmlTextWriterFlush ()</h3>
+<pre class="programlisting">int        xmlTextWriterFlush              (<a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer)<br>
+</pre>
+<p>Flush the output buffer.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>writer</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextWriterFullEndElement"></a>xmlTextWriterFullEndElement ()</h3>
+<pre class="programlisting">int        xmlTextWriterFullEndElement     (<a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer)<br>
+</pre>
+<p>End the current xml element. Writes an end tag even if the element is empty</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>writer</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextWriterSetIndent"></a>xmlTextWriterSetIndent ()</h3>
+<pre class="programlisting">int        xmlTextWriterSetIndent          (<a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>                              
       int indent)<br>
+</pre>
+<p>Set indentation output. indent = 0 do not indentation. indent &gt; 0 do indentation.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>writer</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>indent</tt></i>:</span></td>
+<td>do indentation?</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>-1 on error or 0 otherwise.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextWriterSetIndentString"></a>xmlTextWriterSetIndentString ()</h3>
+<pre class="programlisting">int        xmlTextWriterSetIndentString    (<a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>                              
       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str)<br>
+</pre>
+<p>Set string indentation.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>writer</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>str</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> string</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>-1 on error or 0 otherwise.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextWriterSetQuoteChar"></a>xmlTextWriterSetQuoteChar ()</h3>
+<pre class="programlisting">int        xmlTextWriterSetQuoteChar       (<a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>                              
       <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> quotechar)<br>
+</pre>
+<p>Set the character used for quoting attributes.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>writer</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>quotechar</tt></i>:</span></td>
+<td>the quote character</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>-1 on error or 0 otherwise.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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 attribute.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>writer</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>element name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>writer</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>prefix</tt></i>:</span></td>
+<td>namespace prefix or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>element local name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>namespaceURI</tt></i>:</span></td>
+<td>namespace URI or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextWriterStartCDATA"></a>xmlTextWriterStartCDATA ()</h3>
+<pre class="programlisting">int        xmlTextWriterStartCDATA         (<a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer)<br>
+</pre>
+<p>Start an xml CDATA section.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>writer</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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 comment.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>writer</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextWriterStartDTD"></a>xmlTextWriterStartDTD ()</h3>
+<pre class="programlisting">int        xmlTextWriterStartDTD           (<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> * pubid, <br>                             
           const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * sysid)<br>
+</pre>
+<p>Start an xml DTD.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>writer</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the name of the DTD</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>pubid</tt></i>:</span></td>
+<td>the public identifier, which is an alternative to the system identifier</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>sysid</tt></i>:</span></td>
+<td>the system identifier, which is the URI of the DTD</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextWriterStartDTDAttlist"></a>xmlTextWriterStartDTDAttlist ()</h3>
+<pre class="programlisting">int        xmlTextWriterStartDTDAttlist    (<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 DTD ATTLIST.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>writer</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the name of the DTD ATTLIST</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextWriterStartDTDElement"></a>xmlTextWriterStartDTDElement ()</h3>
+<pre class="programlisting">int        xmlTextWriterStartDTDElement    (<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 DTD element.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>writer</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the name of the DTD element</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextWriterStartDTDEntity"></a>xmlTextWriterStartDTDEntity ()</h3>
+<pre class="programlisting">int        xmlTextWriterStartDTDEntity     (<a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>                              
       int pe, <br>                                    const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
+</pre>
+<p>Start an xml DTD ATTLIST.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>writer</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>pe</tt></i>:</span></td>
+<td>TRUE if this is a parameter entity, FALSE if not</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the name of the DTD ATTLIST</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextWriterStartDocument"></a>xmlTextWriterStartDocument ()</h3>
+<pre class="programlisting">int        xmlTextWriterStartDocument      (<a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>                              
       const char * version, <br>                                      const char * encoding, <br>            
                         const char * standalone)<br>
+</pre>
+<p>Start a new xml document</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>writer</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>version</tt></i>:</span></td>
+<td>the xml version ("1.0") or NULL for default ("1.0")</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>encoding</tt></i>:</span></td>
+<td>the encoding or NULL for default</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>standalone</tt></i>:</span></td>
+<td>"yes" or "no" or NULL for default</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextWriterStartElement"></a>xmlTextWriterStartElement ()</h3>
+<pre class="programlisting">int        xmlTextWriterStartElement       (<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 element.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>writer</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>element name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextWriterStartElementNS"></a>xmlTextWriterStartElementNS ()</h3>
+<pre class="programlisting">int        xmlTextWriterStartElementNS     (<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 element with namespace support.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>writer</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>prefix</tt></i>:</span></td>
+<td>namespace prefix or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>element local name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>namespaceURI</tt></i>:</span></td>
+<td>namespace URI or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextWriterStartPI"></a>xmlTextWriterStartPI ()</h3>
+<pre class="programlisting">int        xmlTextWriterStartPI            (<a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>                              
       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * target)<br>
+</pre>
+<p>Start an xml PI.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>writer</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>target</tt></i>:</span></td>
+<td>PI target</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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 attribute.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>writer</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>
+<a href="libxml2-SAX.html#attribute">attribute</a> 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>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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 attribute.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>writer</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>prefix</tt></i>:</span></td>
+<td>namespace prefix</td>
+</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>
+</tr>
+<tr>
+<td><span class="term"><i><tt>namespaceURI</tt></i>:</span></td>
+<td>namespace URI</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>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextWriterWriteBase64"></a>xmlTextWriterWriteBase64 ()</h3>
+<pre class="programlisting">int        xmlTextWriterWriteBase64        (<a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>                              
       const char * data, <br>                                         int start, <br>                        
                 int len)<br>
+</pre>
+<p>Write an base64 encoded xml text.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>writer</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>data</tt></i>:</span></td>
+<td>binary data</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>start</tt></i>:</span></td>
+<td>the position within the data of the first byte to encode</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>len</tt></i>:</span></td>
+<td>the number of bytes to encode</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextWriterWriteBinHex"></a>xmlTextWriterWriteBinHex ()</h3>
+<pre class="programlisting">int        xmlTextWriterWriteBinHex        (<a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>                              
       const char * data, <br>                                         int start, <br>                        
                 int len)<br>
+</pre>
+<p>Write a BinHex encoded xml text.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>writer</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>data</tt></i>:</span></td>
+<td>binary data</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>start</tt></i>:</span></td>
+<td>the position within the data of the first byte to encode</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>len</tt></i>:</span></td>
+<td>the number of bytes to encode</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextWriterWriteCDATA"></a>xmlTextWriterWriteCDATA ()</h3>
+<pre class="programlisting">int        xmlTextWriterWriteCDATA         (<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 CDATA.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>writer</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>content</tt></i>:</span></td>
+<td>CDATA content</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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 comment.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>writer</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>content</tt></i>:</span></td>
+<td>
+<a href="libxml2-SAX.html#comment">comment</a> string</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextWriterWriteDTD"></a>xmlTextWriterWriteDTD ()</h3>
+<pre class="programlisting">int        xmlTextWriterWriteDTD           (<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> * pubid, <br>                             
           const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * sysid, <br>                           
             const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * subset)<br>
+</pre>
+<p>Write a DTD.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>writer</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the name of the DTD</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>pubid</tt></i>:</span></td>
+<td>the public identifier, which is an alternative to the system identifier</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>sysid</tt></i>:</span></td>
+<td>the system identifier, which is the URI of the DTD</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>subset</tt></i>:</span></td>
+<td>string content of the DTD</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextWriterWriteDTDAttlist"></a>xmlTextWriterWriteDTDAttlist ()</h3>
+<pre class="programlisting">int        xmlTextWriterWriteDTDAttlist    (<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 a DTD ATTLIST.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>writer</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the name of the DTD ATTLIST</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>content</tt></i>:</span></td>
+<td>content of the ATTLIST</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextWriterWriteDTDElement"></a>xmlTextWriterWriteDTDElement ()</h3>
+<pre class="programlisting">int        xmlTextWriterWriteDTDElement    (<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 a DTD element.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>writer</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the name of the DTD element</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>content</tt></i>:</span></td>
+<td>content of the element</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextWriterWriteDTDEntity"></a>xmlTextWriterWriteDTDEntity ()</h3>
+<pre class="programlisting">int        xmlTextWriterWriteDTDEntity     (<a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>                              
       int pe, <br>                                    const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>                                         const 
<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pubid, <br>                                        
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * sysid, <br>                                      
  const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ndataid, <br>                                  
    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br>
+</pre>
+<p>Write a DTD entity.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>writer</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>pe</tt></i>:</span></td>
+<td>TRUE if this is a parameter entity, FALSE if not</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the name of the DTD entity</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>pubid</tt></i>:</span></td>
+<td>the public identifier, which is an alternative to the system identifier</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>sysid</tt></i>:</span></td>
+<td>the system identifier, which is the URI of the DTD</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ndataid</tt></i>:</span></td>
+<td>the xml notation name.</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>content</tt></i>:</span></td>
+<td>content of the entity</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextWriterWriteDTDExternalEntity"></a>xmlTextWriterWriteDTDExternalEntity ()</h3>
+<pre class="programlisting">int        xmlTextWriterWriteDTDExternalEntity     (<a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>                              
               int pe, <br>                                            const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>                                                
 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pubid, <br>                                     
           const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * sysid, <br>                           
                     const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ndataid)<br>
+</pre>
+<p>Write a DTD external entity. The entity must have been started with <a 
href="libxml2-xmlwriter.html#xmlTextWriterStartDTDEntity">xmlTextWriterStartDTDEntity</a></p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>writer</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>pe</tt></i>:</span></td>
+<td>TRUE if this is a parameter entity, FALSE if not</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the name of the DTD entity</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>pubid</tt></i>:</span></td>
+<td>the public identifier, which is an alternative to the system identifier</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>sysid</tt></i>:</span></td>
+<td>the system identifier, which is the URI of the DTD</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ndataid</tt></i>:</span></td>
+<td>the xml notation name.</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextWriterWriteDTDExternalEntityContents"></a>xmlTextWriterWriteDTDExternalEntityContents ()</h3>
+<pre class="programlisting">int        xmlTextWriterWriteDTDExternalEntityContents     (<a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>                              
                       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pubid, <br>               
                                         const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * sysid, 
<br>                                                        const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ndataid)<br>
+</pre>
+<p>Write the contents of a DTD external entity.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>writer</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>pubid</tt></i>:</span></td>
+<td>the public identifier, which is an alternative to the system identifier</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>sysid</tt></i>:</span></td>
+<td>the system identifier, which is the URI of the DTD</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ndataid</tt></i>:</span></td>
+<td>the xml notation name.</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextWriterWriteDTDInternalEntity"></a>xmlTextWriterWriteDTDInternalEntity ()</h3>
+<pre class="programlisting">int        xmlTextWriterWriteDTDInternalEntity     (<a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>                              
               int pe, <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 a DTD internal entity.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>writer</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>pe</tt></i>:</span></td>
+<td>TRUE if this is a parameter entity, FALSE if not</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the name of the DTD entity</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>content</tt></i>:</span></td>
+<td>content of the entity</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextWriterWriteDTDNotation"></a>xmlTextWriterWriteDTDNotation ()</h3>
+<pre class="programlisting">int        xmlTextWriterWriteDTDNotation   (<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> * pubid, <br>                             
           const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * sysid)<br>
+</pre>
+<p>Write a DTD entity.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>writer</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the name of the xml notation</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>pubid</tt></i>:</span></td>
+<td>the public identifier, which is an alternative to the system identifier</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>sysid</tt></i>:</span></td>
+<td>the system identifier, which is the URI of the DTD</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextWriterWriteElement"></a>xmlTextWriterWriteElement ()</h3>
+<pre class="programlisting">int        xmlTextWriterWriteElement       (<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 element.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>writer</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>element name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>content</tt></i>:</span></td>
+<td>element content</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextWriterWriteElementNS"></a>xmlTextWriterWriteElementNS ()</h3>
+<pre class="programlisting">int        xmlTextWriterWriteElementNS     (<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 element with namespace support.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>writer</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>prefix</tt></i>:</span></td>
+<td>namespace prefix</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>element local name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>namespaceURI</tt></i>:</span></td>
+<td>namespace URI</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>content</tt></i>:</span></td>
+<td>element content</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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 attribute.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>writer</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>
+<a href="libxml2-SAX.html#attribute">attribute</a> name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>format</tt></i>:</span></td>
+<td>format string (see printf)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>...</tt></i>:</span></td>
+<td>extra parameters for the format</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextWriterWriteFormatAttributeNS"></a>xmlTextWriterWriteFormatAttributeNS ()</h3>
+<pre class="programlisting">int        xmlTextWriterWriteFormatAttributeNS     (<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 char * format, <br>                                
               ... ...)<br>
+</pre>
+<p>Write a formatted xml attribute.with namespace support</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>writer</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>prefix</tt></i>:</span></td>
+<td>namespace prefix</td>
+</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>
+</tr>
+<tr>
+<td><span class="term"><i><tt>namespaceURI</tt></i>:</span></td>
+<td>namespace URI</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>format</tt></i>:</span></td>
+<td>format string (see printf)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>...</tt></i>:</span></td>
+<td>extra parameters for the format</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextWriterWriteFormatCDATA"></a>xmlTextWriterWriteFormatCDATA ()</h3>
+<pre class="programlisting">int        xmlTextWriterWriteFormatCDATA   (<a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>                              
       const char * format, <br>                                       ... ...)<br>
+</pre>
+<p>Write a formatted xml CDATA.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>writer</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>format</tt></i>:</span></td>
+<td>format string (see printf)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>...</tt></i>:</span></td>
+<td>extra parameters for the format</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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 comment.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>writer</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>format</tt></i>:</span></td>
+<td>format string (see printf)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>...</tt></i>:</span></td>
+<td>extra parameters for the format</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextWriterWriteFormatDTD"></a>xmlTextWriterWriteFormatDTD ()</h3>
+<pre class="programlisting">int        xmlTextWriterWriteFormatDTD     (<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> * pubid, <br>                             
           const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * sysid, <br>                           
             const char * format, <br>                                       ... ...)<br>
+</pre>
+<p>Write a DTD with a formatted markup declarations part.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>writer</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the name of the DTD</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>pubid</tt></i>:</span></td>
+<td>the public identifier, which is an alternative to the system identifier</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>sysid</tt></i>:</span></td>
+<td>the system identifier, which is the URI of the DTD</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>format</tt></i>:</span></td>
+<td>format string (see printf)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>...</tt></i>:</span></td>
+<td>extra parameters for the format</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextWriterWriteFormatDTDAttlist"></a>xmlTextWriterWriteFormatDTDAttlist ()</h3>
+<pre class="programlisting">int        xmlTextWriterWriteFormatDTDAttlist      (<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 DTD ATTLIST.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>writer</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the name of the DTD ATTLIST</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>format</tt></i>:</span></td>
+<td>format string (see printf)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>...</tt></i>:</span></td>
+<td>extra parameters for the format</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextWriterWriteFormatDTDElement"></a>xmlTextWriterWriteFormatDTDElement ()</h3>
+<pre class="programlisting">int        xmlTextWriterWriteFormatDTDElement      (<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 DTD element.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>writer</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the name of the DTD element</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>format</tt></i>:</span></td>
+<td>format string (see printf)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>...</tt></i>:</span></td>
+<td>extra parameters for the format</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextWriterWriteFormatDTDInternalEntity"></a>xmlTextWriterWriteFormatDTDInternalEntity ()</h3>
+<pre class="programlisting">int        xmlTextWriterWriteFormatDTDInternalEntity       (<a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>                              
                       int pe, <br>                                                    const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>                                                
         const char * format, <br>                                                       ... ...)<br>
+</pre>
+<p>Write a formatted DTD internal entity.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>writer</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>pe</tt></i>:</span></td>
+<td>TRUE if this is a parameter entity, FALSE if not</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the name of the DTD entity</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>format</tt></i>:</span></td>
+<td>format string (see printf)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>...</tt></i>:</span></td>
+<td>extra parameters for the format</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextWriterWriteFormatElement"></a>xmlTextWriterWriteFormatElement ()</h3>
+<pre class="programlisting">int        xmlTextWriterWriteFormatElement (<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 element.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>writer</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>element name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>format</tt></i>:</span></td>
+<td>format string (see printf)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>...</tt></i>:</span></td>
+<td>extra parameters for the format</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextWriterWriteFormatElementNS"></a>xmlTextWriterWriteFormatElementNS ()</h3>
+<pre class="programlisting">int        xmlTextWriterWriteFormatElementNS       (<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 char * format, <br>                                
               ... ...)<br>
+</pre>
+<p>Write a formatted xml element with namespace support.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>writer</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>prefix</tt></i>:</span></td>
+<td>namespace prefix</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>element local name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>namespaceURI</tt></i>:</span></td>
+<td>namespace URI</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>format</tt></i>:</span></td>
+<td>format string (see printf)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>...</tt></i>:</span></td>
+<td>extra parameters for the format</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextWriterWriteFormatPI"></a>xmlTextWriterWriteFormatPI ()</h3>
+<pre class="programlisting">int        xmlTextWriterWriteFormatPI      (<a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>                              
       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * target, <br>                              
         const char * format, <br>                                       ... ...)<br>
+</pre>
+<p>Write a formatted PI.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>writer</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>target</tt></i>:</span></td>
+<td>PI target</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>format</tt></i>:</span></td>
+<td>format string (see printf)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>...</tt></i>:</span></td>
+<td>extra parameters for the format</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextWriterWriteFormatRaw"></a>xmlTextWriterWriteFormatRaw ()</h3>
+<pre class="programlisting">int        xmlTextWriterWriteFormatRaw     (<a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>                              
       const char * format, <br>                                       ... ...)<br>
+</pre>
+<p>Write a formatted raw xml text.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>writer</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>format</tt></i>:</span></td>
+<td>format string (see printf)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>...</tt></i>:</span></td>
+<td>extra parameters for the format</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextWriterWriteFormatString"></a>xmlTextWriterWriteFormatString ()</h3>
+<pre class="programlisting">int        xmlTextWriterWriteFormatString  (<a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>                              
       const char * format, <br>                                       ... ...)<br>
+</pre>
+<p>Write a formatted xml text.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>writer</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>format</tt></i>:</span></td>
+<td>format string (see printf)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>...</tt></i>:</span></td>
+<td>extra parameters for the format</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextWriterWritePI"></a>xmlTextWriterWritePI ()</h3>
+<pre class="programlisting">int        xmlTextWriterWritePI            (<a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>                              
       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * target, <br>                              
         const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br>
+</pre>
+<p>Write an xml PI.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>writer</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>target</tt></i>:</span></td>
+<td>PI target</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>content</tt></i>:</span></td>
+<td>PI content</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextWriterWriteRaw"></a>xmlTextWriterWriteRaw ()</h3>
+<pre class="programlisting">int        xmlTextWriterWriteRaw           (<a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>                              
       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content)<br>
+</pre>
+<p>Write a raw xml text.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>writer</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>content</tt></i>:</span></td>
+<td>text string</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextWriterWriteRawLen"></a>xmlTextWriterWriteRawLen ()</h3>
+<pre class="programlisting">int        xmlTextWriterWriteRawLen        (<a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>                              
       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * content, <br>                             
         int len)<br>
+</pre>
+<p>Write an xml text. TODO: what about entities and special chars??</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>writer</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>content</tt></i>:</span></td>
+<td>text string</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>len</tt></i>:</span></td>
+<td>length of the text string</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextWriterWriteString"></a>xmlTextWriterWriteString ()</h3>
+<pre class="programlisting">int        xmlTextWriterWriteString        (<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 text.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>writer</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>content</tt></i>:</span></td>
+<td>text string</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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 attribute.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>writer</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>
+<a href="libxml2-SAX.html#attribute">attribute</a> name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>format</tt></i>:</span></td>
+<td>format string (see printf)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>argptr</tt></i>:</span></td>
+<td>pointer to the first member of the variable argument list.</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextWriterWriteVFormatAttributeNS"></a>xmlTextWriterWriteVFormatAttributeNS ()</h3>
+<pre class="programlisting">int        xmlTextWriterWriteVFormatAttributeNS    (<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 char * format, <br>                                
               va_list argptr)<br>
+</pre>
+<p>Write a formatted xml attribute.with namespace support</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>writer</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>prefix</tt></i>:</span></td>
+<td>namespace prefix</td>
+</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>
+</tr>
+<tr>
+<td><span class="term"><i><tt>namespaceURI</tt></i>:</span></td>
+<td>namespace URI</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>format</tt></i>:</span></td>
+<td>format string (see printf)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>argptr</tt></i>:</span></td>
+<td>pointer to the first member of the variable argument list.</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextWriterWriteVFormatCDATA"></a>xmlTextWriterWriteVFormatCDATA ()</h3>
+<pre class="programlisting">int        xmlTextWriterWriteVFormatCDATA  (<a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>                              
       const char * format, <br>                                       va_list argptr)<br>
+</pre>
+<p>Write a formatted xml CDATA.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>writer</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>format</tt></i>:</span></td>
+<td>format string (see printf)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>argptr</tt></i>:</span></td>
+<td>pointer to the first member of the variable argument list.</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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 comment.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>writer</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>format</tt></i>:</span></td>
+<td>format string (see printf)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>argptr</tt></i>:</span></td>
+<td>pointer to the first member of the variable argument list.</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextWriterWriteVFormatDTD"></a>xmlTextWriterWriteVFormatDTD ()</h3>
+<pre class="programlisting">int        xmlTextWriterWriteVFormatDTD    (<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> * pubid, <br>                             
           const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * sysid, <br>                           
             const char * format, <br>                                       va_list argptr)<br>
+</pre>
+<p>Write a DTD with a formatted markup declarations part.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>writer</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the name of the DTD</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>pubid</tt></i>:</span></td>
+<td>the public identifier, which is an alternative to the system identifier</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>sysid</tt></i>:</span></td>
+<td>the system identifier, which is the URI of the DTD</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>format</tt></i>:</span></td>
+<td>format string (see printf)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>argptr</tt></i>:</span></td>
+<td>pointer to the first member of the variable argument list.</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextWriterWriteVFormatDTDAttlist"></a>xmlTextWriterWriteVFormatDTDAttlist ()</h3>
+<pre class="programlisting">int        xmlTextWriterWriteVFormatDTDAttlist     (<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 DTD ATTLIST.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>writer</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the name of the DTD ATTLIST</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>format</tt></i>:</span></td>
+<td>format string (see printf)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>argptr</tt></i>:</span></td>
+<td>pointer to the first member of the variable argument list.</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextWriterWriteVFormatDTDElement"></a>xmlTextWriterWriteVFormatDTDElement ()</h3>
+<pre class="programlisting">int        xmlTextWriterWriteVFormatDTDElement     (<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 DTD element.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>writer</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the name of the DTD element</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>format</tt></i>:</span></td>
+<td>format string (see printf)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>argptr</tt></i>:</span></td>
+<td>pointer to the first member of the variable argument list.</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextWriterWriteVFormatDTDInternalEntity"></a>xmlTextWriterWriteVFormatDTDInternalEntity ()</h3>
+<pre class="programlisting">int        xmlTextWriterWriteVFormatDTDInternalEntity      (<a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>                              
                       int pe, <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 DTD internal entity.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>writer</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>pe</tt></i>:</span></td>
+<td>TRUE if this is a parameter entity, FALSE if not</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the name of the DTD entity</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>format</tt></i>:</span></td>
+<td>format string (see printf)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>argptr</tt></i>:</span></td>
+<td>pointer to the first member of the variable argument list.</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextWriterWriteVFormatElement"></a>xmlTextWriterWriteVFormatElement ()</h3>
+<pre class="programlisting">int        xmlTextWriterWriteVFormatElement        (<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 element.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>writer</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>element name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>format</tt></i>:</span></td>
+<td>format string (see printf)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>argptr</tt></i>:</span></td>
+<td>pointer to the first member of the variable argument list.</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextWriterWriteVFormatElementNS"></a>xmlTextWriterWriteVFormatElementNS ()</h3>
+<pre class="programlisting">int        xmlTextWriterWriteVFormatElementNS      (<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 char * format, <br>                                
               va_list argptr)<br>
+</pre>
+<p>Write a formatted xml element with namespace support.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>writer</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>prefix</tt></i>:</span></td>
+<td>namespace prefix</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>element local name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>namespaceURI</tt></i>:</span></td>
+<td>namespace URI</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>format</tt></i>:</span></td>
+<td>format string (see printf)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>argptr</tt></i>:</span></td>
+<td>pointer to the first member of the variable argument list.</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextWriterWriteVFormatPI"></a>xmlTextWriterWriteVFormatPI ()</h3>
+<pre class="programlisting">int        xmlTextWriterWriteVFormatPI     (<a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>                              
       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * target, <br>                              
         const char * format, <br>                                       va_list argptr)<br>
+</pre>
+<p>Write a formatted xml PI.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>writer</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>target</tt></i>:</span></td>
+<td>PI target</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>format</tt></i>:</span></td>
+<td>format string (see printf)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>argptr</tt></i>:</span></td>
+<td>pointer to the first member of the variable argument list.</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextWriterWriteVFormatRaw"></a>xmlTextWriterWriteVFormatRaw ()</h3>
+<pre class="programlisting">int        xmlTextWriterWriteVFormatRaw    (<a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>                              
       const char * format, <br>                                       va_list argptr)<br>
+</pre>
+<p>Write a formatted raw xml text.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>writer</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>format</tt></i>:</span></td>
+<td>format string (see printf)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>argptr</tt></i>:</span></td>
+<td>pointer to the first member of the variable argument list.</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlTextWriterWriteVFormatString"></a>xmlTextWriterWriteVFormatString ()</h3>
+<pre class="programlisting">int        xmlTextWriterWriteVFormatString (<a 
href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a> writer, <br>                              
       const char * format, <br>                                       va_list argptr)<br>
+</pre>
+<p>Write a formatted xml text.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>writer</tt></i>:</span></td>
+<td>the <a href="libxml2-xmlwriter.html#xmlTextWriterPtr">xmlTextWriterPtr</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>format</tt></i>:</span></td>
+<td>format string (see printf)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>argptr</tt></i>:</span></td>
+<td>pointer to the first member of the variable argument list.</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the bytes written (may be 0 because of buffering) or -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+</div>
+</div>
+</body>
 </html>
diff --git a/doc/devhelp/libxml2-xpath.html b/doc/devhelp/libxml2-xpath.html
index 4378b35b..a5970ac0 100644
--- a/doc/devhelp/libxml2-xpath.html
+++ b/doc/devhelp/libxml2-xpath.html
@@ -1,49 +1,28 @@
-<?xml version="1.0" encoding="UTF-8"?>
 <html>
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
-    <title>xpath: XML Path Language implementation</title>
-    <meta name="generator" content="Libxml2 devhelp stylesheet"/>
-    <link rel="start" href="index.html" title="libxml2 Reference Manual"/>
-    <link rel="up" href="general.html" title="API"/>
-    <link rel="stylesheet" href="style.css" type="text/css"/>
-    <link rel="chapter" href="general.html" title="API"/>
-  </head>
-  <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-    <table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
-      <tr valign="middle">
-        <td>
-          <a accesskey="p" href="libxml2-xmlwriter.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-xpathInternals.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">xpath</span>
-    </h2>
-    <p>xpath - XML Path Language implementation</p>
-    <p>API for the XML Path Language implementation  XML Path Language implementation XPath is a language 
for addressing parts of an XML document, designed to be used by both XSLT and XPointer</p>
-    <p>Author(s): Daniel Veillard </p>
-    <div class="refsynopsisdiv">
-      <h2>Synopsis</h2>
-      <pre class="synopsis">#define <a href="#XML_XPATH_CHECKNS">XML_XPATH_CHECKNS</a>;
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>xpath: XML Path Language implementation</title>
+<meta name="generator" content="Libxml2 devhelp stylesheet">
+<link rel="start" href="index.html" title="libxml2 Reference Manual">
+<link rel="up" href="general.html" title="API">
+<link rel="stylesheet" href="style.css" type="text/css">
+<link rel="chapter" href="general.html" title="API">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr 
valign="middle">
+<td><a accesskey="p" href="libxml2-xmlwriter.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-xpathInternals.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">xpath</span></h2>
+<p>xpath - XML Path Language implementation</p>
+<p>API for the XML Path Language implementation  XML Path Language implementation XPath is a language for 
addressing parts of an XML document, designed to be used by both XSLT and XPointer</p>
+<p>Author(s): Daniel Veillard </p>
+<div class="refsynopsisdiv">
+<h2>Synopsis</h2>
+<pre class="synopsis">#define <a href="#XML_XPATH_CHECKNS">XML_XPATH_CHECKNS</a>;
 #define <a href="#XML_XPATH_NOVAR">XML_XPATH_NOVAR</a>;
 #define <a href="#xmlXPathNodeSetGetLength">xmlXPathNodeSetGetLength</a>(ns);
 #define <a href="#xmlXPathNodeSetIsEmpty">xmlXPathNodeSetIsEmpty</a>(ns);
@@ -68,7 +47,7 @@ typedef struct _xmlXPathType <a href="#xmlXPathType">xmlXPathType</a>;
 typedef <a href="libxml2-xpath.html#xmlXPathType">xmlXPathType</a> * <a 
href="#xmlXPathTypePtr">xmlXPathTypePtr</a>;
 typedef struct _xmlXPathVariable <a href="#xmlXPathVariable">xmlXPathVariable</a>;
 typedef <a href="libxml2-xpath.html#xmlXPathVariable">xmlXPathVariable</a> * <a 
href="#xmlXPathVariablePtr">xmlXPathVariablePtr</a>;
-typedef <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> <a 
href="#xmlXPathAxisFunc">xmlXPathAxisFunc</a>  (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>                   
                       <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> cur);
+typedef <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> <a 
href="#xmlXPathAxisFunc">xmlXPathAxisFunc</a>  (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>                    
                       <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> cur);
 double <a href="#xmlXPathCastBooleanToNumber">xmlXPathCastBooleanToNumber</a>  (int val);
 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * <a 
href="#xmlXPathCastBooleanToString">xmlXPathCastBooleanToString</a>  (int val);
 int    <a href="#xmlXPathCastNodeSetToBoolean">xmlXPathCastNodeSetToBoolean</a>        (<a 
href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> ns);
@@ -83,99 +62,171 @@ double     <a href="#xmlXPathCastStringToNumber">xmlXPathCastStringToNumber</a>    (con
 int    <a href="#xmlXPathCastToBoolean">xmlXPathCastToBoolean</a>              (<a 
href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val);
 double <a href="#xmlXPathCastToNumber">xmlXPathCastToNumber</a>                (<a 
href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val);
 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * <a 
href="#xmlXPathCastToString">xmlXPathCastToString</a>        (<a 
href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val);
-int    <a href="#xmlXPathCmpNodes">xmlXPathCmpNodes</a>                (<a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node1, <br/>                                      <a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node2);
+int    <a href="#xmlXPathCmpNodes">xmlXPathCmpNodes</a>                (<a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node1, <br>                                       <a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node2);
 <a href="libxml2-xpath.html#xmlXPathCompExprPtr">xmlXPathCompExprPtr</a>       <a 
href="#xmlXPathCompile">xmlXPathCompile</a>  (const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * 
str);
-<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>   <a 
href="#xmlXPathCompiledEval">xmlXPathCompiledEval</a>        (<a 
href="libxml2-xpath.html#xmlXPathCompExprPtr">xmlXPathCompExprPtr</a> comp, <br/>                             
               <a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctx);
-int    <a href="#xmlXPathCompiledEvalToBoolean">xmlXPathCompiledEvalToBoolean</a>      (<a 
href="libxml2-xpath.html#xmlXPathCompExprPtr">xmlXPathCompExprPtr</a> comp, <br/>                             
       <a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt);
-int    <a href="#xmlXPathContextSetCache">xmlXPathContextSetCache</a>          (<a 
href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br/>                               
       int active, <br/>                                       int value, <br/>                               
         int options);
+<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>   <a 
href="#xmlXPathCompiledEval">xmlXPathCompiledEval</a>        (<a 
href="libxml2-xpath.html#xmlXPathCompExprPtr">xmlXPathCompExprPtr</a> comp, <br>                              
               <a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctx);
+int    <a href="#xmlXPathCompiledEvalToBoolean">xmlXPathCompiledEvalToBoolean</a>      (<a 
href="libxml2-xpath.html#xmlXPathCompExprPtr">xmlXPathCompExprPtr</a> comp, <br>                              
       <a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt);
+int    <a href="#xmlXPathContextSetCache">xmlXPathContextSetCache</a>          (<a 
href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br>                                
       int active, <br>                                        int value, <br>                                
         int options);
 <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>   <a 
href="#xmlXPathConvertBoolean">xmlXPathConvertBoolean</a>    (<a 
href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val);
-typedef int <a href="#xmlXPathConvertFunc">xmlXPathConvertFunc</a>             (<a 
href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> obj, <br/>                                  
       int type);
+typedef int <a href="#xmlXPathConvertFunc">xmlXPathConvertFunc</a>             (<a 
href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> obj, <br>                                  
int type);
 <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>   <a 
href="#xmlXPathConvertNumber">xmlXPathConvertNumber</a>      (<a 
href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val);
 <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>   <a 
href="#xmlXPathConvertString">xmlXPathConvertString</a>      (<a 
href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val);
-<a href="libxml2-xpath.html#xmlXPathCompExprPtr">xmlXPathCompExprPtr</a>       <a 
href="#xmlXPathCtxtCompile">xmlXPathCtxtCompile</a>  (<a 
href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br/>                               
               const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str);
-<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>   <a 
href="#xmlXPathEval">xmlXPathEval</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#xmlXPathObjectPtr">xmlXPathObjectPtr</a>   <a 
href="#xmlXPathEvalExpression">xmlXPathEvalExpression</a>    (const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br/>                                                
 <a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt);
-typedef void <a href="#xmlXPathEvalFunc">xmlXPathEvalFunc</a>          (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>                   
               int nargs);
-int    <a href="#xmlXPathEvalPredicate">xmlXPathEvalPredicate</a>              (<a 
href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br/>                               
       <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> res);
+<a href="libxml2-xpath.html#xmlXPathCompExprPtr">xmlXPathCompExprPtr</a>       <a 
href="#xmlXPathCtxtCompile">xmlXPathCtxtCompile</a>  (<a 
href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br>                                
               const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str);
+<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>   <a 
href="#xmlXPathEval">xmlXPathEval</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#xmlXPathObjectPtr">xmlXPathObjectPtr</a>   <a 
href="#xmlXPathEvalExpression">xmlXPathEvalExpression</a>    (const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br>                                          <a 
href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt);
+typedef void <a href="#xmlXPathEvalFunc">xmlXPathEvalFunc</a>          (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>                    
               int nargs);
+int    <a href="#xmlXPathEvalPredicate">xmlXPathEvalPredicate</a>              (<a 
href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br>                                
       <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> res);
 void   <a href="#xmlXPathFreeCompExpr">xmlXPathFreeCompExpr</a>                (<a 
href="libxml2-xpath.html#xmlXPathCompExprPtr">xmlXPathCompExprPtr</a> comp);
 void   <a href="#xmlXPathFreeContext">xmlXPathFreeContext</a>          (<a 
href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt);
 void   <a href="#xmlXPathFreeNodeSet">xmlXPathFreeNodeSet</a>          (<a 
href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> obj);
 void   <a href="#xmlXPathFreeNodeSetList">xmlXPathFreeNodeSetList</a>          (<a 
href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> obj);
 void   <a href="#xmlXPathFreeObject">xmlXPathFreeObject</a>            (<a 
href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> obj);
-typedef <a href="libxml2-xpath.html#xmlXPathFunction">xmlXPathFunction</a> <a 
href="#xmlXPathFuncLookupFunc">xmlXPathFuncLookupFunc</a>        (void * ctxt, <br/>                          
                    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>                  
                              const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ns_uri);
-typedef void <a href="#xmlXPathFunction">xmlXPathFunction</a>          (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>                   
               int nargs);
+typedef <a href="libxml2-xpath.html#xmlXPathFunction">xmlXPathFunction</a> <a 
href="#xmlXPathFuncLookupFunc">xmlXPathFuncLookupFunc</a>        (void * ctxt, <br>                           
                    const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>                   
                              const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ns_uri);
+typedef void <a href="#xmlXPathFunction">xmlXPathFunction</a>          (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>                    
               int nargs);
 void   <a href="#xmlXPathInit">xmlXPathInit</a>                        (void);
 int    <a href="#xmlXPathIsInf">xmlXPathIsInf</a>                      (double val);
 int    <a href="#xmlXPathIsNaN">xmlXPathIsNaN</a>                      (double val);
 <a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> <a 
href="#xmlXPathNewContext">xmlXPathNewContext</a>    (<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> 
doc);
-<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>   <a 
href="#xmlXPathNodeEval">xmlXPathNodeEval</a>        (<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> 
node, <br/>                                               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#xmlXPathObjectPtr">xmlXPathObjectPtr</a>   <a 
href="#xmlXPathNodeEval">xmlXPathNodeEval</a>        (<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> 
node, <br>                                                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#xmlNodeSetPtr">xmlNodeSetPtr</a>   <a 
href="#xmlXPathNodeSetCreate">xmlXPathNodeSetCreate</a>      (<a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> val);
 <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>   <a 
href="#xmlXPathObjectCopy">xmlXPathObjectCopy</a>    (<a 
href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val);
 long   <a href="#xmlXPathOrderDocElems">xmlXPathOrderDocElems</a>              (<a 
href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc);
-int    <a href="#xmlXPathSetContextNode">xmlXPathSetContextNode</a>            (<a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br/>                                       <a 
href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctx);
-typedef <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> <a 
href="#xmlXPathVariableLookupFunc">xmlXPathVariableLookupFunc</a>      (void * ctxt, <br/>                    
                                  const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>    
                                                    const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ns_uri);
-</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="XML_XPATH_CHECKNS">Macro </a>XML_XPATH_CHECKNS</h3><pre 
class="programlisting">#define <a href="#XML_XPATH_CHECKNS">XML_XPATH_CHECKNS</a>;
-</pre><p>check namespaces at compilation</p>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XML_XPATH_NOVAR">Macro </a>XML_XPATH_NOVAR</h3><pre 
class="programlisting">#define <a href="#XML_XPATH_NOVAR">XML_XPATH_NOVAR</a>;
-</pre><p>forbid variables in expression</p>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathNodeSetGetLength">Macro 
</a>xmlXPathNodeSetGetLength</h3><pre class="programlisting">#define <a 
href="#xmlXPathNodeSetGetLength">xmlXPathNodeSetGetLength</a>(ns);
-</pre><p>Implement a functionality similar to the DOM NodeList.length. Returns the number of nodes in the 
node-set.</p><div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ns</tt></i>:</span></td><td>a node-set</td></tr></tbody></table></div>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathNodeSetIsEmpty">Macro 
</a>xmlXPathNodeSetIsEmpty</h3><pre class="programlisting">#define <a 
href="#xmlXPathNodeSetIsEmpty">xmlXPathNodeSetIsEmpty</a>(ns);
-</pre><p>Checks whether @ns is empty or not. Returns %TRUE if @ns is an empty node-set.</p><div 
class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ns</tt></i>:</span></td><td>a node-set</td></tr></tbody></table></div>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathNodeSetItem">Macro 
</a>xmlXPathNodeSetItem</h3><pre class="programlisting">#define <a 
href="#xmlXPathNodeSetItem">xmlXPathNodeSetItem</a>(ns, index);
-</pre><p>Implements a functionality similar to the DOM NodeList.item(). Returns the <a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> at the given @index in @ns or NULL if @index is out of 
range (0 to length-1)</p><div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ns</tt></i>:</span></td><td>a node-set</td></tr><tr><td><span 
class="term"><i><tt>index</tt></i>:</span></td><td>index of a node in the set</td></tr></tbody></table></div>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNodeSet">Structure </a>xmlNodeSet</h3><pre 
class="programlisting">struct _xmlNodeSet {
+int    <a href="#xmlXPathSetContextNode">xmlXPathSetContextNode</a>            (<a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>                                        <a 
href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctx);
+typedef <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> <a 
href="#xmlXPathVariableLookupFunc">xmlXPathVariableLookupFunc</a>      (void * ctxt, <br>                     
                                  const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>     
                                                    const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ns_uri);
+</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="XML_XPATH_CHECKNS">Macro </a>XML_XPATH_CHECKNS</h3>
+<pre class="programlisting">#define <a href="#XML_XPATH_CHECKNS">XML_XPATH_CHECKNS</a>;
+</pre>
+<p>check namespaces at compilation</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XML_XPATH_NOVAR">Macro </a>XML_XPATH_NOVAR</h3>
+<pre class="programlisting">#define <a href="#XML_XPATH_NOVAR">XML_XPATH_NOVAR</a>;
+</pre>
+<p>forbid variables in expression</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathNodeSetGetLength">Macro </a>xmlXPathNodeSetGetLength</h3>
+<pre class="programlisting">#define <a href="#xmlXPathNodeSetGetLength">xmlXPathNodeSetGetLength</a>(ns);
+</pre>
+<p>Implement a functionality similar to the DOM NodeList.length. Returns the number of nodes in the 
node-set.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>ns</tt></i>:</span></td>
+<td>a node-set</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathNodeSetIsEmpty">Macro </a>xmlXPathNodeSetIsEmpty</h3>
+<pre class="programlisting">#define <a href="#xmlXPathNodeSetIsEmpty">xmlXPathNodeSetIsEmpty</a>(ns);
+</pre>
+<p>Checks whether @ns is empty or not. Returns %TRUE if @ns is an empty node-set.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>ns</tt></i>:</span></td>
+<td>a node-set</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathNodeSetItem">Macro </a>xmlXPathNodeSetItem</h3>
+<pre class="programlisting">#define <a href="#xmlXPathNodeSetItem">xmlXPathNodeSetItem</a>(ns, index);
+</pre>
+<p>Implements a functionality similar to the DOM NodeList.item(). Returns the <a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> at the given @index in @ns or NULL if @index is out of 
range (0 to length-1)</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ns</tt></i>:</span></td>
+<td>a node-set</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>index</tt></i>:</span></td>
+<td>index of a node in the set</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<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
 } xmlNodeSet;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlNodeSetPtr">Typedef </a>xmlNodeSetPtr</h3><pre 
class="programlisting"><a href="libxml2-xpath.html#xmlNodeSet">xmlNodeSet</a> * xmlNodeSetPtr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlNodeSetPtr">Typedef </a>xmlNodeSetPtr</h3>
+<pre class="programlisting"><a href="libxml2-xpath.html#xmlNodeSet">xmlNodeSet</a> * xmlNodeSetPtr;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathAxis">Structure </a>xmlXPathAxis</h3><pre 
class="programlisting">struct _xmlXPathAxis {
+<hr>
+<div class="refsect2" lang="en">
+<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
 } xmlXPathAxis;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathAxisPtr">Typedef </a>xmlXPathAxisPtr</h3><pre 
class="programlisting"><a href="libxml2-xpath.html#xmlXPathAxis">xmlXPathAxis</a> * xmlXPathAxisPtr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathAxisPtr">Typedef </a>xmlXPathAxisPtr</h3>
+<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathAxis">xmlXPathAxis</a> * xmlXPathAxisPtr;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathCompExpr">Structure 
</a>xmlXPathCompExpr</h3><pre class="programlisting">struct _xmlXPathCompExpr {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathCompExpr">Structure </a>xmlXPathCompExpr</h3>
+<pre class="programlisting">struct _xmlXPathCompExpr {
 The content of this structure is not made public by the API.
 } xmlXPathCompExpr;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathCompExprPtr">Typedef 
</a>xmlXPathCompExprPtr</h3><pre class="programlisting"><a 
href="libxml2-xpath.html#xmlXPathCompExpr">xmlXPathCompExpr</a> * xmlXPathCompExprPtr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathCompExprPtr">Typedef </a>xmlXPathCompExprPtr</h3>
+<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathCompExpr">xmlXPathCompExpr</a> * 
xmlXPathCompExprPtr;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathContext">Structure </a>xmlXPathContext</h3><pre 
class="programlisting">struct _xmlXPathContext {
+<hr>
+<div class="refsect2" lang="en">
+<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)
@@ -219,14 +270,22 @@ The content of this structure is not made public by the API.
     unsigned long      opCount
     int        depth
 } xmlXPathContext;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathContextPtr">Typedef 
</a>xmlXPathContextPtr</h3><pre class="programlisting"><a 
href="libxml2-xpath.html#xmlXPathContext">xmlXPathContext</a> * xmlXPathContextPtr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathContextPtr">Typedef </a>xmlXPathContextPtr</h3>
+<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathContext">xmlXPathContext</a> * 
xmlXPathContextPtr;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathError">Enum </a>xmlXPathError</h3><pre 
class="programlisting">enum <a href="#xmlXPathError">xmlXPathError</a> {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathError">Enum </a>xmlXPathError</h3>
+<pre class="programlisting">enum <a href="#xmlXPathError">xmlXPathError</a> {
     <a name="XPATH_EXPRESSION_OK">XPATH_EXPRESSION_OK</a> = 0
     <a name="XPATH_NUMBER_ERROR">XPATH_NUMBER_ERROR</a> = 1
     <a name="XPATH_UNFINISHED_LITERAL_ERROR">XPATH_UNFINISHED_LITERAL_ERROR</a> = 2
@@ -255,21 +314,33 @@ The content of this structure is not made public by the API.
     <a name="XPATH_OP_LIMIT_EXCEEDED">XPATH_OP_LIMIT_EXCEEDED</a> = 25
     <a name="XPATH_RECURSION_LIMIT_EXCEEDED">XPATH_RECURSION_LIMIT_EXCEEDED</a> = 26
 };
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathFuncPtr">Typedef </a>xmlXPathFuncPtr</h3><pre 
class="programlisting"><a href="libxml2-xpath.html#xmlXPathFunct">xmlXPathFunct</a> * xmlXPathFuncPtr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathFuncPtr">Typedef </a>xmlXPathFuncPtr</h3>
+<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathFunct">xmlXPathFunct</a> * xmlXPathFuncPtr;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathFunct">Structure </a>xmlXPathFunct</h3><pre 
class="programlisting">struct _xmlXPathFunct {
+<hr>
+<div class="refsect2" lang="en">
+<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
 } xmlXPathFunct;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathObject">Structure </a>xmlXPathObject</h3><pre 
class="programlisting">struct _xmlXPathObject {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathObject">Structure </a>xmlXPathObject</h3>
+<pre class="programlisting">struct _xmlXPathObject {
     <a href="libxml2-xpath.html#xmlXPathObjectType">xmlXPathObjectType</a>     type
     <a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>       nodesetval
     int        boolval
@@ -280,14 +351,22 @@ The content of this structure is not made public by the API.
     void *     user2
     int        index2
 } xmlXPathObject;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathObjectPtr">Typedef 
</a>xmlXPathObjectPtr</h3><pre class="programlisting"><a 
href="libxml2-xpath.html#xmlXPathObject">xmlXPathObject</a> * xmlXPathObjectPtr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathObjectPtr">Typedef </a>xmlXPathObjectPtr</h3>
+<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObject">xmlXPathObject</a> * 
xmlXPathObjectPtr;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathObjectType">Enum 
</a>xmlXPathObjectType</h3><pre class="programlisting">enum <a 
href="#xmlXPathObjectType">xmlXPathObjectType</a> {
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathObjectType">Enum </a>xmlXPathObjectType</h3>
+<pre class="programlisting">enum <a href="#xmlXPathObjectType">xmlXPathObjectType</a> {
     <a name="XPATH_UNDEFINED">XPATH_UNDEFINED</a> = 0
     <a name="XPATH_NODESET">XPATH_NODESET</a> = 1
     <a name="XPATH_BOOLEAN">XPATH_BOOLEAN</a> = 2
@@ -299,10 +378,14 @@ The content of this structure is not made public by the API.
     <a name="XPATH_USERS">XPATH_USERS</a> = 8
     <a name="XPATH_XSLT_TREE">XPATH_XSLT_TREE</a> = 9 /*  An XSLT value tree, non modifiable */
 };
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathParserContext">Structure 
</a>xmlXPathParserContext</h3><pre class="programlisting">struct _xmlXPathParserContext {
+<hr>
+<div class="refsect2" lang="en">
+<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
@@ -316,232 +399,1080 @@ The content of this structure is not made public by the API.
     <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>      ancestor        : used for walking preceding 
axis
     int        valueFrame      : used to limit Pop on the stack
 } xmlXPathParserContext;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathParserContextPtr">Typedef 
</a>xmlXPathParserContextPtr</h3><pre class="programlisting"><a 
href="libxml2-xpath.html#xmlXPathParserContext">xmlXPathParserContext</a> * xmlXPathParserContextPtr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathParserContextPtr">Typedef </a>xmlXPathParserContextPtr</h3>
+<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathParserContext">xmlXPathParserContext</a> * 
xmlXPathParserContextPtr;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathType">Structure </a>xmlXPathType</h3><pre 
class="programlisting">struct _xmlXPathType {
+<hr>
+<div class="refsect2" lang="en">
+<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
 } xmlXPathType;
-</pre><p/>
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathTypePtr">Typedef </a>xmlXPathTypePtr</h3><pre 
class="programlisting"><a href="libxml2-xpath.html#xmlXPathType">xmlXPathType</a> * xmlXPathTypePtr;
-</pre><p/>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathTypePtr">Typedef </a>xmlXPathTypePtr</h3>
+<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathType">xmlXPathType</a> * xmlXPathTypePtr;
+</pre>
+<p></p>
 </div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathVariable">Structure 
</a>xmlXPathVariable</h3><pre class="programlisting">struct _xmlXPathVariable {
+<hr>
+<div class="refsect2" lang="en">
+<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
 } xmlXPathVariable;
-</pre><p/>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathVariablePtr">Typedef 
</a>xmlXPathVariablePtr</h3><pre class="programlisting"><a 
href="libxml2-xpath.html#xmlXPathVariable">xmlXPathVariable</a> * xmlXPathVariablePtr;
-</pre><p/>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathAxisFunc"/>Function type 
xmlXPathAxisFunc</h3><pre class="programlisting"><a 
href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>    xmlXPathAxisFunc        (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>                   
                       <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> cur)<br/>
-</pre><p>An axis traversal function. To traverse an axis, the engine calls the first time with cur == NULL 
and repeat until the function returns NULL indicating the end of the axis traversal.</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 XPath interpreter context</td></tr><tr><td><span 
class="term"><i><tt>cur</tt></i>:</span></td><td>the previous node being explored on that 
axis</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the next node in that axis 
or NULL if at the end of the axis.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathConvertFunc"/>Function type 
xmlXPathConvertFunc</h3><pre class="programlisting">int       xmlXPathConvertFunc             (<a 
href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> obj, <br/>                                  
       int type)<br/>
-</pre><p>A conversion function is associated to a type and used to cast the new type to primitive values.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>obj</tt></i>:</span></td><td>an XPath object</td></tr><tr><td><span 
class="term"><i><tt>type</tt></i>:</span></td><td>the number of the target type</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 in case of error, 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathEvalFunc"/>Function type 
xmlXPathEvalFunc</h3><pre class="programlisting">void    xmlXPathEvalFunc                (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>                   
               int nargs)<br/>
-</pre><p>An XPath evaluation function, the parameters are on the XPath context 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 parser context</td></tr><tr><td><span 
class="term"><i><tt>nargs</tt></i>:</span></td><td>the number of arguments passed to the 
function</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathFuncLookupFunc"/>Function type 
xmlXPathFuncLookupFunc</h3><pre class="programlisting"><a 
href="libxml2-xpath.html#xmlXPathFunction">xmlXPathFunction</a>  xmlXPathFuncLookupFunc  (void * ctxt, <br/>  
                                            const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * 
name, <br/>                                                const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ns_uri)<br/>
-</pre><p>Prototype for callbacks used to plug function lookup in the XPath engine.</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 context</td></tr><tr><td><span 
class="term"><i><tt>name</tt></i>:</span></td><td>name of the function</td></tr><tr><td><span 
class="term"><i><tt>ns_uri</tt></i>:</span></td><td>the namespace name hosting this 
function</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the XPath function or 
NULL if not found.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathFunction"/>Function type 
xmlXPathFunction</h3><pre class="programlisting">void    xmlXPathFunction                (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>                   
               int nargs)<br/>
-</pre><p>An XPath function. The arguments (if any) are popped out from the context stack and the result is 
pushed on the 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>the XPath interprestation context</td></tr><tr><td><span 
class="term"><i><tt>nargs</tt></i>:</span></td><td>the number of 
arguments</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathVariableLookupFunc"/>Function type 
xmlXPathVariableLookupFunc</h3><pre class="programlisting"><a 
href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>        xmlXPathVariableLookupFunc      
(void * ctxt, <br/>                                                      const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>                                               
         const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ns_uri)<br/>
-</pre><p>Prototype for callbacks used to plug variable lookup in the XPath engine.</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 context</td></tr><tr><td><span 
class="term"><i><tt>name</tt></i>:</span></td><td>name of the variable</td></tr><tr><td><span 
class="term"><i><tt>ns_uri</tt></i>:</span></td><td>the namespace name hosting this 
variable</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the XPath object value 
or NULL if not found.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathNAN">Variable </a>xmlXPathNAN</h3><pre 
class="programlisting">double xmlXPathNAN;
-</pre><p/>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathNINF">Variable </a>xmlXPathNINF</h3><pre 
class="programlisting">double xmlXPathNINF;
-</pre><p/>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathPINF">Variable </a>xmlXPathPINF</h3><pre 
class="programlisting">double xmlXPathPINF;
-</pre><p/>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlXPathCastBooleanToNumber"/>xmlXPathCastBooleanToNumber ()</h3><pre class="programlisting">double     
  xmlXPathCastBooleanToNumber     (int val)<br/>
-</pre><p>Converts a boolean to its number value</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>val</tt></i>:</span></td><td>a boolean</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the number value</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlXPathCastBooleanToString"/>xmlXPathCastBooleanToString ()</h3><pre class="programlisting"><a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *       xmlXPathCastBooleanToString     (int val)<br/>
-</pre><p>Converts a boolean to its string value.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>val</tt></i>:</span></td><td>a boolean</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>a newly allocated 
string.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlXPathCastNodeSetToBoolean"/>xmlXPathCastNodeSetToBoolean ()</h3><pre class="programlisting">int      
  xmlXPathCastNodeSetToBoolean    (<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> ns)<br/>
-</pre><p>Converts a node-set to its boolean value</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ns</tt></i>:</span></td><td>a node-set</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the boolean value</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlXPathCastNodeSetToNumber"/>xmlXPathCastNodeSetToNumber ()</h3><pre class="programlisting">double     
  xmlXPathCastNodeSetToNumber     (<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> ns)<br/>
-</pre><p>Converts a node-set to its number value</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ns</tt></i>:</span></td><td>a node-set</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the number value</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlXPathCastNodeSetToString"/>xmlXPathCastNodeSetToString ()</h3><pre class="programlisting"><a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *       xmlXPathCastNodeSetToString     (<a 
href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> ns)<br/>
-</pre><p>Converts a node-set to its string value.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ns</tt></i>:</span></td><td>a node-set</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>a newly allocated 
string.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathCastNodeToNumber"/>xmlXPathCastNodeToNumber 
()</h3><pre class="programlisting">double     xmlXPathCastNodeToNumber        (<a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br/>
-</pre><p>Converts a node to its number value</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 node</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the number value</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathCastNodeToString"/>xmlXPathCastNodeToString 
()</h3><pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *     
xmlXPathCastNodeToString        (<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br/>
-</pre><p>Converts a node to its string value.</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 node</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>a newly allocated 
string.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlXPathCastNumberToBoolean"/>xmlXPathCastNumberToBoolean ()</h3><pre class="programlisting">int  
xmlXPathCastNumberToBoolean     (double val)<br/>
-</pre><p>Converts a number to its boolean value</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>val</tt></i>:</span></td><td>a number</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the boolean value</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathCastNumberToString"/>xmlXPathCastNumberToString 
()</h3><pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * 
xmlXPathCastNumberToString      (double val)<br/>
-</pre><p>Converts a number to its string value.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>val</tt></i>:</span></td><td>a number</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>a newly allocated 
string.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlXPathCastStringToBoolean"/>xmlXPathCastStringToBoolean ()</h3><pre class="programlisting">int  
xmlXPathCastStringToBoolean     (const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * val)<br/>
-</pre><p>Converts a string to its boolean value</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>val</tt></i>:</span></td><td>a string</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the boolean value</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathCastStringToNumber"/>xmlXPathCastStringToNumber 
()</h3><pre class="programlisting">double xmlXPathCastStringToNumber      (const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * val)<br/>
-</pre><p>Converts a string to its number value</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>val</tt></i>:</span></td><td>a string</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the number value</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathCastToBoolean"/>xmlXPathCastToBoolean 
()</h3><pre class="programlisting">int      xmlXPathCastToBoolean           (<a 
href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val)<br/>
-</pre><p>Converts an XPath object to its boolean value</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 XPath object</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the boolean value</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathCastToNumber"/>xmlXPathCastToNumber ()</h3><pre 
class="programlisting">double     xmlXPathCastToNumber            (<a 
href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val)<br/>
-</pre><p>Converts an XPath object to its number value</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 XPath object</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the number value</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathCastToString"/>xmlXPathCastToString ()</h3><pre 
class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *     xmlXPathCastToString    (<a 
href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val)<br/>
-</pre><p>Converts an existing object to its string() equivalent</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 XPath object</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the allocated string value of the object, NULL in case 
of error. It's up to the caller to free the string memory with 
xmlFree().</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathCmpNodes"/>xmlXPathCmpNodes ()</h3><pre 
class="programlisting">int        xmlXPathCmpNodes                (<a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node1, <br/>                                      <a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node2)<br/>
-</pre><p>Compare two nodes w.r.t document order</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>node1</tt></i>:</span></td><td>the first node</td></tr><tr><td><span 
class="term"><i><tt>node2</tt></i>:</span></td><td>the second node</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>-2 in case of error 1 if first point &lt; second point, 
0 if it's the same node, -1 otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathCompile"/>xmlXPathCompile ()</h3><pre 
class="programlisting"><a href="libxml2-xpath.html#xmlXPathCompExprPtr">xmlXPathCompExprPtr</a>     
xmlXPathCompile (const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str)<br/>
-</pre><p>Compile an XPath expression</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>str</tt></i>:</span></td><td>the XPath expression</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a 
href="libxml2-xpath.html#xmlXPathCompExprPtr">xmlXPathCompExprPtr</a> resulting from the compilation or NULL. 
the caller has to free the object.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathCompiledEval"/>xmlXPathCompiledEval ()</h3><pre 
class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>       
xmlXPathCompiledEval    (<a href="libxml2-xpath.html#xmlXPathCompExprPtr">xmlXPathCompExprPtr</a> comp, <br/> 
                                           <a 
href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctx)<br/>
-</pre><p>Evaluate the Precompiled XPath expression in the given context.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>comp</tt></i>:</span></td><td>the compiled XPath expression</td></tr><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>the XPath context</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a 
href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> resulting from the evaluation or NULL. the 
caller has to free the object.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlXPathCompiledEvalToBoolean"/>xmlXPathCompiledEvalToBoolean ()</h3><pre class="programlisting">int    
  xmlXPathCompiledEvalToBoolean   (<a href="libxml2-xpath.html#xmlXPathCompExprPtr">xmlXPathCompExprPtr</a> 
comp, <br/>                                    <a 
href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt)<br/>
-</pre><p>Applies the XPath boolean() function on the result of the given compiled expression.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>comp</tt></i>:</span></td><td>the compiled XPath expression</td></tr><tr><td><span 
class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath context</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if the expression evaluated to true, 0 if to false and 
-1 in API and internal errors.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathContextSetCache"/>xmlXPathContextSetCache 
()</h3><pre class="programlisting">int  xmlXPathContextSetCache         (<a 
href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br/>                               
       int active, <br/>                                       int value, <br/>                               
         int options)<br/>
-</pre><p>Creates/frees an object cache on the XPath context. If activates XPath objects (xmlXPathObject) 
will be cached internally to be reused. @options: 0: This will set the XPath object caching: @value: This 
will set the maximum number of XPath objects to be cached per slot There are 5 slots for: node-set, string, 
number, boolean, and misc objects. Use &lt;0 for the default number (100). Other values for @options have 
currently no effect.</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 XPath context</td></tr><tr><td><span 
class="term"><i><tt>active</tt></i>:</span></td><td>enables/disables (creates/frees) the 
cache</td></tr><tr><td><span class="term"><i><tt>value</tt></i>:</span></td><td>a value with semantics 
dependent on @options</td></tr><tr><td><span class="term"><i><tt>options</tt></i>:</span></td><td>options 
(currently only the value 0 is used)</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>0 if the setting succeeded, and -1 on API or internal 
errors.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathConvertBoolean"/>xmlXPathConvertBoolean 
()</h3><pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>   
xmlXPathConvertBoolean  (<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val)<br/>
-</pre><p>Converts an existing object to its boolean() equivalent</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 XPath object</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the new object, the old one is freed (or the operation 
is done directly on @val)</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathConvertNumber"/>xmlXPathConvertNumber 
()</h3><pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>     
xmlXPathConvertNumber   (<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val)<br/>
-</pre><p>Converts an existing object to its number() equivalent</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 XPath object</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the new object, the old one is freed (or the operation 
is done directly on @val)</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathConvertString"/>xmlXPathConvertString 
()</h3><pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>     
xmlXPathConvertString   (<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val)<br/>
-</pre><p>Converts an existing object to its string() equivalent</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 XPath object</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the new object, the old one is freed (or the operation 
is done directly on @val)</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathCtxtCompile"/>xmlXPathCtxtCompile ()</h3><pre 
class="programlisting"><a href="libxml2-xpath.html#xmlXPathCompExprPtr">xmlXPathCompExprPtr</a>     
xmlXPathCtxtCompile     (<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br/>   
                                           const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * 
str)<br/>
-</pre><p>Compile an XPath 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>an XPath context</td></tr><tr><td><span 
class="term"><i><tt>str</tt></i>:</span></td><td>the XPath expression</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a 
href="libxml2-xpath.html#xmlXPathCompExprPtr">xmlXPathCompExprPtr</a> resulting from the compilation or NULL. 
the caller has to free the object.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathEval"/>xmlXPathEval ()</h3><pre 
class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>       
xmlXPathEval    (const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br/>                      
                   <a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctx)<br/>
-</pre><p>Evaluate the XPath Location Path in the given context.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>str</tt></i>:</span></td><td>the XPath expression</td></tr><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>the XPath context</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a 
href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> resulting from the evaluation or NULL. the 
caller has to free the object.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathEvalExpression"/>xmlXPathEvalExpression 
()</h3><pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>   
xmlXPathEvalExpression  (const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br/>              
                                   <a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> 
ctxt)<br/>
-</pre><p>Alias for xmlXPathEval().</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>str</tt></i>:</span></td><td>the XPath expression</td></tr><tr><td><span 
class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath context</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a 
href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> resulting from the evaluation or NULL. the 
caller has to free the object.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathEvalPredicate"/>xmlXPathEvalPredicate 
()</h3><pre class="programlisting">int      xmlXPathEvalPredicate           (<a 
href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br/>                               
       <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> res)<br/>
-</pre><p>Evaluate a predicate result for the current node. A PredicateExpr is evaluated by evaluating the 
Expr and converting the result to a boolean. If the result is a number, the result will be converted to true 
if the number is equal to the position of the context node in the context node list (as returned by the 
position function) and will be converted to false otherwise; if the result is not a number, then the result 
will be converted as if by a call to the boolean function.</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 XPath context</td></tr><tr><td><span 
class="term"><i><tt>res</tt></i>:</span></td><td>the Predicate Expression evaluation 
result</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if predicate is true, 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathFreeCompExpr"/>xmlXPathFreeCompExpr ()</h3><pre 
class="programlisting">void       xmlXPathFreeCompExpr            (<a 
href="libxml2-xpath.html#xmlXPathCompExprPtr">xmlXPathCompExprPtr</a> comp)<br/>
-</pre><p>Free up the memory allocated by @comp</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>comp</tt></i>:</span></td><td>an XPATH comp</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathFreeContext"/>xmlXPathFreeContext ()</h3><pre 
class="programlisting">void xmlXPathFreeContext             (<a 
href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt)<br/>
-</pre><p>Free up an <a href="libxml2-xpath.html#xmlXPathContext">xmlXPathContext</a></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 context to free</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathFreeNodeSet"/>xmlXPathFreeNodeSet ()</h3><pre 
class="programlisting">void xmlXPathFreeNodeSet             (<a 
href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> obj)<br/>
-</pre><p>Free the NodeSet compound (not the actual nodes !).</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-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> to free</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathFreeNodeSetList"/>xmlXPathFreeNodeSetList 
()</h3><pre class="programlisting">void xmlXPathFreeNodeSetList         (<a 
href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> obj)<br/>
-</pre><p>Free up the <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> @obj but don't 
deallocate the objects in the list contrary to xmlXPathFreeObject().</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>obj</tt></i>:</span></td><td>an existing NodeSetList 
object</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathFreeObject"/>xmlXPathFreeObject ()</h3><pre 
class="programlisting">void   xmlXPathFreeObject              (<a 
href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> obj)<br/>
-</pre><p>Free up an <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> object.</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 object to free</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathInit"/>xmlXPathInit ()</h3><pre 
class="programlisting">void       xmlXPathInit                    (void)<br/>
-</pre><p>DEPRECATED: This function will be made private. Call <a 
href="libxml2-parser.html#xmlInitParser">xmlInitParser</a> to initialize the library. Initialize the XPath 
environment</p>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathIsInf"/>xmlXPathIsInf ()</h3><pre 
class="programlisting">int      xmlXPathIsInf                   (double val)<br/>
-</pre><p/>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>val</tt></i>:</span></td><td>a double value</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if the value is +Infinite, -1 if -Infinite, 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathIsNaN"/>xmlXPathIsNaN ()</h3><pre 
class="programlisting">int      xmlXPathIsNaN                   (double val)<br/>
-</pre><p/>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>val</tt></i>:</span></td><td>a double value</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if the value is a NaN, 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathNewContext"/>xmlXPathNewContext ()</h3><pre 
class="programlisting"><a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> 
xmlXPathNewContext      (<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br/>
-</pre><p>Create a new <a href="libxml2-xpath.html#xmlXPathContext">xmlXPathContext</a></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 XML document</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a 
href="libxml2-xpath.html#xmlXPathContext">xmlXPathContext</a> just allocated. The caller will need to free 
it.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathNodeEval"/>xmlXPathNodeEval ()</h3><pre 
class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>       
xmlXPathNodeEval        (<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br/>                    
                           const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br/>            
                                     <a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> 
ctx)<br/>
-</pre><p>Evaluate the XPath Location Path in the given context. The node 'node' is set as the context node. 
The context node is not restored.</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 to use as the context 
node</td></tr><tr><td><span class="term"><i><tt>str</tt></i>:</span></td><td>the XPath 
expression</td></tr><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>the XPath 
context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a 
href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> resulting from the evaluation or NULL. the 
caller has to free the object.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathNodeSetCreate"/>xmlXPathNodeSetCreate 
()</h3><pre class="programlisting"><a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>     
xmlXPathNodeSetCreate   (<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> val)<br/>
-</pre><p>Create a new <a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</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 xmlNodePtr, 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="xmlXPathObjectCopy"/>xmlXPathObjectCopy ()</h3><pre 
class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>   
xmlXPathObjectCopy      (<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val)<br/>
-</pre><p>allocate a new copy of a given object</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 original 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="xmlXPathOrderDocElems"/>xmlXPathOrderDocElems 
()</h3><pre class="programlisting">long     xmlXPathOrderDocElems           (<a 
href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br/>
-</pre><p>Call this routine to speed up XPath computation on static documents. This stamps all the element 
nodes with the document order Like for line information, the order is kept in the element-&gt;content field, 
the value stored is actually - the node number (starting at -1) to be able to differentiate from line 
numbers.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>doc</tt></i>:</span></td><td>an input document</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of elements found in the document or -1 in 
case of error.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathSetContextNode"/>xmlXPathSetContextNode 
()</h3><pre class="programlisting">int    xmlXPathSetContextNode          (<a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br/>                                       <a 
href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctx)<br/>
-</pre><p>Sets 'node' as the context node. The node must be in the same document as that associated with the 
context.</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 to use as the context 
node</td></tr><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>the XPath 
context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>-1 in case of error or 0 
if successful</td></tr></tbody></table></div></div>
-        <hr/>
-      </div>
-    </div>
-  </body>
+</pre>
+<p></p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathVariablePtr">Typedef </a>xmlXPathVariablePtr</h3>
+<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathVariable">xmlXPathVariable</a> * 
xmlXPathVariablePtr;
+</pre>
+<p></p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathAxisFunc"></a>Function type xmlXPathAxisFunc</h3>
+<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>       
xmlXPathAxisFunc        (<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> 
ctxt, <br>                                           <a 
href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> cur)<br>
+</pre>
+<p>An axis traversal function. To traverse an axis, the engine calls the first time with cur == NULL and 
repeat until the function returns NULL indicating the end of the axis traversal.</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 XPath interpreter context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>the previous node being explored on that axis</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the next node in that axis or NULL if at the end of the axis.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathConvertFunc"></a>Function type xmlXPathConvertFunc</h3>
+<pre class="programlisting">int        xmlXPathConvertFunc             (<a 
href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> obj, <br>                                  
int type)<br>
+</pre>
+<p>A conversion function is associated to a type and used to cast the new type to primitive values.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>obj</tt></i>:</span></td>
+<td>an XPath object</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>type</tt></i>:</span></td>
+<td>the number of the target type</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>-1 in case of error, 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathEvalFunc"></a>Function type xmlXPathEvalFunc</h3>
+<pre class="programlisting">void       xmlXPathEvalFunc                (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>                    
               int nargs)<br>
+</pre>
+<p>An XPath evaluation function, the parameters are on the XPath context 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 parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>nargs</tt></i>:</span></td>
+<td>the number of arguments passed to the function</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathFuncLookupFunc"></a>Function type xmlXPathFuncLookupFunc</h3>
+<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathFunction">xmlXPathFunction</a> 
xmlXPathFuncLookupFunc  (void * ctxt, <br>                                               const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>                                                
 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ns_uri)<br>
+</pre>
+<p>Prototype for callbacks used to plug function lookup in the XPath engine.</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 context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>name of the function</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ns_uri</tt></i>:</span></td>
+<td>the namespace name hosting this function</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the XPath function or NULL if not found.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathFunction"></a>Function type xmlXPathFunction</h3>
+<pre class="programlisting">void       xmlXPathFunction                (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>                    
               int nargs)<br>
+</pre>
+<p>An XPath function. The arguments (if any) are popped out from the context stack and the result is pushed 
on the 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>the XPath interprestation context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>nargs</tt></i>:</span></td>
+<td>the number of arguments</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathVariableLookupFunc"></a>Function type xmlXPathVariableLookupFunc</h3>
+<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>       
xmlXPathVariableLookupFunc      (void * ctxt, <br>                                                       
const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>                                       
                  const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ns_uri)<br>
+</pre>
+<p>Prototype for callbacks used to plug variable lookup in the XPath engine.</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 context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>name of the variable</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ns_uri</tt></i>:</span></td>
+<td>the namespace name hosting this variable</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the XPath object value or NULL if not found.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathNAN">Variable </a>xmlXPathNAN</h3>
+<pre class="programlisting">double xmlXPathNAN;
+</pre>
+<p></p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathNINF">Variable </a>xmlXPathNINF</h3>
+<pre class="programlisting">double xmlXPathNINF;
+</pre>
+<p></p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathPINF">Variable </a>xmlXPathPINF</h3>
+<pre class="programlisting">double xmlXPathPINF;
+</pre>
+<p></p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathCastBooleanToNumber"></a>xmlXPathCastBooleanToNumber ()</h3>
+<pre class="programlisting">double     xmlXPathCastBooleanToNumber     (int val)<br>
+</pre>
+<p>Converts a boolean to its number value</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>val</tt></i>:</span></td>
+<td>a boolean</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the number value</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathCastBooleanToString"></a>xmlXPathCastBooleanToString ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *     
xmlXPathCastBooleanToString     (int val)<br>
+</pre>
+<p>Converts a boolean to its string value.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>val</tt></i>:</span></td>
+<td>a boolean</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a newly allocated string.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathCastNodeSetToBoolean"></a>xmlXPathCastNodeSetToBoolean ()</h3>
+<pre class="programlisting">int        xmlXPathCastNodeSetToBoolean    (<a 
href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> ns)<br>
+</pre>
+<p>Converts a node-set to its boolean value</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ns</tt></i>:</span></td>
+<td>a node-set</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the boolean value</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathCastNodeSetToNumber"></a>xmlXPathCastNodeSetToNumber ()</h3>
+<pre class="programlisting">double     xmlXPathCastNodeSetToNumber     (<a 
href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> ns)<br>
+</pre>
+<p>Converts a node-set to its number value</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ns</tt></i>:</span></td>
+<td>a node-set</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the number value</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathCastNodeSetToString"></a>xmlXPathCastNodeSetToString ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *     
xmlXPathCastNodeSetToString     (<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> ns)<br>
+</pre>
+<p>Converts a node-set to its string value.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ns</tt></i>:</span></td>
+<td>a node-set</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a newly allocated string.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathCastNodeToNumber"></a>xmlXPathCastNodeToNumber ()</h3>
+<pre class="programlisting">double     xmlXPathCastNodeToNumber        (<a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br>
+</pre>
+<p>Converts a node to its number value</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 node</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the number value</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathCastNodeToString"></a>xmlXPathCastNodeToString ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *     
xmlXPathCastNodeToString        (<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br>
+</pre>
+<p>Converts a node to its string value.</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 node</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a newly allocated string.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathCastNumberToBoolean"></a>xmlXPathCastNumberToBoolean ()</h3>
+<pre class="programlisting">int        xmlXPathCastNumberToBoolean     (double val)<br>
+</pre>
+<p>Converts a number to its boolean value</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>val</tt></i>:</span></td>
+<td>a number</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the boolean value</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathCastNumberToString"></a>xmlXPathCastNumberToString ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *     
xmlXPathCastNumberToString      (double val)<br>
+</pre>
+<p>Converts a number to its string value.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>val</tt></i>:</span></td>
+<td>a number</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a newly allocated string.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathCastStringToBoolean"></a>xmlXPathCastStringToBoolean ()</h3>
+<pre class="programlisting">int        xmlXPathCastStringToBoolean     (const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * val)<br>
+</pre>
+<p>Converts a string to its boolean value</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>val</tt></i>:</span></td>
+<td>a string</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the boolean value</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathCastStringToNumber"></a>xmlXPathCastStringToNumber ()</h3>
+<pre class="programlisting">double     xmlXPathCastStringToNumber      (const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * val)<br>
+</pre>
+<p>Converts a string to its number value</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>val</tt></i>:</span></td>
+<td>a string</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the number value</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathCastToBoolean"></a>xmlXPathCastToBoolean ()</h3>
+<pre class="programlisting">int        xmlXPathCastToBoolean           (<a 
href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val)<br>
+</pre>
+<p>Converts an XPath object to its boolean value</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 XPath object</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the boolean value</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathCastToNumber"></a>xmlXPathCastToNumber ()</h3>
+<pre class="programlisting">double     xmlXPathCastToNumber            (<a 
href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val)<br>
+</pre>
+<p>Converts an XPath object to its number value</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 XPath object</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the number value</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathCastToString"></a>xmlXPathCastToString ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *     xmlXPathCastToString  
  (<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val)<br>
+</pre>
+<p>Converts an existing object to its string() equivalent</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 XPath object</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the allocated string value of the object, NULL in case of error. It's up to the caller to free the 
string memory with xmlFree().</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathCmpNodes"></a>xmlXPathCmpNodes ()</h3>
+<pre class="programlisting">int        xmlXPathCmpNodes                (<a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node1, <br>                                       <a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node2)<br>
+</pre>
+<p>Compare two nodes w.r.t document order</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>node1</tt></i>:</span></td>
+<td>the first node</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>node2</tt></i>:</span></td>
+<td>the second node</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>-2 in case of error 1 if first point &lt; second point, 0 if it's the same node, -1 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathCompile"></a>xmlXPathCompile ()</h3>
+<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathCompExprPtr">xmlXPathCompExprPtr</a>   
xmlXPathCompile (const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str)<br>
+</pre>
+<p>Compile an XPath expression</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>str</tt></i>:</span></td>
+<td>the XPath expression</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the <a href="libxml2-xpath.html#xmlXPathCompExprPtr">xmlXPathCompExprPtr</a> resulting from the 
compilation or NULL. the caller has to free the object.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathCompiledEval"></a>xmlXPathCompiledEval ()</h3>
+<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>       
xmlXPathCompiledEval    (<a href="libxml2-xpath.html#xmlXPathCompExprPtr">xmlXPathCompExprPtr</a> comp, <br>  
                                           <a 
href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctx)<br>
+</pre>
+<p>Evaluate the Precompiled XPath expression in the given context.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>comp</tt></i>:</span></td>
+<td>the compiled XPath expression</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>the XPath context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> resulting from the evaluation 
or NULL. the caller has to free the object.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathCompiledEvalToBoolean"></a>xmlXPathCompiledEvalToBoolean ()</h3>
+<pre class="programlisting">int        xmlXPathCompiledEvalToBoolean   (<a 
href="libxml2-xpath.html#xmlXPathCompExprPtr">xmlXPathCompExprPtr</a> comp, <br>                              
       <a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt)<br>
+</pre>
+<p>Applies the XPath boolean() function on the result of the given compiled expression.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>comp</tt></i>:</span></td>
+<td>the compiled XPath expression</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the XPath context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if the expression evaluated to true, 0 if to false and -1 in API and internal errors.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathContextSetCache"></a>xmlXPathContextSetCache ()</h3>
+<pre class="programlisting">int        xmlXPathContextSetCache         (<a 
href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br>                                
       int active, <br>                                        int value, <br>                                
         int options)<br>
+</pre>
+<p>Creates/frees an object cache on the XPath context. If activates XPath objects (xmlXPathObject) will be 
cached internally to be reused. @options: 0: This will set the XPath object caching: @value: This will set 
the maximum number of XPath objects to be cached per slot There are 5 slots for: node-set, string, number, 
boolean, and misc objects. Use &lt;0 for the default number (100). Other values for @options have currently 
no effect.</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 XPath context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>active</tt></i>:</span></td>
+<td>enables/disables (creates/frees) the cache</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>value</tt></i>:</span></td>
+<td>a value with semantics dependent on @options</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>options</tt></i>:</span></td>
+<td>options (currently only the value 0 is used)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 if the setting succeeded, and -1 on API or internal errors.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathConvertBoolean"></a>xmlXPathConvertBoolean ()</h3>
+<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>       
xmlXPathConvertBoolean  (<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val)<br>
+</pre>
+<p>Converts an existing object to its boolean() equivalent</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 XPath object</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the new object, the old one is freed (or the operation is done directly on @val)</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathConvertNumber"></a>xmlXPathConvertNumber ()</h3>
+<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>       
xmlXPathConvertNumber   (<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val)<br>
+</pre>
+<p>Converts an existing object to its number() equivalent</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 XPath object</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the new object, the old one is freed (or the operation is done directly on @val)</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathConvertString"></a>xmlXPathConvertString ()</h3>
+<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>       
xmlXPathConvertString   (<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val)<br>
+</pre>
+<p>Converts an existing object to its string() equivalent</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 XPath object</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the new object, the old one is freed (or the operation is done directly on @val)</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathCtxtCompile"></a>xmlXPathCtxtCompile ()</h3>
+<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathCompExprPtr">xmlXPathCompExprPtr</a>   
xmlXPathCtxtCompile     (<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br>    
                                           const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * 
str)<br>
+</pre>
+<p>Compile an XPath 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>an XPath context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>str</tt></i>:</span></td>
+<td>the XPath expression</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the <a href="libxml2-xpath.html#xmlXPathCompExprPtr">xmlXPathCompExprPtr</a> resulting from the 
compilation or NULL. the caller has to free the object.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathEval"></a>xmlXPathEval ()</h3>
+<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>       
xmlXPathEval    (const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br>                       
           <a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctx)<br>
+</pre>
+<p>Evaluate the XPath Location Path in the given context.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>str</tt></i>:</span></td>
+<td>the XPath expression</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>the XPath context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> resulting from the evaluation 
or NULL. the caller has to free the object.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathEvalExpression"></a>xmlXPathEvalExpression ()</h3>
+<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>       
xmlXPathEvalExpression  (const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br>               
                           <a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt)<br>
+</pre>
+<p>Alias for xmlXPathEval().</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>str</tt></i>:</span></td>
+<td>the XPath expression</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the XPath context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> resulting from the evaluation 
or NULL. the caller has to free the object.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathEvalPredicate"></a>xmlXPathEvalPredicate ()</h3>
+<pre class="programlisting">int        xmlXPathEvalPredicate           (<a 
href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br>                                
       <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> res)<br>
+</pre>
+<p>Evaluate a predicate result for the current node. A PredicateExpr is evaluated by evaluating the Expr and 
converting the result to a boolean. If the result is a number, the result will be converted to true if the 
number is equal to the position of the context node in the context node list (as returned by the position 
function) and will be converted to false otherwise; if the result is not a number, then the result will be 
converted as if by a call to the boolean function.</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 XPath context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>res</tt></i>:</span></td>
+<td>the Predicate Expression evaluation result</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if predicate is true, 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathFreeCompExpr"></a>xmlXPathFreeCompExpr ()</h3>
+<pre class="programlisting">void       xmlXPathFreeCompExpr            (<a 
href="libxml2-xpath.html#xmlXPathCompExprPtr">xmlXPathCompExprPtr</a> comp)<br>
+</pre>
+<p>Free up the memory allocated by @comp</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>comp</tt></i>:</span></td>
+<td>an XPATH comp</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathFreeContext"></a>xmlXPathFreeContext ()</h3>
+<pre class="programlisting">void       xmlXPathFreeContext             (<a 
href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt)<br>
+</pre>
+<p>Free up an <a href="libxml2-xpath.html#xmlXPathContext">xmlXPathContext</a></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 context to free</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathFreeNodeSet"></a>xmlXPathFreeNodeSet ()</h3>
+<pre class="programlisting">void       xmlXPathFreeNodeSet             (<a 
href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> obj)<br>
+</pre>
+<p>Free the NodeSet compound (not the actual nodes !).</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-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> to free</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathFreeNodeSetList"></a>xmlXPathFreeNodeSetList ()</h3>
+<pre class="programlisting">void       xmlXPathFreeNodeSetList         (<a 
href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> obj)<br>
+</pre>
+<p>Free up the <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> @obj but don't 
deallocate the objects in the list contrary to xmlXPathFreeObject().</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>obj</tt></i>:</span></td>
+<td>an existing NodeSetList object</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathFreeObject"></a>xmlXPathFreeObject ()</h3>
+<pre class="programlisting">void       xmlXPathFreeObject              (<a 
href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> obj)<br>
+</pre>
+<p>Free up an <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> object.</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 object to free</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathInit"></a>xmlXPathInit ()</h3>
+<pre class="programlisting">void       xmlXPathInit                    (void)<br>
+</pre>
+<p>DEPRECATED: This function will be made private. Call <a 
href="libxml2-parser.html#xmlInitParser">xmlInitParser</a> to initialize the library. Initialize the XPath 
environment</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathIsInf"></a>xmlXPathIsInf ()</h3>
+<pre class="programlisting">int        xmlXPathIsInf                   (double val)<br>
+</pre>
+<p></p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>val</tt></i>:</span></td>
+<td>a double value</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if the value is +Infinite, -1 if -Infinite, 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathIsNaN"></a>xmlXPathIsNaN ()</h3>
+<pre class="programlisting">int        xmlXPathIsNaN                   (double val)<br>
+</pre>
+<p></p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>val</tt></i>:</span></td>
+<td>a double value</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if the value is a NaN, 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathNewContext"></a>xmlXPathNewContext ()</h3>
+<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a>     
xmlXPathNewContext      (<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br>
+</pre>
+<p>Create a new <a href="libxml2-xpath.html#xmlXPathContext">xmlXPathContext</a></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 XML document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the <a href="libxml2-xpath.html#xmlXPathContext">xmlXPathContext</a> just allocated. The caller will 
need to free it.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathNodeEval"></a>xmlXPathNodeEval ()</h3>
+<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>       
xmlXPathNodeEval        (<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>                     
                           const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br>             
                             <a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctx)<br>
+</pre>
+<p>Evaluate the XPath Location Path in the given context. The node 'node' is set as the context node. The 
context node is not restored.</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 to use as the context node</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>str</tt></i>:</span></td>
+<td>the XPath expression</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>the XPath context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> resulting from the evaluation 
or NULL. the caller has to free the object.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathNodeSetCreate"></a>xmlXPathNodeSetCreate ()</h3>
+<pre class="programlisting"><a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>       
xmlXPathNodeSetCreate   (<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> val)<br>
+</pre>
+<p>Create a new <a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</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 xmlNodePtr, 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="xmlXPathObjectCopy"></a>xmlXPathObjectCopy ()</h3>
+<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>       
xmlXPathObjectCopy      (<a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> val)<br>
+</pre>
+<p>allocate a new copy of a given object</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 original 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="xmlXPathOrderDocElems"></a>xmlXPathOrderDocElems ()</h3>
+<pre class="programlisting">long       xmlXPathOrderDocElems           (<a 
href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br>
+</pre>
+<p>Call this routine to speed up XPath computation on static documents. This stamps all the element nodes 
with the document order Like for line information, the order is kept in the element-&gt;content field, the 
value stored is actually - the node number (starting at -1) to be able to differentiate from line numbers.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>doc</tt></i>:</span></td>
+<td>an input document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the number of elements found in the document or -1 in case of error.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathSetContextNode"></a>xmlXPathSetContextNode ()</h3>
+<pre class="programlisting">int        xmlXPathSetContextNode          (<a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>                                        <a 
href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctx)<br>
+</pre>
+<p>Sets 'node' as the context node. The node must be in the same document as that associated with the 
context.</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 to use as the context node</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>the XPath context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>-1 in case of error or 0 if successful</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+</div>
+</div>
+</body>
 </html>
diff --git a/doc/devhelp/libxml2-xpathInternals.html b/doc/devhelp/libxml2-xpathInternals.html
index 5ea487b9..e5edfac4 100644
--- a/doc/devhelp/libxml2-xpathInternals.html
+++ b/doc/devhelp/libxml2-xpathInternals.html
@@ -1,49 +1,28 @@
-<?xml version="1.0" encoding="UTF-8"?>
 <html>
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
-    <title>xpathInternals: internal interfaces for XML Path Language implementation</title>
-    <meta name="generator" content="Libxml2 devhelp stylesheet"/>
-    <link rel="start" href="index.html" title="libxml2 Reference Manual"/>
-    <link rel="up" href="general.html" title="API"/>
-    <link rel="stylesheet" href="style.css" type="text/css"/>
-    <link rel="chapter" href="general.html" title="API"/>
-  </head>
-  <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-    <table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
-      <tr valign="middle">
-        <td>
-          <a accesskey="p" href="libxml2-xpath.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-xpointer.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">xpathInternals</span>
-    </h2>
-    <p>xpathInternals - internal interfaces for XML Path Language implementation</p>
-    <p>internal interfaces for XML Path Language implementation used to build new modules on top of XPath 
like XPointer and XSLT </p>
-    <p>Author(s): Daniel Veillard </p>
-    <div class="refsynopsisdiv">
-      <h2>Synopsis</h2>
-      <pre class="synopsis">#define <a href="#CAST_TO_BOOLEAN">CAST_TO_BOOLEAN</a>;
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>xpathInternals: internal interfaces for XML Path Language implementation</title>
+<meta name="generator" content="Libxml2 devhelp stylesheet">
+<link rel="start" href="index.html" title="libxml2 Reference Manual">
+<link rel="up" href="general.html" title="API">
+<link rel="stylesheet" href="style.css" type="text/css">
+<link rel="chapter" href="general.html" title="API">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr 
valign="middle">
+<td><a accesskey="p" href="libxml2-xpath.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-xpointer.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">xpathInternals</span></h2>
+<p>xpathInternals - internal interfaces for XML Path Language implementation</p>
+<p>internal interfaces for XML Path Language implementation used to build new modules on top of XPath like 
XPointer and XSLT </p>
+<p>Author(s): Daniel Veillard </p>
+<div class="refsynopsisdiv">
+<h2>Synopsis</h2>
+<pre class="synopsis">#define <a href="#CAST_TO_BOOLEAN">CAST_TO_BOOLEAN</a>;
 #define <a href="#CAST_TO_NUMBER">CAST_TO_NUMBER</a>;
 #define <a href="#CAST_TO_STRING">CAST_TO_STRING</a>;
 #define <a href="#CHECK_ARITY">CHECK_ARITY</a>(x);
@@ -73,80 +52,80 @@
 #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);
+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);
-int    <a href="#xmlXPathCompareValues">xmlXPathCompareValues</a>              (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>                   
               int inf, <br/>                                  int strict);
-void   <a href="#xmlXPathConcatFunction">xmlXPathConcatFunction</a>            (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>                   
               int nargs);
-void   <a href="#xmlXPathContainsFunction">xmlXPathContainsFunction</a>        (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>                   
               int nargs);
-void   <a href="#xmlXPathCountFunction">xmlXPathCountFunction</a>              (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>                   
               int nargs);
-void   <a href="#xmlXPathDebugDumpCompExpr">xmlXPathDebugDumpCompExpr</a>      (FILE * output, <br/>         
                           <a href="libxml2-xpath.html#xmlXPathCompExprPtr">xmlXPathCompExprPtr</a> comp, 
<br/>                                    int depth);
-void   <a href="#xmlXPathDebugDumpObject">xmlXPathDebugDumpObject</a>          (FILE * output, <br/>         
                           <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> cur, <br/>    
                                     int depth);
-<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>   <a 
href="#xmlXPathDifference">xmlXPathDifference</a>    (<a 
href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes1, <br/>                                      
<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes2);
+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);
+int    <a href="#xmlXPathCompareValues">xmlXPathCompareValues</a>              (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>                    
               int inf, <br>                                   int strict);
+void   <a href="#xmlXPathConcatFunction">xmlXPathConcatFunction</a>            (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>                    
               int nargs);
+void   <a href="#xmlXPathContainsFunction">xmlXPathContainsFunction</a>        (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>                    
               int nargs);
+void   <a href="#xmlXPathCountFunction">xmlXPathCountFunction</a>              (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>                    
               int nargs);
+void   <a href="#xmlXPathDebugDumpCompExpr">xmlXPathDebugDumpCompExpr</a>      (FILE * output, <br>          
                           <a href="libxml2-xpath.html#xmlXPathCompExprPtr">xmlXPathCompExprPtr</a> comp, 
<br>                                     int depth);
+void   <a href="#xmlXPathDebugDumpObject">xmlXPathDebugDumpObject</a>          (FILE * output, <br>          
                           <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> cur, <br>     
                             int depth);
+<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>   <a 
href="#xmlXPathDifference">xmlXPathDifference</a>    (<a 
href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes1, <br>                                       
<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes2);
 <a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>   <a 
href="#xmlXPathDistinct">xmlXPathDistinct</a>        (<a 
href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes);
 <a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>   <a 
href="#xmlXPathDistinctSorted">xmlXPathDistinctSorted</a>    (<a 
href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes);
 void   <a href="#xmlXPathDivValues">xmlXPathDivValues</a>              (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);
 int    <a href="#xmlXPathEqualValues">xmlXPathEqualValues</a>          (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);
-void   <a href="#xmlXPathErr">xmlXPathErr</a>                  (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>                   
               int error);
+void   <a href="#xmlXPathErr">xmlXPathErr</a>                  (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>                    
               int error);
 void   <a href="#xmlXPathEvalExpr">xmlXPathEvalExpr</a>                (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);
-int    <a href="#xmlXPathEvaluatePredicateResult">xmlXPathEvaluatePredicateResult</a>  (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>                   
               <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> res);
-void   <a href="#xmlXPathFalseFunction">xmlXPathFalseFunction</a>              (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>                   
               int nargs);
-void   <a href="#xmlXPathFloorFunction">xmlXPathFloorFunction</a>              (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>                   
               int nargs);
+int    <a href="#xmlXPathEvaluatePredicateResult">xmlXPathEvaluatePredicateResult</a>  (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>                    
               <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> res);
+void   <a href="#xmlXPathFalseFunction">xmlXPathFalseFunction</a>              (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>                    
               int nargs);
+void   <a href="#xmlXPathFloorFunction">xmlXPathFloorFunction</a>              (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>                    
               int nargs);
 void   <a href="#xmlXPathFreeParserContext">xmlXPathFreeParserContext</a>      (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);
-<a href="libxml2-xpath.html#xmlXPathFunction">xmlXPathFunction</a>     <a 
href="#xmlXPathFunctionLookup">xmlXPathFunctionLookup</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#xmlXPathFunction">xmlXPathFunction</a>     <a 
href="#xmlXPathFunctionLookupNS">xmlXPathFunctionLookupNS</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);
-int    <a href="#xmlXPathHasSameNodes">xmlXPathHasSameNodes</a>                (<a 
href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes1, <br/>                                      
<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes2);
-void   <a href="#xmlXPathIdFunction">xmlXPathIdFunction</a>            (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>                   
               int nargs);
-<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>   <a 
href="#xmlXPathIntersection">xmlXPathIntersection</a>        (<a 
href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes1, <br/>                                      
<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes2);
+<a href="libxml2-xpath.html#xmlXPathFunction">xmlXPathFunction</a>     <a 
href="#xmlXPathFunctionLookup">xmlXPathFunctionLookup</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#xmlXPathFunction">xmlXPathFunction</a>     <a 
href="#xmlXPathFunctionLookupNS">xmlXPathFunctionLookupNS</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);
+int    <a href="#xmlXPathHasSameNodes">xmlXPathHasSameNodes</a>                (<a 
href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes1, <br>                                       
<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes2);
+void   <a href="#xmlXPathIdFunction">xmlXPathIdFunction</a>            (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>                    
               int nargs);
+<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>   <a 
href="#xmlXPathIntersection">xmlXPathIntersection</a>        (<a 
href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes1, <br>                                       
<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes2);
 int    <a href="#xmlXPathIsNodeType">xmlXPathIsNodeType</a>            (const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
-void   <a href="#xmlXPathLangFunction">xmlXPathLangFunction</a>                (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>                   
               int nargs);
-void   <a href="#xmlXPathLastFunction">xmlXPathLastFunction</a>                (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>                   
               int nargs);
-<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>   <a 
href="#xmlXPathLeading">xmlXPathLeading</a>          (<a 
href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes1, <br/>                                      
<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes2);
-<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>   <a 
href="#xmlXPathLeadingSorted">xmlXPathLeadingSorted</a>      (<a 
href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes1, <br/>                                      
<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes2);
-void   <a href="#xmlXPathLocalNameFunction">xmlXPathLocalNameFunction</a>      (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>                   
               int nargs);
+void   <a href="#xmlXPathLangFunction">xmlXPathLangFunction</a>                (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>                    
               int nargs);
+void   <a href="#xmlXPathLastFunction">xmlXPathLastFunction</a>                (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>                    
               int nargs);
+<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>   <a 
href="#xmlXPathLeading">xmlXPathLeading</a>          (<a 
href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes1, <br>                                       
<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes2);
+<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>   <a 
href="#xmlXPathLeadingSorted">xmlXPathLeadingSorted</a>      (<a 
href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes1, <br>                                       
<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes2);
+void   <a href="#xmlXPathLocalNameFunction">xmlXPathLocalNameFunction</a>      (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>                    
               int nargs);
 void   <a href="#xmlXPathModValues">xmlXPathModValues</a>              (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);
 void   <a href="#xmlXPathMultValues">xmlXPathMultValues</a>            (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);
-void   <a href="#xmlXPathNamespaceURIFunction">xmlXPathNamespaceURIFunction</a>        (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>                   
               int nargs);
+void   <a href="#xmlXPathNamespaceURIFunction">xmlXPathNamespaceURIFunction</a>        (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>                    
               int nargs);
 <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>   <a 
href="#xmlXPathNewBoolean">xmlXPathNewBoolean</a>    (int val);
 <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>   <a 
href="#xmlXPathNewCString">xmlXPathNewCString</a>    (const char * val);
 <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>   <a 
href="#xmlXPathNewFloat">xmlXPathNewFloat</a>        (double val);
 <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>   <a 
href="#xmlXPathNewNodeSet">xmlXPathNewNodeSet</a>    (<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> 
val);
 <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>   <a 
href="#xmlXPathNewNodeSetList">xmlXPathNewNodeSetList</a>    (<a 
href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> val);
-<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a>     <a 
href="#xmlXPathNewParserContext">xmlXPathNewParserContext</a>        (const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br/>                                                
         <a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt);
+<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a>     <a 
href="#xmlXPathNewParserContext">xmlXPathNewParserContext</a>        (const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br>                                                 
 <a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt);
 <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>   <a 
href="#xmlXPathNewString">xmlXPathNewString</a>      (const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * val);
 <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>   <a 
href="#xmlXPathNewValueTree">xmlXPathNewValueTree</a>        (<a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> val);
-<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>  <a 
href="#xmlXPathNextAncestor">xmlXPathNextAncestor</a>        (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>                   
               <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
-<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>  <a 
href="#xmlXPathNextAncestorOrSelf">xmlXPathNextAncestorOrSelf</a>    (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>                   
                       <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
-<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>  <a 
href="#xmlXPathNextAttribute">xmlXPathNextAttribute</a>      (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>                   
               <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
-<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>  <a href="#xmlXPathNextChild">xmlXPathNextChild</a>    
  (<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>             
                     <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
-<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>  <a 
href="#xmlXPathNextDescendant">xmlXPathNextDescendant</a>    (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>                   
               <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
-<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>  <a 
href="#xmlXPathNextDescendantOrSelf">xmlXPathNextDescendantOrSelf</a>        (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>                   
                       <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
-<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>  <a 
href="#xmlXPathNextFollowing">xmlXPathNextFollowing</a>      (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>                   
               <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
-<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>  <a 
href="#xmlXPathNextFollowingSibling">xmlXPathNextFollowingSibling</a>        (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>                   
                       <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
-<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>  <a 
href="#xmlXPathNextNamespace">xmlXPathNextNamespace</a>      (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>                   
               <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
-<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>  <a href="#xmlXPathNextParent">xmlXPathNextParent</a>  
  (<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>             
                     <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
-<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>  <a 
href="#xmlXPathNextPreceding">xmlXPathNextPreceding</a>      (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>                   
               <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
-<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>  <a 
href="#xmlXPathNextPrecedingSibling">xmlXPathNextPrecedingSibling</a>        (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>                   
                       <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
-<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>  <a href="#xmlXPathNextSelf">xmlXPathNextSelf</a>      
  (<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>             
                     <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
-<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>   <a 
href="#xmlXPathNodeLeading">xmlXPathNodeLeading</a>  (<a 
href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes, <br/>                                       
<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node);
-<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>   <a 
href="#xmlXPathNodeLeadingSorted">xmlXPathNodeLeadingSorted</a>      (<a 
href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes, <br/>                                        
       <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node);
-int    <a href="#xmlXPathNodeSetAdd">xmlXPathNodeSetAdd</a>            (<a 
href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> cur, <br/>                                         
<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> val);
-int    <a href="#xmlXPathNodeSetAddNs">xmlXPathNodeSetAddNs</a>                (<a 
href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> cur, <br/>                                         
<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br/>                                       <a 
href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> ns);
-int    <a href="#xmlXPathNodeSetAddUnique">xmlXPathNodeSetAddUnique</a>        (<a 
href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> cur, <br/>                                         
<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> val);
-int    <a href="#xmlXPathNodeSetContains">xmlXPathNodeSetContains</a>          (<a 
href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> cur, <br/>                                         
<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> val);
-void   <a href="#xmlXPathNodeSetDel">xmlXPathNodeSetDel</a>            (<a 
href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> cur, <br/>                                         
<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> val);
+<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>  <a 
href="#xmlXPathNextAncestor">xmlXPathNextAncestor</a>        (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>                    
               <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
+<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>  <a 
href="#xmlXPathNextAncestorOrSelf">xmlXPathNextAncestorOrSelf</a>    (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>                    
                       <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
+<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>  <a 
href="#xmlXPathNextAttribute">xmlXPathNextAttribute</a>      (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>                    
               <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
+<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>  <a href="#xmlXPathNextChild">xmlXPathNextChild</a>    
  (<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>              
                     <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
+<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>  <a 
href="#xmlXPathNextDescendant">xmlXPathNextDescendant</a>    (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>                    
               <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
+<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>  <a 
href="#xmlXPathNextDescendantOrSelf">xmlXPathNextDescendantOrSelf</a>        (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>                    
                       <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
+<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>  <a 
href="#xmlXPathNextFollowing">xmlXPathNextFollowing</a>      (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>                    
               <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
+<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>  <a 
href="#xmlXPathNextFollowingSibling">xmlXPathNextFollowingSibling</a>        (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>                    
                       <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
+<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>  <a 
href="#xmlXPathNextNamespace">xmlXPathNextNamespace</a>      (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>                    
               <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
+<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>  <a href="#xmlXPathNextParent">xmlXPathNextParent</a>  
  (<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>              
                     <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
+<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>  <a 
href="#xmlXPathNextPreceding">xmlXPathNextPreceding</a>      (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>                    
               <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
+<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>  <a 
href="#xmlXPathNextPrecedingSibling">xmlXPathNextPrecedingSibling</a>        (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>                    
                       <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
+<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>  <a href="#xmlXPathNextSelf">xmlXPathNextSelf</a>      
  (<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>              
                     <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> cur);
+<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>   <a 
href="#xmlXPathNodeLeading">xmlXPathNodeLeading</a>  (<a 
href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes, <br>                                        
<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node);
+<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>   <a 
href="#xmlXPathNodeLeadingSorted">xmlXPathNodeLeadingSorted</a>      (<a 
href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes, <br>                                         
       <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node);
+int    <a href="#xmlXPathNodeSetAdd">xmlXPathNodeSetAdd</a>            (<a 
href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> cur, <br>                                  <a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> val);
+int    <a href="#xmlXPathNodeSetAddNs">xmlXPathNodeSetAddNs</a>                (<a 
href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> cur, <br>                                  <a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>                                        <a 
href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> ns);
+int    <a href="#xmlXPathNodeSetAddUnique">xmlXPathNodeSetAddUnique</a>        (<a 
href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> cur, <br>                                  <a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> val);
+int    <a href="#xmlXPathNodeSetContains">xmlXPathNodeSetContains</a>          (<a 
href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> cur, <br>                                  <a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> val);
+void   <a href="#xmlXPathNodeSetDel">xmlXPathNodeSetDel</a>            (<a 
href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> cur, <br>                                  <a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> val);
 void   <a href="#xmlXPathNodeSetFreeNs">xmlXPathNodeSetFreeNs</a>              (<a 
href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> ns);
-<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>   <a 
href="#xmlXPathNodeSetMerge">xmlXPathNodeSetMerge</a>        (<a 
href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> val1, <br/>                                        
<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> val2);
-void   <a href="#xmlXPathNodeSetRemove">xmlXPathNodeSetRemove</a>              (<a 
href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> cur, <br/>                                         
int val);
+<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>   <a 
href="#xmlXPathNodeSetMerge">xmlXPathNodeSetMerge</a>        (<a 
href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> val1, <br>                                         
<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> val2);
+void   <a href="#xmlXPathNodeSetRemove">xmlXPathNodeSetRemove</a>              (<a 
href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> cur, <br>                                  int val);
 void   <a href="#xmlXPathNodeSetSort">xmlXPathNodeSetSort</a>          (<a 
href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> set);
-<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>   <a 
href="#xmlXPathNodeTrailing">xmlXPathNodeTrailing</a>        (<a 
href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes, <br/>                                       
<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node);
-<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>   <a 
href="#xmlXPathNodeTrailingSorted">xmlXPathNodeTrailingSorted</a>    (<a 
href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes, <br/>                                        
       <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node);
-void   <a href="#xmlXPathNormalizeFunction">xmlXPathNormalizeFunction</a>      (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>                   
               int nargs);
+<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>   <a 
href="#xmlXPathNodeTrailing">xmlXPathNodeTrailing</a>        (<a 
href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes, <br>                                        
<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node);
+<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>   <a 
href="#xmlXPathNodeTrailingSorted">xmlXPathNodeTrailingSorted</a>    (<a 
href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes, <br>                                         
       <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node);
+void   <a href="#xmlXPathNormalizeFunction">xmlXPathNormalizeFunction</a>      (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>                    
               int nargs);
 int    <a href="#xmlXPathNotEqualValues">xmlXPathNotEqualValues</a>            (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);
-void   <a href="#xmlXPathNotFunction">xmlXPathNotFunction</a>          (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>                   
               int nargs);
-const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *   <a 
href="#xmlXPathNsLookup">xmlXPathNsLookup</a>        (<a 
href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br/>                               
       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix);
-void   <a href="#xmlXPathNumberFunction">xmlXPathNumberFunction</a>            (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>                   
               int nargs);
+void   <a href="#xmlXPathNotFunction">xmlXPathNotFunction</a>          (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>                    
               int nargs);
+const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *   <a 
href="#xmlXPathNsLookup">xmlXPathNsLookup</a>        (<a 
href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br>                                
       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix);
+void   <a href="#xmlXPathNumberFunction">xmlXPathNumberFunction</a>            (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>                    
               int nargs);
 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * <a 
href="#xmlXPathParseNCName">xmlXPathParseNCName</a>  (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);
 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * <a href="#xmlXPathParseName">xmlXPathParseName</a>    
  (<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);
 int    <a href="#xmlXPathPopBoolean">xmlXPathPopBoolean</a>            (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);
@@ -154,634 +133,3094 @@ void * <a href="#xmlXPathPopExternal">xmlXPathPopExternal</a>          (<a 
href="libxml2
 <a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>   <a 
href="#xmlXPathPopNodeSet">xmlXPathPopNodeSet</a>    (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);
 double <a href="#xmlXPathPopNumber">xmlXPathPopNumber</a>              (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);
 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * <a href="#xmlXPathPopString">xmlXPathPopString</a>    
  (<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);
-void   <a href="#xmlXPathPositionFunction">xmlXPathPositionFunction</a>        (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>                   
               int nargs);
+void   <a href="#xmlXPathPositionFunction">xmlXPathPositionFunction</a>        (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>                    
               int nargs);
 void   <a href="#xmlXPathRegisterAllFunctions">xmlXPathRegisterAllFunctions</a>        (<a 
href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt);
-int    <a href="#xmlXPathRegisterFunc">xmlXPathRegisterFunc</a>                (<a 
href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br/>                               
       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>                               
         <a href="libxml2-xpath.html#xmlXPathFunction">xmlXPathFunction</a> f);
-void   <a href="#xmlXPathRegisterFuncLookup">xmlXPathRegisterFuncLookup</a>    (<a 
href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br/>                               
       <a href="libxml2-xpath.html#xmlXPathFuncLookupFunc">xmlXPathFuncLookupFunc</a> f, <br/>                
                         void * funcCtxt);
-int    <a href="#xmlXPathRegisterFuncNS">xmlXPathRegisterFuncNS</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, <br/>                           
           <a href="libxml2-xpath.html#xmlXPathFunction">xmlXPathFunction</a> f);
-int    <a href="#xmlXPathRegisterNs">xmlXPathRegisterNs</a>            (<a 
href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br/>                               
       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br/>                             
         const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ns_uri);
-int    <a href="#xmlXPathRegisterVariable">xmlXPathRegisterVariable</a>        (<a 
href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br/>                               
       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>                               
         <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> value);
-void   <a href="#xmlXPathRegisterVariableLookup">xmlXPathRegisterVariableLookup</a>    (<a 
href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br/>                               
       <a href="libxml2-xpath.html#xmlXPathVariableLookupFunc">xmlXPathVariableLookupFunc</a> f, <br/>        
                                 void * data);
-int    <a href="#xmlXPathRegisterVariableNS">xmlXPathRegisterVariableNS</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, <br/>                           
           <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> value);
+int    <a href="#xmlXPathRegisterFunc">xmlXPathRegisterFunc</a>                (<a 
href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br>                                
       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>                                
         <a href="libxml2-xpath.html#xmlXPathFunction">xmlXPathFunction</a> f);
+void   <a href="#xmlXPathRegisterFuncLookup">xmlXPathRegisterFuncLookup</a>    (<a 
href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br>                                
       <a href="libxml2-xpath.html#xmlXPathFuncLookupFunc">xmlXPathFuncLookupFunc</a> f, <br>                 
                 void * funcCtxt);
+int    <a href="#xmlXPathRegisterFuncNS">xmlXPathRegisterFuncNS</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, <br>                            
           <a href="libxml2-xpath.html#xmlXPathFunction">xmlXPathFunction</a> f);
+int    <a href="#xmlXPathRegisterNs">xmlXPathRegisterNs</a>            (<a 
href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br>                                
       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br>                              
         const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ns_uri);
+int    <a href="#xmlXPathRegisterVariable">xmlXPathRegisterVariable</a>        (<a 
href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br>                                
       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>                                
         <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> value);
+void   <a href="#xmlXPathRegisterVariableLookup">xmlXPathRegisterVariableLookup</a>    (<a 
href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br>                                
       <a href="libxml2-xpath.html#xmlXPathVariableLookupFunc">xmlXPathVariableLookupFunc</a> f, <br>         
                         void * data);
+int    <a href="#xmlXPathRegisterVariableNS">xmlXPathRegisterVariableNS</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, <br>                            
           <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> value);
 void   <a href="#xmlXPathRegisteredFuncsCleanup">xmlXPathRegisteredFuncsCleanup</a>    (<a 
href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt);
 void   <a href="#xmlXPathRegisteredNsCleanup">xmlXPathRegisteredNsCleanup</a>  (<a 
href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt);
 void   <a href="#xmlXPathRegisteredVariablesCleanup">xmlXPathRegisteredVariablesCleanup</a>    (<a 
href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt);
 void   <a href="#xmlXPathRoot">xmlXPathRoot</a>                        (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);
-void   <a href="#xmlXPathRoundFunction">xmlXPathRoundFunction</a>              (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>                   
               int nargs);
-void   <a href="#xmlXPathStartsWithFunction">xmlXPathStartsWithFunction</a>    (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>                   
               int nargs);
+void   <a href="#xmlXPathRoundFunction">xmlXPathRoundFunction</a>              (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>                    
               int nargs);
+void   <a href="#xmlXPathStartsWithFunction">xmlXPathStartsWithFunction</a>    (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>                    
               int nargs);
 double <a href="#xmlXPathStringEvalNumber">xmlXPathStringEvalNumber</a>        (const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str);
-void   <a href="#xmlXPathStringFunction">xmlXPathStringFunction</a>            (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>                   
               int nargs);
-void   <a href="#xmlXPathStringLengthFunction">xmlXPathStringLengthFunction</a>        (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>                   
               int nargs);
+void   <a href="#xmlXPathStringFunction">xmlXPathStringFunction</a>            (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>                    
               int nargs);
+void   <a href="#xmlXPathStringLengthFunction">xmlXPathStringLengthFunction</a>        (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>                    
               int nargs);
 void   <a href="#xmlXPathSubValues">xmlXPathSubValues</a>              (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt);
-void   <a href="#xmlXPathSubstringAfterFunction">xmlXPathSubstringAfterFunction</a>    (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>                   
               int nargs);
-void   <a href="#xmlXPathSubstringBeforeFunction">xmlXPathSubstringBeforeFunction</a>  (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>                   
               int nargs);
-void   <a href="#xmlXPathSubstringFunction">xmlXPathSubstringFunction</a>      (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>                   
               int nargs);
-void   <a href="#xmlXPathSumFunction">xmlXPathSumFunction</a>          (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>                   
               int nargs);
-<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>   <a 
href="#xmlXPathTrailing">xmlXPathTrailing</a>        (<a 
href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes1, <br/>                                      
<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes2);
-<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>   <a 
href="#xmlXPathTrailingSorted">xmlXPathTrailingSorted</a>    (<a 
href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes1, <br/>                                      
<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes2);
-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="#xmlXPathSubstringAfterFunction">xmlXPathSubstringAfterFunction</a>    (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>                    
               int nargs);
+void   <a href="#xmlXPathSubstringBeforeFunction">xmlXPathSubstringBeforeFunction</a>  (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>                    
               int nargs);
+void   <a href="#xmlXPathSubstringFunction">xmlXPathSubstringFunction</a>      (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>                    
               int nargs);
+void   <a href="#xmlXPathSumFunction">xmlXPathSumFunction</a>          (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>                    
               int nargs);
+<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>   <a 
href="#xmlXPathTrailing">xmlXPathTrailing</a>        (<a 
href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes1, <br>                                       
<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes2);
+<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>   <a 
href="#xmlXPathTrailingSorted">xmlXPathTrailingSorted</a>    (<a 
href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes1, <br>                                       
<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes2);
+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="#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="#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);
 <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>   <a 
href="#xmlXPathWrapExternal">xmlXPathWrapExternal</a>        (void * val);
 <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>   <a 
href="#xmlXPathWrapNodeSet">xmlXPathWrapNodeSet</a>  (<a 
href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> val);
 <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>   <a 
href="#xmlXPathWrapString">xmlXPathWrapString</a>    (<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * 
val);
-void   <a href="#xmlXPatherror">xmlXPatherror</a>                      (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>                   
               const char * file, <br/>                                        int line, <br/>                
                         int no);
-</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="CAST_TO_BOOLEAN">Macro </a>CAST_TO_BOOLEAN</h3><pre 
class="programlisting">#define <a href="#CAST_TO_BOOLEAN">CAST_TO_BOOLEAN</a>;
-</pre><p>Macro to try to cast the value on the top of the XPath stack to a boolean.</p>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="CAST_TO_NUMBER">Macro </a>CAST_TO_NUMBER</h3><pre 
class="programlisting">#define <a href="#CAST_TO_NUMBER">CAST_TO_NUMBER</a>;
-</pre><p>Macro to try to cast the value on the top of the XPath stack to a number.</p>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="CAST_TO_STRING">Macro </a>CAST_TO_STRING</h3><pre 
class="programlisting">#define <a href="#CAST_TO_STRING">CAST_TO_STRING</a>;
-</pre><p>Macro to try to cast the value on the top of the XPath stack to a string.</p>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="CHECK_ARITY">Macro </a>CHECK_ARITY</h3><pre 
class="programlisting">#define <a href="#CHECK_ARITY">CHECK_ARITY</a>(x);
-</pre><p>Macro to check that the number of args passed to an XPath function matches.</p><div 
class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>x</tt></i>:</span></td><td>the number of expected args</td></tr></tbody></table></div>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="CHECK_ERROR">Macro </a>CHECK_ERROR</h3><pre 
class="programlisting">#define <a href="#CHECK_ERROR">CHECK_ERROR</a>;
-</pre><p>Macro to return from the function if an XPath error was detected.</p>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="CHECK_ERROR0">Macro </a>CHECK_ERROR0</h3><pre 
class="programlisting">#define <a href="#CHECK_ERROR0">CHECK_ERROR0</a>;
-</pre><p>Macro to return 0 from the function if an XPath error was detected.</p>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="CHECK_TYPE">Macro </a>CHECK_TYPE</h3><pre 
class="programlisting">#define <a href="#CHECK_TYPE">CHECK_TYPE</a>(typeval);
-</pre><p>Macro to check that the value on top of the XPath stack is of a given type.</p><div 
class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>typeval</tt></i>:</span></td><td>the XPath type</td></tr></tbody></table></div>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="CHECK_TYPE0">Macro </a>CHECK_TYPE0</h3><pre 
class="programlisting">#define <a href="#CHECK_TYPE0">CHECK_TYPE0</a>(typeval);
-</pre><p>Macro to check that the value on top of the XPath stack is of a given type. Return(0) in case of 
failure</p><div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>typeval</tt></i>:</span></td><td>the XPath type</td></tr></tbody></table></div>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XP_ERROR">Macro </a>XP_ERROR</h3><pre 
class="programlisting">#define <a href="#XP_ERROR">XP_ERROR</a>(X);
-</pre><p>Macro to raise an XPath error and return.</p><div class="variablelist"><table border="0"><col 
align="left"/><tbody><tr><td><span class="term"><i><tt>X</tt></i>:</span></td><td>the error 
code</td></tr></tbody></table></div>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="XP_ERROR0">Macro </a>XP_ERROR0</h3><pre 
class="programlisting">#define <a href="#XP_ERROR0">XP_ERROR0</a>(X);
-</pre><p>Macro to raise an XPath error and return 0.</p><div class="variablelist"><table border="0"><col 
align="left"/><tbody><tr><td><span class="term"><i><tt>X</tt></i>:</span></td><td>the error 
code</td></tr></tbody></table></div>
-</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><p>Check if an XPath error was raised. Returns true if an error has been raised, false 
otherwise.</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 parser context</td></tr></tbody></table></div>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathEmptyNodeSet">Macro 
</a>xmlXPathEmptyNodeSet</h3><pre class="programlisting">#define <a 
href="#xmlXPathEmptyNodeSet">xmlXPathEmptyNodeSet</a>(ns);
-</pre><p>Empties a node-set.</p><div class="variablelist"><table border="0"><col 
align="left"/><tbody><tr><td><span class="term"><i><tt>ns</tt></i>:</span></td><td>a 
node-set</td></tr></tbody></table></div>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathGetContextNode">Macro 
</a>xmlXPathGetContextNode</h3><pre class="programlisting">#define <a 
href="#xmlXPathGetContextNode">xmlXPathGetContextNode</a>(ctxt);
-</pre><p>Get the context node of an XPath context. Returns the context 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>an XPath parser context</td></tr></tbody></table></div>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathGetDocument">Macro 
</a>xmlXPathGetDocument</h3><pre class="programlisting">#define <a 
href="#xmlXPathGetDocument">xmlXPathGetDocument</a>(ctxt);
-</pre><p>Get the document of an XPath context. Returns the context document.</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 parser context</td></tr></tbody></table></div>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathGetError">Macro </a>xmlXPathGetError</h3><pre 
class="programlisting">#define <a href="#xmlXPathGetError">xmlXPathGetError</a>(ctxt);
-</pre><p>Get the error code of an XPath context. Returns the context error.</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 parser context</td></tr></tbody></table></div>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathReturnBoolean">Macro 
</a>xmlXPathReturnBoolean</h3><pre class="programlisting">#define <a 
href="#xmlXPathReturnBoolean">xmlXPathReturnBoolean</a>(ctxt, val);
-</pre><p>Pushes the boolean @val on the context 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 parser 
context</td></tr><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>a 
boolean</td></tr></tbody></table></div>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathReturnEmptyNodeSet">Macro 
</a>xmlXPathReturnEmptyNodeSet</h3><pre class="programlisting">#define <a 
href="#xmlXPathReturnEmptyNodeSet">xmlXPathReturnEmptyNodeSet</a>(ctxt);
-</pre><p>Pushes an empty node-set on the context 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 parser 
context</td></tr></tbody></table></div>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathReturnEmptyString">Macro 
</a>xmlXPathReturnEmptyString</h3><pre class="programlisting">#define <a 
href="#xmlXPathReturnEmptyString">xmlXPathReturnEmptyString</a>(ctxt);
-</pre><p>Pushes an empty string on the 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 parser 
context</td></tr></tbody></table></div>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathReturnExternal">Macro 
</a>xmlXPathReturnExternal</h3><pre class="programlisting">#define <a 
href="#xmlXPathReturnExternal">xmlXPathReturnExternal</a>(ctxt, val);
-</pre><p>Pushes user data on the context 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 parser 
context</td></tr><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>user 
data</td></tr></tbody></table></div>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathReturnFalse">Macro 
</a>xmlXPathReturnFalse</h3><pre class="programlisting">#define <a 
href="#xmlXPathReturnFalse">xmlXPathReturnFalse</a>(ctxt);
-</pre><p>Pushes false on the context 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 parser 
context</td></tr></tbody></table></div>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathReturnNodeSet">Macro 
</a>xmlXPathReturnNodeSet</h3><pre class="programlisting">#define <a 
href="#xmlXPathReturnNodeSet">xmlXPathReturnNodeSet</a>(ctxt, ns);
-</pre><p>Pushes the node-set @ns on the context 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 parser 
context</td></tr><tr><td><span class="term"><i><tt>ns</tt></i>:</span></td><td>a 
node-set</td></tr></tbody></table></div>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathReturnNumber">Macro 
</a>xmlXPathReturnNumber</h3><pre class="programlisting">#define <a 
href="#xmlXPathReturnNumber">xmlXPathReturnNumber</a>(ctxt, val);
-</pre><p>Pushes the double @val on the context 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 parser 
context</td></tr><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>a 
double</td></tr></tbody></table></div>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathReturnString">Macro 
</a>xmlXPathReturnString</h3><pre class="programlisting">#define <a 
href="#xmlXPathReturnString">xmlXPathReturnString</a>(ctxt, str);
-</pre><p>Pushes the string @str on the context 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 parser 
context</td></tr><tr><td><span class="term"><i><tt>str</tt></i>:</span></td><td>a 
string</td></tr></tbody></table></div>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathReturnTrue">Macro 
</a>xmlXPathReturnTrue</h3><pre class="programlisting">#define <a 
href="#xmlXPathReturnTrue">xmlXPathReturnTrue</a>(ctxt);
-</pre><p>Pushes true on the context 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 parser 
context</td></tr></tbody></table></div>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathSetArityError">Macro 
</a>xmlXPathSetArityError</h3><pre class="programlisting">#define <a 
href="#xmlXPathSetArityError">xmlXPathSetArityError</a>(ctxt);
-</pre><p>Raises an <a href="libxml2-xpath.html#XPATH_INVALID_ARITY">XPATH_INVALID_ARITY</a> error.</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 parser context</td></tr></tbody></table></div>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathSetError">Macro </a>xmlXPathSetError</h3><pre 
class="programlisting">#define <a href="#xmlXPathSetError">xmlXPathSetError</a>(ctxt, err);
-</pre><p>Raises an error.</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 parser 
context</td></tr><tr><td><span class="term"><i><tt>err</tt></i>:</span></td><td>an <a 
href="libxml2-xpath.html#xmlXPathError">xmlXPathError</a> code</td></tr></tbody></table></div>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathSetTypeError">Macro 
</a>xmlXPathSetTypeError</h3><pre class="programlisting">#define <a 
href="#xmlXPathSetTypeError">xmlXPathSetTypeError</a>(ctxt);
-</pre><p>Raises an <a href="libxml2-xpath.html#XPATH_INVALID_TYPE">XPATH_INVALID_TYPE</a> error.</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 parser context</td></tr></tbody></table></div>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathStackIsExternal">Macro 
</a>xmlXPathStackIsExternal</h3><pre class="programlisting">#define <a 
href="#xmlXPathStackIsExternal">xmlXPathStackIsExternal</a>(ctxt);
-</pre><p>Checks if the current value on the XPath stack is an external object. Returns true if the current 
object on the stack is an external object.</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 parser 
context</td></tr></tbody></table></div>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathStackIsNodeSet">Macro 
</a>xmlXPathStackIsNodeSet</h3><pre class="programlisting">#define <a 
href="#xmlXPathStackIsNodeSet">xmlXPathStackIsNodeSet</a>(ctxt);
-</pre><p>Check if the current value on the XPath stack is a node set or an XSLT value tree. Returns true if 
the current object on the stack is 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>an XPath parser 
context</td></tr></tbody></table></div>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="valuePop"/>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"/>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.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathAddValues"/>xmlXPathAddValues ()</h3><pre 
class="programlisting">void     xmlXPathAddValues               (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)<br/>
-</pre><p>Implement the add operation on XPath objects: The numeric operators convert their operands to 
numbers as if by calling the number function.</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 XPath Parser 
context</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathBooleanFunction"/>xmlXPathBooleanFunction 
()</h3><pre class="programlisting">void xmlXPathBooleanFunction         (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>                   
               int nargs)<br/>
-</pre><p>Implement the boolean() XPath function boolean boolean(object) The boolean function converts its 
argument to a boolean as follows: - a number is true if and only if it is neither positive or negative zero 
nor NaN - a node-set is true if and only if it is non-empty - a string is true if and only if its length is 
non-zero</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 XPath Parser context</td></tr><tr><td><span 
class="term"><i><tt>nargs</tt></i>:</span></td><td>the number of 
arguments</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathCeilingFunction"/>xmlXPathCeilingFunction 
()</h3><pre class="programlisting">void xmlXPathCeilingFunction         (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>                   
               int nargs)<br/>
-</pre><p>Implement the ceiling() XPath function number ceiling(number) The ceiling function returns the 
smallest (closest to negative infinity) number that is not less than the argument and that is an integer.</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 XPath Parser context</td></tr><tr><td><span 
class="term"><i><tt>nargs</tt></i>:</span></td><td>the number of 
arguments</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathCompareValues"/>xmlXPathCompareValues 
()</h3><pre class="programlisting">int      xmlXPathCompareValues           (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>                   
               int inf, <br/>                                  int strict)<br/>
-</pre><p>Implement the compare operation on XPath objects: @arg1 &lt; @arg2 (1, 1, ... @arg1 &lt;= @arg2 (1, 
0, ... @arg1 &gt; @arg2 (0, 1, ... @arg1 &gt;= @arg2 (0, 0, ... When neither object to be compared is a 
node-set and the operator is &lt;=, &lt;, &gt;=, &gt;, then the objects are compared by converted both 
objects to numbers and comparing the numbers according to IEEE 754. The &lt; comparison will be true if and 
only if the first number is less than the second number. The &lt;= comparison will be true if and only if the 
first number is less than or equal to the second number. The &gt; comparison will be true if and only if the 
first number is greater than the second number. The &gt;= comparison will be true if and only if the first 
number is greater than or equal to the second number.</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 XPath Parser context</td></tr><tr><td><span 
class="term"><i><tt>inf</tt></i>:</span></td><td>less than (1) or greater than (0)</td></tr><tr><td><span 
class="term"><i><tt>strict</tt></i>:</span></td><td>is the comparison strict</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if the comparison succeeded, 0 if it 
failed</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathConcatFunction"/>xmlXPathConcatFunction 
()</h3><pre class="programlisting">void   xmlXPathConcatFunction          (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>                   
               int nargs)<br/>
-</pre><p>Implement the concat() XPath function string concat(string, string, string*) The concat function 
returns the concatenation of its arguments.</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 XPath Parser context</td></tr><tr><td><span 
class="term"><i><tt>nargs</tt></i>:</span></td><td>the number of 
arguments</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathContainsFunction"/>xmlXPathContainsFunction 
()</h3><pre class="programlisting">void       xmlXPathContainsFunction        (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>                   
               int nargs)<br/>
-</pre><p>Implement the contains() XPath function boolean contains(string, string) The contains function 
returns true if the first argument string contains the second argument string, and otherwise returns 
false.</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 XPath Parser context</td></tr><tr><td><span 
class="term"><i><tt>nargs</tt></i>:</span></td><td>the number of 
arguments</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathCountFunction"/>xmlXPathCountFunction 
()</h3><pre class="programlisting">void     xmlXPathCountFunction           (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>                   
               int nargs)<br/>
-</pre><p>Implement the count() XPath function number count(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 XPath Parser context</td></tr><tr><td><span 
class="term"><i><tt>nargs</tt></i>:</span></td><td>the number of 
arguments</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathDebugDumpCompExpr"/>xmlXPathDebugDumpCompExpr 
()</h3><pre class="programlisting">void     xmlXPathDebugDumpCompExpr       (FILE * output, <br/>             
                       <a href="libxml2-xpath.html#xmlXPathCompExprPtr">xmlXPathCompExprPtr</a> comp, <br/>   
                                 int depth)<br/>
-</pre><p>Dumps the tree of the compiled XPath expression.</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>comp</tt></i>:</span></td><td>the precompiled XPath expression</td></tr><tr><td><span 
class="term"><i><tt>depth</tt></i>:</span></td><td>the indentation 
level.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathDebugDumpObject"/>xmlXPathDebugDumpObject 
()</h3><pre class="programlisting">void xmlXPathDebugDumpObject         (FILE * output, <br/>                 
                   <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> cur, <br/>            
                             int depth)<br/>
-</pre><p>Dump the content of the object for debugging purposes</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 * to dump the output</td></tr><tr><td><span 
class="term"><i><tt>cur</tt></i>:</span></td><td>the object to inspect</td></tr><tr><td><span 
class="term"><i><tt>depth</tt></i>:</span></td><td>indentation level</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathDifference"/>xmlXPathDifference ()</h3><pre 
class="programlisting"><a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>   xmlXPathDifference      
(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes1, <br/>                                   
   <a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes2)<br/>
-</pre><p>Implements the EXSLT - Sets difference() function: node-set set:difference (node-set, node-set)</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>nodes1</tt></i>:</span></td><td>a node-set</td></tr><tr><td><span 
class="term"><i><tt>nodes2</tt></i>:</span></td><td>a node-set</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the difference between the two node sets, or nodes1 if 
nodes2 is empty</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathDistinct"/>xmlXPathDistinct ()</h3><pre 
class="programlisting"><a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>       xmlXPathDistinct    
    (<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes)<br/>
-</pre><p>Implements the EXSLT - Sets distinct() function: node-set set:distinct (node-set) @nodes is sorted 
by document order, then #exslSetsDistinctSorted is called with the sorted node-set</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>nodes</tt></i>:</span></td><td>a node-set</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>a subset of the nodes contained in @nodes, or @nodes if 
it is empty</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathDistinctSorted"/>xmlXPathDistinctSorted 
()</h3><pre class="programlisting"><a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>   
xmlXPathDistinctSorted  (<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes)<br/>
-</pre><p>Implements the EXSLT - Sets distinct() function: node-set set:distinct (node-set)</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>nodes</tt></i>:</span></td><td>a node-set, sorted by document 
order</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a subset of the nodes 
contained in @nodes, or @nodes if it is empty</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathDivValues"/>xmlXPathDivValues ()</h3><pre 
class="programlisting">void     xmlXPathDivValues               (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)<br/>
-</pre><p>Implement the div operation on XPath objects @arg1 / @arg2: The numeric operators convert their 
operands to numbers as if by calling the number function.</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 XPath Parser 
context</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathEqualValues"/>xmlXPathEqualValues ()</h3><pre 
class="programlisting">int  xmlXPathEqualValues             (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)<br/>
-</pre><p>Implement the equal operation on XPath objects content: @arg1 == @arg2</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 XPath Parser context</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>0 or 1 depending on the results of the 
test.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathErr"/>xmlXPathErr ()</h3><pre 
class="programlisting">void xmlXPathErr                     (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>                   
               int error)<br/>
-</pre><p>Handle an XPath error</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 XPath parser context</td></tr><tr><td><span 
class="term"><i><tt>error</tt></i>:</span></td><td>the error code</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathEvalExpr"/>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>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath Parser 
context</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlXPathEvaluatePredicateResult"/>xmlXPathEvaluatePredicateResult ()</h3><pre 
class="programlisting">int  xmlXPathEvaluatePredicateResult (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>                   
               <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> res)<br/>
-</pre><p>Evaluate a predicate result for the current node. A PredicateExpr is evaluated by evaluating the 
Expr and converting the result to a boolean. If the result is a number, the result will be converted to true 
if the number is equal to the position of the context node in the context node list (as returned by the 
position function) and will be converted to false otherwise; if the result is not a number, then the result 
will be converted as if by a call to the boolean function.</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 XPath Parser context</td></tr><tr><td><span 
class="term"><i><tt>res</tt></i>:</span></td><td>the Predicate Expression evaluation 
result</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if predicate is true, 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathFalseFunction"/>xmlXPathFalseFunction 
()</h3><pre class="programlisting">void     xmlXPathFalseFunction           (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>                   
               int nargs)<br/>
-</pre><p>Implement the false() XPath function boolean false()</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 XPath Parser context</td></tr><tr><td><span 
class="term"><i><tt>nargs</tt></i>:</span></td><td>the number of 
arguments</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathFloorFunction"/>xmlXPathFloorFunction 
()</h3><pre class="programlisting">void     xmlXPathFloorFunction           (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>                   
               int nargs)<br/>
-</pre><p>Implement the floor() XPath function number floor(number) The floor function returns the largest 
(closest to positive infinity) number that is not greater than the argument and that is an integer.</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 XPath Parser context</td></tr><tr><td><span 
class="term"><i><tt>nargs</tt></i>:</span></td><td>the number of 
arguments</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathFreeParserContext"/>xmlXPathFreeParserContext 
()</h3><pre class="programlisting">void     xmlXPathFreeParserContext       (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)<br/>
-</pre><p>Free up an <a href="libxml2-xpath.html#xmlXPathParserContext">xmlXPathParserContext</a></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 context to free</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathFunctionLookup"/>xmlXPathFunctionLookup 
()</h3><pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathFunction">xmlXPathFunction</a>     
xmlXPathFunctionLookup  (<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br/>   
                                           const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * 
name)<br/>
-</pre><p>Search in the Function array of the context for the given function.</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 XPath context</td></tr><tr><td><span 
class="term"><i><tt>name</tt></i>:</span></td><td>the function name</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a 
href="libxml2-xpath.html#xmlXPathFunction">xmlXPathFunction</a> or NULL if not 
found</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathFunctionLookupNS"/>xmlXPathFunctionLookupNS 
()</h3><pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathFunction">xmlXPathFunction</a> 
xmlXPathFunctionLookupNS        (<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)<br/>
-</pre><p>Search in the Function array of the context for the given function.</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 XPath context</td></tr><tr><td><span 
class="term"><i><tt>name</tt></i>:</span></td><td>the function name</td></tr><tr><td><span 
class="term"><i><tt>ns_uri</tt></i>:</span></td><td>the function namespace URI</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a 
href="libxml2-xpath.html#xmlXPathFunction">xmlXPathFunction</a> or NULL if not 
found</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathHasSameNodes"/>xmlXPathHasSameNodes ()</h3><pre 
class="programlisting">int        xmlXPathHasSameNodes            (<a 
href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes1, <br/>                                      
<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes2)<br/>
-</pre><p>Implements the EXSLT - Sets has-same-nodes function: boolean set:has-same-node(node-set, 
node-set)</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>nodes1</tt></i>:</span></td><td>a node-set</td></tr><tr><td><span 
class="term"><i><tt>nodes2</tt></i>:</span></td><td>a node-set</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>true (1) if @nodes1 shares any node with @nodes2, false 
(0) otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathIdFunction"/>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>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath Parser context</td></tr><tr><td><span 
class="term"><i><tt>nargs</tt></i>:</span></td><td>the number of 
arguments</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathIntersection"/>xmlXPathIntersection ()</h3><pre 
class="programlisting"><a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>       
xmlXPathIntersection    (<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes1, <br/>           
                           <a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes2)<br/>
-</pre><p>Implements the EXSLT - Sets intersection() function: node-set set:intersection (node-set, 
node-set)</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>nodes1</tt></i>:</span></td><td>a node-set</td></tr><tr><td><span 
class="term"><i><tt>nodes2</tt></i>:</span></td><td>a node-set</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>a node set comprising the nodes that are within both the 
node sets passed as arguments</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathIsNodeType"/>xmlXPathIsNodeType ()</h3><pre 
class="programlisting">int    xmlXPathIsNodeType              (const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br/>
-</pre><p>Is the name given a NodeType one. [38] NodeType ::= 'comment' | 'text' | 'processing-instruction' | 
'node'</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 name string</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if true 0 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathLangFunction"/>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 attribute. If there is no such attribute, then lang</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 XPath Parser context</td></tr><tr><td><span 
class="term"><i><tt>nargs</tt></i>:</span></td><td>the number of 
arguments</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathLastFunction"/>xmlXPathLastFunction ()</h3><pre 
class="programlisting">void       xmlXPathLastFunction            (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>                   
               int nargs)<br/>
-</pre><p>Implement the last() XPath function number last() The last function returns the number of nodes in 
the context node 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 XPath Parser context</td></tr><tr><td><span 
class="term"><i><tt>nargs</tt></i>:</span></td><td>the number of 
arguments</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathLeading"/>xmlXPathLeading ()</h3><pre 
class="programlisting"><a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> xmlXPathLeading         
(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes1, <br/>                                   
   <a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes2)<br/>
-</pre><p>Implements the EXSLT - Sets leading() function: node-set set:leading (node-set, node-set) @nodes1 
and @nodes2 are sorted by document order, then #exslSetsLeadingSorted is called.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>nodes1</tt></i>:</span></td><td>a node-set</td></tr><tr><td><span 
class="term"><i><tt>nodes2</tt></i>:</span></td><td>a node-set</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the nodes in @nodes1 that precede the first node in 
@nodes2 in document order, @nodes1 if @nodes2 is NULL or empty or an empty node-set if @nodes1 doesn't 
contain @nodes2</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathLeadingSorted"/>xmlXPathLeadingSorted 
()</h3><pre class="programlisting"><a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>     
xmlXPathLeadingSorted   (<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes1, <br/>           
                           <a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes2)<br/>
-</pre><p>Implements the EXSLT - Sets leading() function: node-set set:leading (node-set, node-set)</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>nodes1</tt></i>:</span></td><td>a node-set, sorted by document 
order</td></tr><tr><td><span class="term"><i><tt>nodes2</tt></i>:</span></td><td>a node-set, sorted by 
document order</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the nodes in 
@nodes1 that precede the first node in @nodes2 in document order, @nodes1 if @nodes2 is NULL or empty or an 
empty node-set if @nodes1 doesn't contain @nodes2</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathLocalNameFunction"/>xmlXPathLocalNameFunction 
()</h3><pre class="programlisting">void     xmlXPathLocalNameFunction       (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>                   
               int nargs)<br/>
-</pre><p>Implement the local-name() XPath function string local-name(node-set?) The local-name function 
returns a string containing the local part of the name of the node in the argument node-set that is first in 
document order. If the node-set is empty or the first node has no name, an empty string is returned. If the 
argument is omitted it defaults to the context 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 XPath Parser context</td></tr><tr><td><span 
class="term"><i><tt>nargs</tt></i>:</span></td><td>the number of 
arguments</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathModValues"/>xmlXPathModValues ()</h3><pre 
class="programlisting">void     xmlXPathModValues               (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)<br/>
-</pre><p>Implement the mod operation on XPath objects: @arg1 / @arg2 The numeric operators convert their 
operands to numbers as if by calling the number function.</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 XPath Parser 
context</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathMultValues"/>xmlXPathMultValues ()</h3><pre 
class="programlisting">void   xmlXPathMultValues              (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)<br/>
-</pre><p>Implement the multiply operation on XPath objects: The numeric operators convert their operands to 
numbers as if by calling the number function.</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 XPath Parser 
context</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlXPathNamespaceURIFunction"/>xmlXPathNamespaceURIFunction ()</h3><pre class="programlisting">void     
  xmlXPathNamespaceURIFunction    (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>                   
               int nargs)<br/>
-</pre><p>Implement the namespace-uri() XPath function string namespace-uri(node-set?) The namespace-uri 
function returns a string containing the namespace URI of the expanded name of the node in the argument 
node-set that is first in document order. If the node-set is empty, the first node has no name, or the 
expanded name has no namespace URI, an empty string is returned. If the argument is omitted it defaults to 
the context 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 XPath Parser context</td></tr><tr><td><span 
class="term"><i><tt>nargs</tt></i>:</span></td><td>the number of 
arguments</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathNewBoolean"/>xmlXPathNewBoolean ()</h3><pre 
class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>   
xmlXPathNewBoolean      (int val)<br/>
-</pre><p>Create a new <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> of type boolean 
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>the boolean 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 class="refsect2" lang="en"><h3><a name="xmlXPathNewCString"/>xmlXPathNewCString ()</h3><pre 
class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>   
xmlXPathNewCString      (const char * val)<br/>
-</pre><p>Create a new <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> of type string 
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>the char * 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 class="refsect2" lang="en"><h3><a name="xmlXPathNewFloat"/>xmlXPathNewFloat ()</h3><pre 
class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>       
xmlXPathNewFloat        (double val)<br/>
-</pre><p>Create a new <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</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>the double 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 class="refsect2" lang="en"><h3><a name="xmlXPathNewNodeSet"/>xmlXPathNewNodeSet ()</h3><pre 
class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>   
xmlXPathNewNodeSet      (<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> val)<br/>
-</pre><p>Create a new <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> of type NodeSet 
and initialize it with the single Node @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>the NodePtr 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 class="refsect2" lang="en"><h3><a name="xmlXPathNewNodeSetList"/>xmlXPathNewNodeSetList 
()</h3><pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>   
xmlXPathNewNodeSetList  (<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> val)<br/>
-</pre><p>Create a new <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> of type NodeSet 
and initialize it with the Nodeset @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 existing NodeSet</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="xmlXPathNewParserContext"/>xmlXPathNewParserContext 
()</h3><pre class="programlisting"><a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> xmlXPathNewParserContext      
  (const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br/>                                    
                     <a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt)<br/>
-</pre><p>Create a new <a href="libxml2-xpath.html#xmlXPathParserContext">xmlXPathParserContext</a></p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>str</tt></i>:</span></td><td>the XPath expression</td></tr><tr><td><span 
class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath context</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a 
href="libxml2-xpath.html#xmlXPathParserContext">xmlXPathParserContext</a> just 
allocated.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathNewString"/>xmlXPathNewString ()</h3><pre 
class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>     
xmlXPathNewString       (const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * val)<br/>
-</pre><p>Create a new <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> of type string 
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>the <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * 
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 class="refsect2" lang="en"><h3><a name="xmlXPathNewValueTree"/>xmlXPathNewValueTree ()</h3><pre 
class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>       
xmlXPathNewValueTree    (<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> val)<br/>
-</pre><p>Create a new <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> of type Value 
Tree (XSLT) and initialize it with the tree root @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>the NodePtr 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 class="refsect2" lang="en"><h3><a name="xmlXPathNextAncestor"/>xmlXPathNextAncestor ()</h3><pre 
class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>      xmlXPathNextAncestor    (<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 "ancestor" direction the ancestor axis contains the ancestors of the 
context node; the ancestors of the context node consist of the parent of context node and the parent's parent 
and so on; the nodes are ordered in reverse document order; thus the parent is the first node on the axis, 
and the parent's parent is the second node on the axis</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 XPath Parser context</td></tr><tr><td><span 
class="term"><i><tt>cur</tt></i>:</span></td><td>the current node in the traversal</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the next element following that 
axis</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathNextAncestorOrSelf"/>xmlXPathNextAncestorOrSelf 
()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>  
xmlXPathNextAncestorOrSelf      (<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 "ancestor-or-self" direction he ancestor-or-self axis contains the 
context node and ancestors of the context node in reverse document order; thus the context node is the first 
node on the axis, and the context node's parent the second; parent here is defined the same as with the 
parent axis.</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 XPath Parser context</td></tr><tr><td><span 
class="term"><i><tt>cur</tt></i>:</span></td><td>the current node in the traversal</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the next element following that 
axis</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathNextAttribute"/>xmlXPathNextAttribute 
()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>    
xmlXPathNextAttribute   (<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 "attribute" direction TODO: support DTD inherited default attributes</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 XPath Parser context</td></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></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the next element following that 
axis</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathNextChild"/>xmlXPathNextChild ()</h3><pre 
class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>    xmlXPathNextChild       (<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 "child" direction The child axis contains the children of the context 
node in document order.</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 XPath Parser context</td></tr><tr><td><span 
class="term"><i><tt>cur</tt></i>:</span></td><td>the current node in the traversal</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the next element following that 
axis</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathNextDescendant"/>xmlXPathNextDescendant 
()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>  
xmlXPathNextDescendant  (<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 "descendant" direction the descendant axis contains the descendants of 
the context node in document order; a descendant is a child or a child of a child and so on.</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 XPath Parser context</td></tr><tr><td><span 
class="term"><i><tt>cur</tt></i>:</span></td><td>the current node in the traversal</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the next element following that 
axis</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlXPathNextDescendantOrSelf"/>xmlXPathNextDescendantOrSelf ()</h3><pre class="programlisting"><a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>      xmlXPathNextDescendantOrSelf    (<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 "descendant-or-self" direction the descendant-or-self axis contains the 
context node and the descendants of the context node in document order; thus the context node is the first 
node on the axis, and the first child of the context node is the second node on the axis</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 XPath Parser context</td></tr><tr><td><span 
class="term"><i><tt>cur</tt></i>:</span></td><td>the current node in the traversal</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the next element following that 
axis</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathNextFollowing"/>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>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath Parser context</td></tr><tr><td><span 
class="term"><i><tt>cur</tt></i>:</span></td><td>the current node in the traversal</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the next element following that 
axis</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlXPathNextFollowingSibling"/>xmlXPathNextFollowingSibling ()</h3><pre class="programlisting"><a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>      xmlXPathNextFollowingSibling    (<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-sibling" direction The following-sibling axis contains the 
following siblings of the context node in document order.</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 XPath Parser context</td></tr><tr><td><span 
class="term"><i><tt>cur</tt></i>:</span></td><td>the current node in the traversal</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the next element following that 
axis</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathNextNamespace"/>xmlXPathNextNamespace 
()</h3><pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>    
xmlXPathNextNamespace   (<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 "namespace" direction the namespace axis contains the namespace nodes of 
the context node; the order of nodes on this axis is implementation-defined; the axis will be empty unless 
the context node is an element We keep the XML namespace node at the end of the 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 XPath Parser context</td></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></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the next element following that 
axis</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathNextParent"/>xmlXPathNextParent ()</h3><pre 
class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>  xmlXPathNextParent      (<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 "parent" direction The parent axis contains the parent of the context 
node, if there is one.</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 XPath Parser context</td></tr><tr><td><span 
class="term"><i><tt>cur</tt></i>:</span></td><td>the current node in the traversal</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the next element following that 
axis</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathNextPreceding"/>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>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath Parser context</td></tr><tr><td><span 
class="term"><i><tt>cur</tt></i>:</span></td><td>the current node in the traversal</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the next element following that 
axis</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlXPathNextPrecedingSibling"/>xmlXPathNextPrecedingSibling ()</h3><pre class="programlisting"><a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>      xmlXPathNextPrecedingSibling    (<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-sibling" direction The preceding-sibling axis contains the 
preceding siblings of the context node in reverse document order; the first preceding sibling is first on the 
axis; the sibling preceding that node is the second on the axis and so on.</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 XPath Parser context</td></tr><tr><td><span 
class="term"><i><tt>cur</tt></i>:</span></td><td>the current node in the traversal</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the next element following that 
axis</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathNextSelf"/>xmlXPathNextSelf ()</h3><pre 
class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>      xmlXPathNextSelf        (<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 "self" direction The self axis contains just the context node itself</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 XPath Parser context</td></tr><tr><td><span 
class="term"><i><tt>cur</tt></i>:</span></td><td>the current node in the traversal</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the next element following that 
axis</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathNodeLeading"/>xmlXPathNodeLeading ()</h3><pre 
class="programlisting"><a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> xmlXPathNodeLeading     
(<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes, <br/>                                    
   <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br/>
-</pre><p>Implements the EXSLT - Sets leading() function: node-set set:leading (node-set, node-set) @nodes is 
sorted by document order, then #exslSetsNodeLeadingSorted is called.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>nodes</tt></i>:</span></td><td>a node-set</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>Returns</tt></i>:</span></td><td>the nodes in @nodes that precede @node in document 
order, @nodes if @node is NULL or an empty node-set if @nodes doesn't contain 
@node</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathNodeLeadingSorted"/>xmlXPathNodeLeadingSorted 
()</h3><pre class="programlisting"><a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>     
xmlXPathNodeLeadingSorted       (<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes, <br/>    
                                           <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br/>
-</pre><p>Implements the EXSLT - Sets leading() function: node-set set:leading (node-set, node-set)</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>nodes</tt></i>:</span></td><td>a node-set, sorted by document 
order</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>Returns</tt></i>:</span></td><td>the nodes in @nodes that precede @node in document 
order, @nodes if @node is NULL or an empty node-set if @nodes doesn't contain 
@node</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathNodeSetAdd"/>xmlXPathNodeSetAdd ()</h3><pre 
class="programlisting">int    xmlXPathNodeSetAdd              (<a 
href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> cur, <br/>                                         
<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> val)<br/>
-</pre><p>add a new <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> to an existing NodeSet</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 node set</td></tr><tr><td><span 
class="term"><i><tt>val</tt></i>:</span></td><td>a new <a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a></td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success, and -1 in case of 
error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathNodeSetAddNs"/>xmlXPathNodeSetAddNs ()</h3><pre 
class="programlisting">int        xmlXPathNodeSetAddNs            (<a 
href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> cur, <br/>                                         
<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br/>                                       <a 
href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> ns)<br/>
-</pre><p>add a new namespace node to an existing NodeSet</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 node set</td></tr><tr><td><span 
class="term"><i><tt>node</tt></i>:</span></td><td>the hosting node</td></tr><tr><td><span 
class="term"><i><tt>ns</tt></i>:</span></td><td>a the namespace node</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success and -1 in case of 
error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathNodeSetAddUnique"/>xmlXPathNodeSetAddUnique 
()</h3><pre class="programlisting">int        xmlXPathNodeSetAddUnique        (<a 
href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> cur, <br/>                                         
<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> val)<br/>
-</pre><p>add a new <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> to an existing NodeSet, optimized 
version when we are sure the node is not already in the set.</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 node set</td></tr><tr><td><span 
class="term"><i><tt>val</tt></i>:</span></td><td>a new <a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a></td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success and -1 in case of 
failure</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathNodeSetContains"/>xmlXPathNodeSetContains 
()</h3><pre class="programlisting">int  xmlXPathNodeSetContains         (<a 
href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> cur, <br/>                                         
<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> val)<br/>
-</pre><p>checks whether @cur contains @val</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 node-set</td></tr><tr><td><span 
class="term"><i><tt>val</tt></i>:</span></td><td>the node</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>true (1) if @cur contains @val, false (0) 
otherwise</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathNodeSetDel"/>xmlXPathNodeSetDel ()</h3><pre 
class="programlisting">void   xmlXPathNodeSetDel              (<a 
href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> cur, <br/>                                         
<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> val)<br/>
-</pre><p>Removes an <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> from an existing NodeSet</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 node set</td></tr><tr><td><span 
class="term"><i><tt>val</tt></i>:</span></td><td>an <a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a></td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathNodeSetFreeNs"/>xmlXPathNodeSetFreeNs 
()</h3><pre class="programlisting">void     xmlXPathNodeSetFreeNs           (<a 
href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> ns)<br/>
-</pre><p>Namespace nodes in libxml don't match the XPath semantic. In a node set the namespace nodes are 
duplicated and the next pointer is set to the parent node in the XPath semantic. Check if such a node needs 
to be freed</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ns</tt></i>:</span></td><td>the XPath namespace node found in a 
nodeset.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathNodeSetMerge"/>xmlXPathNodeSetMerge ()</h3><pre 
class="programlisting"><a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>       
xmlXPathNodeSetMerge    (<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> val1, <br/>             
                           <a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> val2)<br/>
-</pre><p>Merges two nodesets, all nodes from @val2 are added to @val1 if @val1 is NULL, a new set is created 
and copied from @val2</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 NodeSet or NULL</td></tr><tr><td><span 
class="term"><i><tt>val2</tt></i>:</span></td><td>the second NodeSet</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="xmlXPathNodeSetRemove"/>xmlXPathNodeSetRemove 
()</h3><pre class="programlisting">void     xmlXPathNodeSetRemove           (<a 
href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> cur, <br/>                                         
int val)<br/>
-</pre><p>Removes an entry from an existing NodeSet 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 node 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="xmlXPathNodeSetSort"/>xmlXPathNodeSetSort ()</h3><pre 
class="programlisting">void xmlXPathNodeSetSort             (<a 
href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> set)<br/>
-</pre><p>Sort the node set in document order</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>set</tt></i>:</span></td><td>the node set</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathNodeTrailing"/>xmlXPathNodeTrailing ()</h3><pre 
class="programlisting"><a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>       
xmlXPathNodeTrailing    (<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes, <br/>            
                           <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br/>
-</pre><p>Implements the EXSLT - Sets trailing() function: node-set set:trailing (node-set, node-set) @nodes 
is sorted by document order, then #xmlXPathNodeTrailingSorted is called.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>nodes</tt></i>:</span></td><td>a node-set</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>Returns</tt></i>:</span></td><td>the nodes in @nodes that follow @node in document order, 
@nodes if @node is NULL or an empty node-set if @nodes doesn't contain 
@node</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathNodeTrailingSorted"/>xmlXPathNodeTrailingSorted 
()</h3><pre class="programlisting"><a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>   
xmlXPathNodeTrailingSorted      (<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes, <br/>    
                                           <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br/>
-</pre><p>Implements the EXSLT - Sets trailing() function: node-set set:trailing (node-set, node-set)</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>nodes</tt></i>:</span></td><td>a node-set, sorted by document 
order</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>Returns</tt></i>:</span></td><td>the nodes in @nodes that follow @node in document order, 
@nodes if @node is NULL or an empty node-set if @nodes doesn't contain 
@node</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathNormalizeFunction"/>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>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath Parser context</td></tr><tr><td><span 
class="term"><i><tt>nargs</tt></i>:</span></td><td>the number of 
arguments</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathNotEqualValues"/>xmlXPathNotEqualValues 
()</h3><pre class="programlisting">int    xmlXPathNotEqualValues          (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)<br/>
-</pre><p>Implement the equal operation on XPath objects content: @arg1 == @arg2</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 XPath Parser context</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>0 or 1 depending on the results of the 
test.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathNotFunction"/>xmlXPathNotFunction ()</h3><pre 
class="programlisting">void xmlXPathNotFunction             (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>                   
               int nargs)<br/>
-</pre><p>Implement the not() XPath function boolean not(boolean) The not function returns true if its 
argument is false, and false otherwise.</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 XPath Parser context</td></tr><tr><td><span 
class="term"><i><tt>nargs</tt></i>:</span></td><td>the number of 
arguments</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathNsLookup"/>xmlXPathNsLookup ()</h3><pre 
class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *       xmlXPathNsLookup    
    (<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br/>                       
               const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix)<br/>
-</pre><p>Search in the namespace declaration array of the context for the given namespace name associated to 
the given prefix</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 XPath context</td></tr><tr><td><span 
class="term"><i><tt>prefix</tt></i>:</span></td><td>the namespace prefix value</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the value or NULL if not 
found</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathNumberFunction"/>xmlXPathNumberFunction 
()</h3><pre class="programlisting">void   xmlXPathNumberFunction          (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>                   
               int nargs)<br/>
-</pre><p>Implement the number() XPath function number number(object?)</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 XPath Parser context</td></tr><tr><td><span 
class="term"><i><tt>nargs</tt></i>:</span></td><td>the number of 
arguments</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathParseNCName"/>xmlXPathParseNCName ()</h3><pre 
class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *       xmlXPathParseNCName     
(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)<br/>
-</pre><p>parse an XML namespace non qualified name. [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>the XPath 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="xmlXPathParseName"/>xmlXPathParseName ()</h3><pre 
class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *   xmlXPathParseName       (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)<br/>
-</pre><p>parse an XML name [4] NameChar ::= Letter | Digit | '.' | '-' | '_' | ':' | CombiningChar | 
Extender [5] Name ::= (Letter | '_' | ':') (NameChar)*</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 XPath 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="xmlXPathPopBoolean"/>xmlXPathPopBoolean ()</h3><pre 
class="programlisting">int    xmlXPathPopBoolean              (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)<br/>
-</pre><p>Pops a boolean from the stack, handling conversion if needed. Check error with 
#xmlXPathCheckError.</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 parser context</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the boolean</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathPopExternal"/>xmlXPathPopExternal ()</h3><pre 
class="programlisting">void *       xmlXPathPopExternal             (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)<br/>
-</pre><p>Pops an external object from the stack, handling conversion if needed. Check error with 
#xmlXPathCheckError.</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 parser context</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the object</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathPopNodeSet"/>xmlXPathPopNodeSet ()</h3><pre 
class="programlisting"><a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>   xmlXPathPopNodeSet      
(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)<br/>
-</pre><p>Pops a node-set from the stack, handling conversion if needed. Check error with 
#xmlXPathCheckError.</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 parser context</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the node-set</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathPopNumber"/>xmlXPathPopNumber ()</h3><pre 
class="programlisting">double   xmlXPathPopNumber               (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)<br/>
-</pre><p>Pops a number from the stack, handling conversion if needed. Check error with 
#xmlXPathCheckError.</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 parser context</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the number</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathPopString"/>xmlXPathPopString ()</h3><pre 
class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *   xmlXPathPopString       (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)<br/>
-</pre><p>Pops a string from the stack, handling conversion if needed. Check error with 
#xmlXPathCheckError.</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 parser context</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the string</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathPositionFunction"/>xmlXPathPositionFunction 
()</h3><pre class="programlisting">void       xmlXPathPositionFunction        (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>                   
               int nargs)<br/>
-</pre><p>Implement the position() XPath function number position() The position function returns the 
position of the context node in the context node list. The first position is 1, and so the last position will 
be equal to last().</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 XPath Parser context</td></tr><tr><td><span 
class="term"><i><tt>nargs</tt></i>:</span></td><td>the number of 
arguments</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlXPathRegisterAllFunctions"/>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>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath context</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathRegisterFunc"/>xmlXPathRegisterFunc ()</h3><pre 
class="programlisting">int        xmlXPathRegisterFunc            (<a 
href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br/>                               
       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>                               
         <a href="libxml2-xpath.html#xmlXPathFunction">xmlXPathFunction</a> f)<br/>
-</pre><p>Register a new function. If @f is NULL it unregisters the function</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 XPath context</td></tr><tr><td><span 
class="term"><i><tt>name</tt></i>:</span></td><td>the function name</td></tr><tr><td><span 
class="term"><i><tt>f</tt></i>:</span></td><td>the function implementation or NULL</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success, -1 in case of 
error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathRegisterFuncLookup"/>xmlXPathRegisterFuncLookup 
()</h3><pre class="programlisting">void   xmlXPathRegisterFuncLookup      (<a 
href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br/>                               
       <a href="libxml2-xpath.html#xmlXPathFuncLookupFunc">xmlXPathFuncLookupFunc</a> f, <br/>                
                         void * funcCtxt)<br/>
-</pre><p>Registers an external mechanism to do function lookup.</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 XPath context</td></tr><tr><td><span 
class="term"><i><tt>f</tt></i>:</span></td><td>the lookup function</td></tr><tr><td><span 
class="term"><i><tt>funcCtxt</tt></i>:</span></td><td>the lookup data</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathRegisterFuncNS"/>xmlXPathRegisterFuncNS 
()</h3><pre class="programlisting">int    xmlXPathRegisterFuncNS          (<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, <br/>                           
           <a href="libxml2-xpath.html#xmlXPathFunction">xmlXPathFunction</a> f)<br/>
-</pre><p>Register a new function. If @f is NULL it unregisters the function</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 XPath context</td></tr><tr><td><span 
class="term"><i><tt>name</tt></i>:</span></td><td>the function name</td></tr><tr><td><span 
class="term"><i><tt>ns_uri</tt></i>:</span></td><td>the function namespace URI</td></tr><tr><td><span 
class="term"><i><tt>f</tt></i>:</span></td><td>the function implementation or NULL</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success, -1 in case of 
error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathRegisterNs"/>xmlXPathRegisterNs ()</h3><pre 
class="programlisting">int    xmlXPathRegisterNs              (<a 
href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br/>                               
       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br/>                             
         const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ns_uri)<br/>
-</pre><p>Register a new namespace. If @ns_uri is NULL it unregisters the namespace</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 XPath context</td></tr><tr><td><span 
class="term"><i><tt>prefix</tt></i>:</span></td><td>the namespace prefix cannot be NULL or empty 
string</td></tr><tr><td><span class="term"><i><tt>ns_uri</tt></i>:</span></td><td>the namespace 
name</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success, -1 in 
case of error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathRegisterVariable"/>xmlXPathRegisterVariable 
()</h3><pre class="programlisting">int        xmlXPathRegisterVariable        (<a 
href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br/>                               
       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>                               
         <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> value)<br/>
-</pre><p>Register a new variable value. If @value is NULL it unregisters the variable</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 XPath context</td></tr><tr><td><span 
class="term"><i><tt>name</tt></i>:</span></td><td>the variable name</td></tr><tr><td><span 
class="term"><i><tt>value</tt></i>:</span></td><td>the variable value or NULL</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success, -1 in case of 
error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlXPathRegisterVariableLookup"/>xmlXPathRegisterVariableLookup ()</h3><pre class="programlisting">void 
  xmlXPathRegisterVariableLookup  (<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> 
ctxt, <br/>                                      <a 
href="libxml2-xpath.html#xmlXPathVariableLookupFunc">xmlXPathVariableLookupFunc</a> f, <br/>                  
                       void * data)<br/>
-</pre><p>register an external mechanism to do variable lookup</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 XPath context</td></tr><tr><td><span 
class="term"><i><tt>f</tt></i>:</span></td><td>the lookup function</td></tr><tr><td><span 
class="term"><i><tt>data</tt></i>:</span></td><td>the lookup data</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathRegisterVariableNS"/>xmlXPathRegisterVariableNS 
()</h3><pre class="programlisting">int    xmlXPathRegisterVariableNS      (<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, <br/>                           
           <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> value)<br/>
-</pre><p>Register a new variable value. If @value is NULL it unregisters the variable</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 XPath context</td></tr><tr><td><span 
class="term"><i><tt>name</tt></i>:</span></td><td>the variable name</td></tr><tr><td><span 
class="term"><i><tt>ns_uri</tt></i>:</span></td><td>the variable namespace URI</td></tr><tr><td><span 
class="term"><i><tt>value</tt></i>:</span></td><td>the variable value or NULL</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success, -1 in case of 
error</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlXPathRegisteredFuncsCleanup"/>xmlXPathRegisteredFuncsCleanup ()</h3><pre class="programlisting">void 
  xmlXPathRegisteredFuncsCleanup  (<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> 
ctxt)<br/>
-</pre><p>Cleanup the XPath context data associated to registered 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>the XPath context</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlXPathRegisteredNsCleanup"/>xmlXPathRegisteredNsCleanup ()</h3><pre class="programlisting">void 
xmlXPathRegisteredNsCleanup     (<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> 
ctxt)<br/>
-</pre><p>Cleanup the XPath context data associated to registered variables</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 XPath context</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlXPathRegisteredVariablesCleanup"/>xmlXPathRegisteredVariablesCleanup ()</h3><pre 
class="programlisting">void   xmlXPathRegisteredVariablesCleanup      (<a 
href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt)<br/>
-</pre><p>Cleanup the XPath context data associated to registered variables</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 XPath context</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathRoot"/>xmlXPathRoot ()</h3><pre 
class="programlisting">void       xmlXPathRoot                    (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)<br/>
-</pre><p>Initialize the context to the root of the document</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 XPath Parser 
context</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathRoundFunction"/>xmlXPathRoundFunction 
()</h3><pre class="programlisting">void     xmlXPathRoundFunction           (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>                   
               int nargs)<br/>
-</pre><p>Implement the round() XPath function number round(number) The round function returns the number 
that is closest to the argument and that is an integer. If there are two such numbers, then the one that is 
closest to positive infinity is 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>the XPath Parser context</td></tr><tr><td><span 
class="term"><i><tt>nargs</tt></i>:</span></td><td>the number of 
arguments</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathStartsWithFunction"/>xmlXPathStartsWithFunction 
()</h3><pre class="programlisting">void   xmlXPathStartsWithFunction      (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>                   
               int nargs)<br/>
-</pre><p>Implement the starts-with() XPath function boolean starts-with(string, string) The starts-with 
function returns true if the first argument string starts with the second argument string, and otherwise 
returns false.</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 XPath Parser context</td></tr><tr><td><span 
class="term"><i><tt>nargs</tt></i>:</span></td><td>the number of 
arguments</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathStringEvalNumber"/>xmlXPathStringEvalNumber 
()</h3><pre class="programlisting">double     xmlXPathStringEvalNumber        (const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str)<br/>
-</pre><p>[30a] Float ::= Number ('e' Digits?)? [30] Number ::= Digits ('.' Digits?)? | '.' Digits [31] 
Digits ::= [0-9]+ Compile a Number in the string In complement of the Number expression, this function also 
handles negative values : '-' Number.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>str</tt></i>:</span></td><td>A string to scan</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the double value.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathStringFunction"/>xmlXPathStringFunction 
()</h3><pre class="programlisting">void   xmlXPathStringFunction          (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>                   
               int nargs)<br/>
-</pre><p>Implement the string() XPath function string string(object?) The string function converts an object 
to a string as follows: - A node-set is converted to a string by returning the value of the node in the 
node-set that is first in document order. If the node-set is empty, an empty string is returned. - A number 
is converted to a string as follows + NaN is converted to the string NaN + positive zero is converted to the 
string 0 + negative zero is converted to the string 0 + positive infinity is converted to the string Infinity 
+ negative infinity is converted to the string -Infinity + if the number is an integer, the number is 
represented in decimal form as a Number with no decimal point and no leading zeros, preceded by a minus sign 
(-) if the number is negative + otherwise, the number is represented in decimal form as a Number including a 
decimal point with at least one digit before the decimal point and at least one digit after the decimal 
point, preceded by a minus sign (
 -) if the number is negative; there must be no leading zeros before the decimal point apart possibly from 
the one required digit immediately before the decimal point; beyond the one required digit after the decimal 
point there must be as many, but only as many, more digits as are needed to uniquely distinguish the number 
from all other IEEE 754 numeric values. - The boolean false value is converted to the string false. The 
boolean true value is converted to the string true. If the argument is omitted, it defaults to a node-set 
with the context node as its only member.</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 XPath Parser context</td></tr><tr><td><span 
class="term"><i><tt>nargs</tt></i>:</span></td><td>the number of 
arguments</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlXPathStringLengthFunction"/>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>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath Parser context</td></tr><tr><td><span 
class="term"><i><tt>nargs</tt></i>:</span></td><td>the number of 
arguments</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathSubValues"/>xmlXPathSubValues ()</h3><pre 
class="programlisting">void     xmlXPathSubValues               (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)<br/>
-</pre><p>Implement the subtraction operation on XPath objects: The numeric operators convert their operands 
to numbers as if by calling the number function.</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 XPath Parser 
context</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlXPathSubstringAfterFunction"/>xmlXPathSubstringAfterFunction ()</h3><pre class="programlisting">void 
  xmlXPathSubstringAfterFunction  (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>                   
               int nargs)<br/>
-</pre><p>Implement the substring-after() XPath function string substring-after(string, string) The 
substring-after function returns the substring of the first argument string that follows the first occurrence 
of the second argument string in the first argument string, or the empty stringi if the first argument string 
does not contain the second argument string. For example, substring-after("1999/04/01","/") returns 04/01, 
and substring-after("1999/04/01","19") returns 99/04/01.</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 XPath Parser context</td></tr><tr><td><span 
class="term"><i><tt>nargs</tt></i>:</span></td><td>the number of 
arguments</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlXPathSubstringBeforeFunction"/>xmlXPathSubstringBeforeFunction ()</h3><pre 
class="programlisting">void xmlXPathSubstringBeforeFunction (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>                   
               int nargs)<br/>
-</pre><p>Implement the substring-before() XPath function string substring-before(string, string) The 
substring-before function returns the substring of the first argument string that precedes the first 
occurrence of the second argument string in the first argument string, or the empty string if the first 
argument string does not contain the second argument string. For example, substring-before("1999/04/01","/") 
returns 1999.</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 XPath Parser context</td></tr><tr><td><span 
class="term"><i><tt>nargs</tt></i>:</span></td><td>the number of 
arguments</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathSubstringFunction"/>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 argume
 nts; 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><tr><td><span 
class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath Parser context</td></tr><tr><td><span 
class="term"><i><tt>nargs</tt></i>:</span></td><td>the number of 
arguments</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathSumFunction"/>xmlXPathSumFunction ()</h3><pre 
class="programlisting">void xmlXPathSumFunction             (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>                   
               int nargs)<br/>
-</pre><p>Implement the sum() XPath function number sum(node-set) The sum function returns the sum of the 
values of the nodes in the argument 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 XPath Parser context</td></tr><tr><td><span 
class="term"><i><tt>nargs</tt></i>:</span></td><td>the number of 
arguments</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathTrailing"/>xmlXPathTrailing ()</h3><pre 
class="programlisting"><a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>       xmlXPathTrailing    
    (<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes1, <br/>                               
       <a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes2)<br/>
-</pre><p>Implements the EXSLT - Sets trailing() function: node-set set:trailing (node-set, node-set) @nodes1 
and @nodes2 are sorted by document order, then #xmlXPathTrailingSorted is called.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>nodes1</tt></i>:</span></td><td>a node-set</td></tr><tr><td><span 
class="term"><i><tt>nodes2</tt></i>:</span></td><td>a node-set</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the nodes in @nodes1 that follow the first node in 
@nodes2 in document order, @nodes1 if @nodes2 is NULL or empty or an empty node-set if @nodes1 doesn't 
contain @nodes2</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathTrailingSorted"/>xmlXPathTrailingSorted 
()</h3><pre class="programlisting"><a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>   
xmlXPathTrailingSorted  (<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes1, <br/>           
                           <a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes2)<br/>
-</pre><p>Implements the EXSLT - Sets trailing() function: node-set set:trailing (node-set, node-set)</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>nodes1</tt></i>:</span></td><td>a node-set, sorted by document 
order</td></tr><tr><td><span class="term"><i><tt>nodes2</tt></i>:</span></td><td>a node-set, sorted by 
document order</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the nodes in 
@nodes1 that follow the first node in @nodes2 in document order, @nodes1 if @nodes2 is NULL or empty or an 
empty node-set if @nodes1 doesn't contain @nodes2</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathTranslateFunction"/>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>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath Parser context</td></tr><tr><td><span 
class="term"><i><tt>nargs</tt></i>:</span></td><td>the number of 
arguments</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathTrueFunction"/>xmlXPathTrueFunction ()</h3><pre 
class="programlisting">void       xmlXPathTrueFunction            (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>                   
               int nargs)<br/>
-</pre><p>Implement the true() XPath function boolean true()</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 XPath Parser context</td></tr><tr><td><span 
class="term"><i><tt>nargs</tt></i>:</span></td><td>the number of 
arguments</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathValueFlipSign"/>xmlXPathValueFlipSign 
()</h3><pre class="programlisting">void     xmlXPathValueFlipSign           (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)<br/>
-</pre><p>Implement the unary - operation on an XPath object The numeric operators convert their operands to 
numbers as if by calling the number function.</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 XPath Parser 
context</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathVariableLookup"/>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><p>Search in the Variable array of the context for the given variable value.</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 XPath context</td></tr><tr><td><span 
class="term"><i><tt>name</tt></i>:</span></td><td>the variable name</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>a copy of the value or NULL if not 
found</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathVariableLookupNS"/>xmlXPathVariableLookupNS 
()</h3><pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>       
xmlXPathVariableLookupNS        (<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)<br/>
-</pre><p>Search in the Variable array of the context for the given variable value.</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 XPath context</td></tr><tr><td><span 
class="term"><i><tt>name</tt></i>:</span></td><td>the variable name</td></tr><tr><td><span 
class="term"><i><tt>ns_uri</tt></i>:</span></td><td>the variable namespace URI</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the a copy of the value or NULL if not 
found</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPathWrapCString"/>xmlXPathWrapCString ()</h3><pre 
class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> 
xmlXPathWrapCString     (char * val)<br/>
-</pre><p>Wraps a string into an XPath object.</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 char * 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 class="refsect2" lang="en"><h3><a name="xmlXPathWrapExternal"/>xmlXPathWrapExternal ()</h3><pre 
class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>       
xmlXPathWrapExternal    (void * val)<br/>
-</pre><p>Wraps the @val data into an XPath object.</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 user data</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="xmlXPathWrapNodeSet"/>xmlXPathWrapNodeSet ()</h3><pre 
class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> 
xmlXPathWrapNodeSet     (<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> val)<br/>
-</pre><p>Wrap the Nodeset @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 NodePtr 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 class="refsect2" lang="en"><h3><a name="xmlXPathWrapString"/>xmlXPathWrapString ()</h3><pre 
class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>   
xmlXPathWrapString      (<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * val)<br/>
-</pre><p>Wraps the @val string into an XPath object.</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 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * 
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 class="refsect2" lang="en"><h3><a name="xmlXPatherror"/>xmlXPatherror ()</h3><pre 
class="programlisting">void     xmlXPatherror                   (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>                   
               const char * file, <br/>                                        int line, <br/>                
                         int no)<br/>
-</pre><p>Formats an error message.</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 XPath Parser context</td></tr><tr><td><span 
class="term"><i><tt>file</tt></i>:</span></td><td>the file name</td></tr><tr><td><span 
class="term"><i><tt>line</tt></i>:</span></td><td>the line number</td></tr><tr><td><span 
class="term"><i><tt>no</tt></i>:</span></td><td>the error number</td></tr></tbody></table></div></div>
-        <hr/>
-      </div>
-    </div>
-  </body>
+void   <a href="#xmlXPatherror">xmlXPatherror</a>                      (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>                    
               const char * file, <br>                                         int line, <br>                 
                 int no);
+</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="CAST_TO_BOOLEAN">Macro </a>CAST_TO_BOOLEAN</h3>
+<pre class="programlisting">#define <a href="#CAST_TO_BOOLEAN">CAST_TO_BOOLEAN</a>;
+</pre>
+<p>Macro to try to cast the value on the top of the XPath stack to a boolean.</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="CAST_TO_NUMBER">Macro </a>CAST_TO_NUMBER</h3>
+<pre class="programlisting">#define <a href="#CAST_TO_NUMBER">CAST_TO_NUMBER</a>;
+</pre>
+<p>Macro to try to cast the value on the top of the XPath stack to a number.</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="CAST_TO_STRING">Macro </a>CAST_TO_STRING</h3>
+<pre class="programlisting">#define <a href="#CAST_TO_STRING">CAST_TO_STRING</a>;
+</pre>
+<p>Macro to try to cast the value on the top of the XPath stack to a string.</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="CHECK_ARITY">Macro </a>CHECK_ARITY</h3>
+<pre class="programlisting">#define <a href="#CHECK_ARITY">CHECK_ARITY</a>(x);
+</pre>
+<p>Macro to check that the number of args passed to an XPath function matches.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>x</tt></i>:</span></td>
+<td>the number of expected args</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="CHECK_ERROR">Macro </a>CHECK_ERROR</h3>
+<pre class="programlisting">#define <a href="#CHECK_ERROR">CHECK_ERROR</a>;
+</pre>
+<p>Macro to return from the function if an XPath error was detected.</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="CHECK_ERROR0">Macro </a>CHECK_ERROR0</h3>
+<pre class="programlisting">#define <a href="#CHECK_ERROR0">CHECK_ERROR0</a>;
+</pre>
+<p>Macro to return 0 from the function if an XPath error was detected.</p>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="CHECK_TYPE">Macro </a>CHECK_TYPE</h3>
+<pre class="programlisting">#define <a href="#CHECK_TYPE">CHECK_TYPE</a>(typeval);
+</pre>
+<p>Macro to check that the value on top of the XPath stack is of a given type.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>typeval</tt></i>:</span></td>
+<td>the XPath type</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="CHECK_TYPE0">Macro </a>CHECK_TYPE0</h3>
+<pre class="programlisting">#define <a href="#CHECK_TYPE0">CHECK_TYPE0</a>(typeval);
+</pre>
+<p>Macro to check that the value on top of the XPath stack is of a given type. Return(0) in case of 
failure</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>typeval</tt></i>:</span></td>
+<td>the XPath type</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XP_ERROR">Macro </a>XP_ERROR</h3>
+<pre class="programlisting">#define <a href="#XP_ERROR">XP_ERROR</a>(X);
+</pre>
+<p>Macro to raise an XPath error and return.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>X</tt></i>:</span></td>
+<td>the error code</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="XP_ERROR0">Macro </a>XP_ERROR0</h3>
+<pre class="programlisting">#define <a href="#XP_ERROR0">XP_ERROR0</a>(X);
+</pre>
+<p>Macro to raise an XPath error and return 0.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>X</tt></i>:</span></td>
+<td>the error code</td>
+</tr></tbody>
+</table></div>
+</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>
+<p>Check if an XPath error was raised. Returns true if an error has been raised, false otherwise.</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 parser context</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathEmptyNodeSet">Macro </a>xmlXPathEmptyNodeSet</h3>
+<pre class="programlisting">#define <a href="#xmlXPathEmptyNodeSet">xmlXPathEmptyNodeSet</a>(ns);
+</pre>
+<p>Empties a node-set.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>ns</tt></i>:</span></td>
+<td>a node-set</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathGetContextNode">Macro </a>xmlXPathGetContextNode</h3>
+<pre class="programlisting">#define <a href="#xmlXPathGetContextNode">xmlXPathGetContextNode</a>(ctxt);
+</pre>
+<p>Get the context node of an XPath context. Returns the context 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>an XPath parser context</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathGetDocument">Macro </a>xmlXPathGetDocument</h3>
+<pre class="programlisting">#define <a href="#xmlXPathGetDocument">xmlXPathGetDocument</a>(ctxt);
+</pre>
+<p>Get the document of an XPath context. Returns the context document.</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 parser context</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathGetError">Macro </a>xmlXPathGetError</h3>
+<pre class="programlisting">#define <a href="#xmlXPathGetError">xmlXPathGetError</a>(ctxt);
+</pre>
+<p>Get the error code of an XPath context. Returns the context error.</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 parser context</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathReturnBoolean">Macro </a>xmlXPathReturnBoolean</h3>
+<pre class="programlisting">#define <a href="#xmlXPathReturnBoolean">xmlXPathReturnBoolean</a>(ctxt, val);
+</pre>
+<p>Pushes the boolean @val on the context 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 parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>val</tt></i>:</span></td>
+<td>a boolean</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathReturnEmptyNodeSet">Macro </a>xmlXPathReturnEmptyNodeSet</h3>
+<pre class="programlisting">#define <a 
href="#xmlXPathReturnEmptyNodeSet">xmlXPathReturnEmptyNodeSet</a>(ctxt);
+</pre>
+<p>Pushes an empty node-set on the context 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 parser context</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathReturnEmptyString">Macro </a>xmlXPathReturnEmptyString</h3>
+<pre class="programlisting">#define <a href="#xmlXPathReturnEmptyString">xmlXPathReturnEmptyString</a>(ctxt);
+</pre>
+<p>Pushes an empty string on the 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 parser context</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathReturnExternal">Macro </a>xmlXPathReturnExternal</h3>
+<pre class="programlisting">#define <a href="#xmlXPathReturnExternal">xmlXPathReturnExternal</a>(ctxt, val);
+</pre>
+<p>Pushes user data on the context 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 parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>val</tt></i>:</span></td>
+<td>user data</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathReturnFalse">Macro </a>xmlXPathReturnFalse</h3>
+<pre class="programlisting">#define <a href="#xmlXPathReturnFalse">xmlXPathReturnFalse</a>(ctxt);
+</pre>
+<p>Pushes false on the context 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 parser context</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathReturnNodeSet">Macro </a>xmlXPathReturnNodeSet</h3>
+<pre class="programlisting">#define <a href="#xmlXPathReturnNodeSet">xmlXPathReturnNodeSet</a>(ctxt, ns);
+</pre>
+<p>Pushes the node-set @ns on the context 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 parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ns</tt></i>:</span></td>
+<td>a node-set</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathReturnNumber">Macro </a>xmlXPathReturnNumber</h3>
+<pre class="programlisting">#define <a href="#xmlXPathReturnNumber">xmlXPathReturnNumber</a>(ctxt, val);
+</pre>
+<p>Pushes the double @val on the context 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 parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>val</tt></i>:</span></td>
+<td>a double</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathReturnString">Macro </a>xmlXPathReturnString</h3>
+<pre class="programlisting">#define <a href="#xmlXPathReturnString">xmlXPathReturnString</a>(ctxt, str);
+</pre>
+<p>Pushes the string @str on the context 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 parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>str</tt></i>:</span></td>
+<td>a string</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathReturnTrue">Macro </a>xmlXPathReturnTrue</h3>
+<pre class="programlisting">#define <a href="#xmlXPathReturnTrue">xmlXPathReturnTrue</a>(ctxt);
+</pre>
+<p>Pushes true on the context 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 parser context</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathSetArityError">Macro </a>xmlXPathSetArityError</h3>
+<pre class="programlisting">#define <a href="#xmlXPathSetArityError">xmlXPathSetArityError</a>(ctxt);
+</pre>
+<p>Raises an <a href="libxml2-xpath.html#XPATH_INVALID_ARITY">XPATH_INVALID_ARITY</a> error.</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 parser context</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathSetError">Macro </a>xmlXPathSetError</h3>
+<pre class="programlisting">#define <a href="#xmlXPathSetError">xmlXPathSetError</a>(ctxt, err);
+</pre>
+<p>Raises an error.</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 parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>err</tt></i>:</span></td>
+<td>an <a href="libxml2-xpath.html#xmlXPathError">xmlXPathError</a> code</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathSetTypeError">Macro </a>xmlXPathSetTypeError</h3>
+<pre class="programlisting">#define <a href="#xmlXPathSetTypeError">xmlXPathSetTypeError</a>(ctxt);
+</pre>
+<p>Raises an <a href="libxml2-xpath.html#XPATH_INVALID_TYPE">XPATH_INVALID_TYPE</a> error.</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 parser context</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathStackIsExternal">Macro </a>xmlXPathStackIsExternal</h3>
+<pre class="programlisting">#define <a href="#xmlXPathStackIsExternal">xmlXPathStackIsExternal</a>(ctxt);
+</pre>
+<p>Checks if the current value on the XPath stack is an external object. Returns true if the current object 
on the stack is an external object.</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 parser context</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathStackIsNodeSet">Macro </a>xmlXPathStackIsNodeSet</h3>
+<pre class="programlisting">#define <a href="#xmlXPathStackIsNodeSet">xmlXPathStackIsNodeSet</a>(ctxt);
+</pre>
+<p>Check if the current value on the XPath stack is a node set or an XSLT value tree. Returns true if the 
current object on the stack is 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>an XPath parser context</td>
+</tr></tbody>
+</table></div>
+</div>
+<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.</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>
+<p>Implement the add operation on XPath objects: The numeric operators convert their operands to numbers as 
if by calling the number function.</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 XPath Parser context</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathBooleanFunction"></a>xmlXPathBooleanFunction ()</h3>
+<pre class="programlisting">void       xmlXPathBooleanFunction         (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>                    
               int nargs)<br>
+</pre>
+<p>Implement the boolean() XPath function boolean boolean(object) The boolean function converts its argument 
to a boolean as follows: - a number is true if and only if it is neither positive or negative zero nor NaN - 
a node-set is true if and only if it is non-empty - a string is true if and only if its length is non-zero</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 XPath Parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>nargs</tt></i>:</span></td>
+<td>the number of arguments</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathCeilingFunction"></a>xmlXPathCeilingFunction ()</h3>
+<pre class="programlisting">void       xmlXPathCeilingFunction         (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>                    
               int nargs)<br>
+</pre>
+<p>Implement the ceiling() XPath function number ceiling(number) The ceiling function returns the smallest 
(closest to negative infinity) number that is not less than the argument and that is an integer.</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 XPath Parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>nargs</tt></i>:</span></td>
+<td>the number of arguments</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathCompareValues"></a>xmlXPathCompareValues ()</h3>
+<pre class="programlisting">int        xmlXPathCompareValues           (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>                    
               int inf, <br>                                   int strict)<br>
+</pre>
+<p>Implement the compare operation on XPath objects: @arg1 &lt; @arg2 (1, 1, ... @arg1 &lt;= @arg2 (1, 0, 
... @arg1 &gt; @arg2 (0, 1, ... @arg1 &gt;= @arg2 (0, 0, ... When neither object to be compared is a node-set 
and the operator is &lt;=, &lt;, &gt;=, &gt;, then the objects are compared by converted both objects to 
numbers and comparing the numbers according to IEEE 754. The &lt; comparison will be true if and only if the 
first number is less than the second number. The &lt;= comparison will be true if and only if the first 
number is less than or equal to the second number. The &gt; comparison will be true if and only if the first 
number is greater than the second number. The &gt;= comparison will be true if and only if the first number 
is greater than or equal to the second number.</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 XPath Parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>inf</tt></i>:</span></td>
+<td>less than (1) or greater than (0)</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>strict</tt></i>:</span></td>
+<td>is the comparison strict</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if the comparison succeeded, 0 if it failed</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathConcatFunction"></a>xmlXPathConcatFunction ()</h3>
+<pre class="programlisting">void       xmlXPathConcatFunction          (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>                    
               int nargs)<br>
+</pre>
+<p>Implement the concat() XPath function string concat(string, string, string*) The concat function returns 
the concatenation of its arguments.</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 XPath Parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>nargs</tt></i>:</span></td>
+<td>the number of arguments</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathContainsFunction"></a>xmlXPathContainsFunction ()</h3>
+<pre class="programlisting">void       xmlXPathContainsFunction        (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>                    
               int nargs)<br>
+</pre>
+<p>Implement the contains() XPath function boolean contains(string, string) The contains function returns 
true if the first argument string contains the second argument string, and otherwise returns false.</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 XPath Parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>nargs</tt></i>:</span></td>
+<td>the number of arguments</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathCountFunction"></a>xmlXPathCountFunction ()</h3>
+<pre class="programlisting">void       xmlXPathCountFunction           (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>                    
               int nargs)<br>
+</pre>
+<p>Implement the count() XPath function number count(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 XPath Parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>nargs</tt></i>:</span></td>
+<td>the number of arguments</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathDebugDumpCompExpr"></a>xmlXPathDebugDumpCompExpr ()</h3>
+<pre class="programlisting">void       xmlXPathDebugDumpCompExpr       (FILE * output, <br>                  
                   <a href="libxml2-xpath.html#xmlXPathCompExprPtr">xmlXPathCompExprPtr</a> comp, <br>        
                             int depth)<br>
+</pre>
+<p>Dumps the tree of the compiled XPath expression.</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>comp</tt></i>:</span></td>
+<td>the precompiled XPath expression</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>depth</tt></i>:</span></td>
+<td>the indentation level.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathDebugDumpObject"></a>xmlXPathDebugDumpObject ()</h3>
+<pre class="programlisting">void       xmlXPathDebugDumpObject         (FILE * output, <br>                  
                   <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> cur, <br>             
                     int depth)<br>
+</pre>
+<p>Dump the content of the object for debugging purposes</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 * to dump the output</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>the object to inspect</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>depth</tt></i>:</span></td>
+<td>indentation level</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathDifference"></a>xmlXPathDifference ()</h3>
+<pre class="programlisting"><a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>       
xmlXPathDifference      (<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes1, <br>            
                           <a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes2)<br>
+</pre>
+<p>Implements the EXSLT - Sets difference() function: node-set set:difference (node-set, node-set)</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>nodes1</tt></i>:</span></td>
+<td>a node-set</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>nodes2</tt></i>:</span></td>
+<td>a node-set</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the difference between the two node sets, or nodes1 if nodes2 is empty</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathDistinct"></a>xmlXPathDistinct ()</h3>
+<pre class="programlisting"><a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>       
xmlXPathDistinct        (<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes)<br>
+</pre>
+<p>Implements the EXSLT - Sets distinct() function: node-set set:distinct (node-set) @nodes is sorted by 
document order, then #exslSetsDistinctSorted is called with the sorted node-set</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>nodes</tt></i>:</span></td>
+<td>a node-set</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a subset of the nodes contained in @nodes, or @nodes if it is empty</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathDistinctSorted"></a>xmlXPathDistinctSorted ()</h3>
+<pre class="programlisting"><a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>       
xmlXPathDistinctSorted  (<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes)<br>
+</pre>
+<p>Implements the EXSLT - Sets distinct() function: node-set set:distinct (node-set)</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>nodes</tt></i>:</span></td>
+<td>a node-set, sorted by document order</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a subset of the nodes contained in @nodes, or @nodes if it is empty</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathDivValues"></a>xmlXPathDivValues ()</h3>
+<pre class="programlisting">void       xmlXPathDivValues               (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)<br>
+</pre>
+<p>Implement the div operation on XPath objects @arg1 / @arg2: The numeric operators convert their operands 
to numbers as if by calling the number function.</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 XPath Parser context</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathEqualValues"></a>xmlXPathEqualValues ()</h3>
+<pre class="programlisting">int        xmlXPathEqualValues             (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)<br>
+</pre>
+<p>Implement the equal operation on XPath objects content: @arg1 == @arg2</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 XPath Parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 or 1 depending on the results of the test.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathErr"></a>xmlXPathErr ()</h3>
+<pre class="programlisting">void       xmlXPathErr                     (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>                    
               int error)<br>
+</pre>
+<p>Handle an XPath error</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 XPath parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>error</tt></i>:</span></td>
+<td>the error code</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the XPath Parser context</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathEvaluatePredicateResult"></a>xmlXPathEvaluatePredicateResult ()</h3>
+<pre class="programlisting">int        xmlXPathEvaluatePredicateResult (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>                    
               <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> res)<br>
+</pre>
+<p>Evaluate a predicate result for the current node. A PredicateExpr is evaluated by evaluating the Expr and 
converting the result to a boolean. If the result is a number, the result will be converted to true if the 
number is equal to the position of the context node in the context node list (as returned by the position 
function) and will be converted to false otherwise; if the result is not a number, then the result will be 
converted as if by a call to the boolean function.</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 XPath Parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>res</tt></i>:</span></td>
+<td>the Predicate Expression evaluation result</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if predicate is true, 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathFalseFunction"></a>xmlXPathFalseFunction ()</h3>
+<pre class="programlisting">void       xmlXPathFalseFunction           (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>                    
               int nargs)<br>
+</pre>
+<p>Implement the false() XPath function boolean false()</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 XPath Parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>nargs</tt></i>:</span></td>
+<td>the number of arguments</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathFloorFunction"></a>xmlXPathFloorFunction ()</h3>
+<pre class="programlisting">void       xmlXPathFloorFunction           (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>                    
               int nargs)<br>
+</pre>
+<p>Implement the floor() XPath function number floor(number) The floor function returns the largest (closest 
to positive infinity) number that is not greater than the argument and that is an integer.</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 XPath Parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>nargs</tt></i>:</span></td>
+<td>the number of arguments</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathFreeParserContext"></a>xmlXPathFreeParserContext ()</h3>
+<pre class="programlisting">void       xmlXPathFreeParserContext       (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)<br>
+</pre>
+<p>Free up an <a href="libxml2-xpath.html#xmlXPathParserContext">xmlXPathParserContext</a></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 context to free</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathFunctionLookup"></a>xmlXPathFunctionLookup ()</h3>
+<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathFunction">xmlXPathFunction</a> 
xmlXPathFunctionLookup  (<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br>    
                                           const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * 
name)<br>
+</pre>
+<p>Search in the Function array of the context for the given function.</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 XPath context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the function name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the <a href="libxml2-xpath.html#xmlXPathFunction">xmlXPathFunction</a> or NULL if not found</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathFunctionLookupNS"></a>xmlXPathFunctionLookupNS ()</h3>
+<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathFunction">xmlXPathFunction</a> 
xmlXPathFunctionLookupNS        (<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)<br>
+</pre>
+<p>Search in the Function array of the context for the given function.</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 XPath context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the function name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ns_uri</tt></i>:</span></td>
+<td>the function namespace URI</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the <a href="libxml2-xpath.html#xmlXPathFunction">xmlXPathFunction</a> or NULL if not found</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathHasSameNodes"></a>xmlXPathHasSameNodes ()</h3>
+<pre class="programlisting">int        xmlXPathHasSameNodes            (<a 
href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes1, <br>                                       
<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes2)<br>
+</pre>
+<p>Implements the EXSLT - Sets has-same-nodes function: boolean set:has-same-node(node-set, node-set)</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>nodes1</tt></i>:</span></td>
+<td>a node-set</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>nodes2</tt></i>:</span></td>
+<td>a node-set</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>true (1) if @nodes1 shares any node with @nodes2, false (0) otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the XPath Parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>nargs</tt></i>:</span></td>
+<td>the number of arguments</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathIntersection"></a>xmlXPathIntersection ()</h3>
+<pre class="programlisting"><a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>       
xmlXPathIntersection    (<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes1, <br>            
                           <a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes2)<br>
+</pre>
+<p>Implements the EXSLT - Sets intersection() function: node-set set:intersection (node-set, node-set)</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>nodes1</tt></i>:</span></td>
+<td>a node-set</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>nodes2</tt></i>:</span></td>
+<td>a node-set</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a node set comprising the nodes that are within both the node sets passed as arguments</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathIsNodeType"></a>xmlXPathIsNodeType ()</h3>
+<pre class="programlisting">int        xmlXPathIsNodeType              (const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br>
+</pre>
+<p>Is the name given a NodeType one. [38] NodeType ::= 'comment' | 'text' | 'processing-instruction' | 
'node'</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 name string</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>1 if true 0 otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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 attribute. If there is no such attribute, then lang</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 XPath Parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>nargs</tt></i>:</span></td>
+<td>the number of arguments</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathLastFunction"></a>xmlXPathLastFunction ()</h3>
+<pre class="programlisting">void       xmlXPathLastFunction            (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>                    
               int nargs)<br>
+</pre>
+<p>Implement the last() XPath function number last() The last function returns the number of nodes in the 
context node 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 XPath Parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>nargs</tt></i>:</span></td>
+<td>the number of arguments</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathLeading"></a>xmlXPathLeading ()</h3>
+<pre class="programlisting"><a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>       
xmlXPathLeading         (<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes1, <br>            
                           <a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes2)<br>
+</pre>
+<p>Implements the EXSLT - Sets leading() function: node-set set:leading (node-set, node-set) @nodes1 and 
@nodes2 are sorted by document order, then #exslSetsLeadingSorted is called.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>nodes1</tt></i>:</span></td>
+<td>a node-set</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>nodes2</tt></i>:</span></td>
+<td>a node-set</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the nodes in @nodes1 that precede the first node in @nodes2 in document order, @nodes1 if @nodes2 is 
NULL or empty or an empty node-set if @nodes1 doesn't contain @nodes2</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathLeadingSorted"></a>xmlXPathLeadingSorted ()</h3>
+<pre class="programlisting"><a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>       
xmlXPathLeadingSorted   (<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes1, <br>            
                           <a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes2)<br>
+</pre>
+<p>Implements the EXSLT - Sets leading() function: node-set set:leading (node-set, node-set)</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>nodes1</tt></i>:</span></td>
+<td>a node-set, sorted by document order</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>nodes2</tt></i>:</span></td>
+<td>a node-set, sorted by document order</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the nodes in @nodes1 that precede the first node in @nodes2 in document order, @nodes1 if @nodes2 is 
NULL or empty or an empty node-set if @nodes1 doesn't contain @nodes2</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathLocalNameFunction"></a>xmlXPathLocalNameFunction ()</h3>
+<pre class="programlisting">void       xmlXPathLocalNameFunction       (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>                    
               int nargs)<br>
+</pre>
+<p>Implement the local-name() XPath function string local-name(node-set?) The local-name function returns a 
string containing the local part of the name of the node in the argument node-set that is first in document 
order. If the node-set is empty or the first node has no name, an empty string is returned. If the argument 
is omitted it defaults to the context 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 XPath Parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>nargs</tt></i>:</span></td>
+<td>the number of arguments</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathModValues"></a>xmlXPathModValues ()</h3>
+<pre class="programlisting">void       xmlXPathModValues               (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)<br>
+</pre>
+<p>Implement the mod operation on XPath objects: @arg1 / @arg2 The numeric operators convert their operands 
to numbers as if by calling the number function.</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 XPath Parser context</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathMultValues"></a>xmlXPathMultValues ()</h3>
+<pre class="programlisting">void       xmlXPathMultValues              (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)<br>
+</pre>
+<p>Implement the multiply operation on XPath objects: The numeric operators convert their operands to 
numbers as if by calling the number function.</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 XPath Parser context</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathNamespaceURIFunction"></a>xmlXPathNamespaceURIFunction ()</h3>
+<pre class="programlisting">void       xmlXPathNamespaceURIFunction    (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>                    
               int nargs)<br>
+</pre>
+<p>Implement the namespace-uri() XPath function string namespace-uri(node-set?) The namespace-uri function 
returns a string containing the namespace URI of the expanded name of the node in the argument node-set that 
is first in document order. If the node-set is empty, the first node has no name, or the expanded name has no 
namespace URI, an empty string is returned. If the argument is omitted it defaults to the context 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 XPath Parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>nargs</tt></i>:</span></td>
+<td>the number of arguments</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathNewBoolean"></a>xmlXPathNewBoolean ()</h3>
+<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>       
xmlXPathNewBoolean      (int val)<br>
+</pre>
+<p>Create a new <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> of type boolean 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>the boolean 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 class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathNewCString"></a>xmlXPathNewCString ()</h3>
+<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>       
xmlXPathNewCString      (const char * val)<br>
+</pre>
+<p>Create a new <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> of type string 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>the char * 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 class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathNewFloat"></a>xmlXPathNewFloat ()</h3>
+<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>       
xmlXPathNewFloat        (double val)<br>
+</pre>
+<p>Create a new <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</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>the double 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 class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathNewNodeSet"></a>xmlXPathNewNodeSet ()</h3>
+<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>       
xmlXPathNewNodeSet      (<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> val)<br>
+</pre>
+<p>Create a new <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> of type NodeSet and 
initialize it with the single Node @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>the NodePtr 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 class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathNewNodeSetList"></a>xmlXPathNewNodeSetList ()</h3>
+<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>       
xmlXPathNewNodeSetList  (<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> val)<br>
+</pre>
+<p>Create a new <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> of type NodeSet and 
initialize it with the Nodeset @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 existing NodeSet</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="xmlXPathNewParserContext"></a>xmlXPathNewParserContext ()</h3>
+<pre class="programlisting"><a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> xmlXPathNewParserContext      
  (const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br>                                     
             <a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt)<br>
+</pre>
+<p>Create a new <a href="libxml2-xpath.html#xmlXPathParserContext">xmlXPathParserContext</a></p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>str</tt></i>:</span></td>
+<td>the XPath expression</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the XPath context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the <a href="libxml2-xpath.html#xmlXPathParserContext">xmlXPathParserContext</a> just allocated.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathNewString"></a>xmlXPathNewString ()</h3>
+<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>       
xmlXPathNewString       (const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * val)<br>
+</pre>
+<p>Create a new <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> of type string 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>the <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * 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 class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathNewValueTree"></a>xmlXPathNewValueTree ()</h3>
+<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>       
xmlXPathNewValueTree    (<a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> val)<br>
+</pre>
+<p>Create a new <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> of type Value Tree 
(XSLT) and initialize it with the tree root @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>the NodePtr 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 class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathNextAncestor"></a>xmlXPathNextAncestor ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>      xmlXPathNextAncestor  
  (<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 "ancestor" direction the ancestor axis contains the ancestors of the context 
node; the ancestors of the context node consist of the parent of context node and the parent's parent and so 
on; the nodes are ordered in reverse document order; thus the parent is the first node on the axis, and the 
parent's parent is the second node on the axis</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 XPath Parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>the current node in the traversal</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the next element following that axis</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathNextAncestorOrSelf"></a>xmlXPathNextAncestorOrSelf ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>      
xmlXPathNextAncestorOrSelf      (<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 "ancestor-or-self" direction he ancestor-or-self axis contains the context 
node and ancestors of the context node in reverse document order; thus the context node is the first node on 
the axis, and the context node's parent the second; parent here is defined the same as with the parent 
axis.</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 XPath Parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>the current node in the traversal</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the next element following that axis</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathNextAttribute"></a>xmlXPathNextAttribute ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>      xmlXPathNextAttribute 
  (<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 "attribute" direction TODO: support DTD inherited default attributes</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 XPath Parser context</td>
+</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>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the next element following that axis</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathNextChild"></a>xmlXPathNextChild ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>      xmlXPathNextChild     
  (<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 "child" direction The child axis contains the children of the context node in 
document order.</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 XPath Parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>the current node in the traversal</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the next element following that axis</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathNextDescendant"></a>xmlXPathNextDescendant ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>      
xmlXPathNextDescendant  (<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 "descendant" direction the descendant axis contains the descendants of the 
context node in document order; a descendant is a child or a child of a child and so on.</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 XPath Parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>the current node in the traversal</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the next element following that axis</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathNextDescendantOrSelf"></a>xmlXPathNextDescendantOrSelf ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>      
xmlXPathNextDescendantOrSelf    (<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 "descendant-or-self" direction the descendant-or-self axis contains the 
context node and the descendants of the context node in document order; thus the context node is the first 
node on the axis, and the first child of the context node is the second node on the axis</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 XPath Parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>the current node in the traversal</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the next element following that axis</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the XPath Parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>the current node in the traversal</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the next element following that axis</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathNextFollowingSibling"></a>xmlXPathNextFollowingSibling ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>      
xmlXPathNextFollowingSibling    (<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-sibling" direction The following-sibling axis contains the 
following siblings of the context node in document order.</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 XPath Parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>the current node in the traversal</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the next element following that axis</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathNextNamespace"></a>xmlXPathNextNamespace ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>      xmlXPathNextNamespace 
  (<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 "namespace" direction the namespace axis contains the namespace nodes of the 
context node; the order of nodes on this axis is implementation-defined; the axis will be empty unless the 
context node is an element We keep the XML namespace node at the end of the 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 XPath Parser context</td>
+</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>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the next element following that axis</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathNextParent"></a>xmlXPathNextParent ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>      xmlXPathNextParent    
  (<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 "parent" direction The parent axis contains the parent of the context node, if 
there is one.</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 XPath Parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>the current node in the traversal</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the next element following that axis</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the XPath Parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>the current node in the traversal</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the next element following that axis</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathNextPrecedingSibling"></a>xmlXPathNextPrecedingSibling ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>      
xmlXPathNextPrecedingSibling    (<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-sibling" direction The preceding-sibling axis contains the 
preceding siblings of the context node in reverse document order; the first preceding sibling is first on the 
axis; the sibling preceding that node is the second on the axis and so on.</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 XPath Parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>the current node in the traversal</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the next element following that axis</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathNextSelf"></a>xmlXPathNextSelf ()</h3>
+<pre class="programlisting"><a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>      xmlXPathNextSelf      
  (<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 "self" direction The self axis contains just the context node itself</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 XPath Parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>cur</tt></i>:</span></td>
+<td>the current node in the traversal</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the next element following that axis</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathNodeLeading"></a>xmlXPathNodeLeading ()</h3>
+<pre class="programlisting"><a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>       
xmlXPathNodeLeading     (<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes, <br>             
                           <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br>
+</pre>
+<p>Implements the EXSLT - Sets leading() function: node-set set:leading (node-set, node-set) @nodes is 
sorted by document order, then #exslSetsNodeLeadingSorted is called.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>nodes</tt></i>:</span></td>
+<td>a node-set</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>Returns</tt></i>:</span></td>
+<td>the nodes in @nodes that precede @node in document order, @nodes if @node is NULL or an empty node-set 
if @nodes doesn't contain @node</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathNodeLeadingSorted"></a>xmlXPathNodeLeadingSorted ()</h3>
+<pre class="programlisting"><a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>       
xmlXPathNodeLeadingSorted       (<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes, <br>     
                                           <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br>
+</pre>
+<p>Implements the EXSLT - Sets leading() function: node-set set:leading (node-set, node-set)</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>nodes</tt></i>:</span></td>
+<td>a node-set, sorted by document order</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>Returns</tt></i>:</span></td>
+<td>the nodes in @nodes that precede @node in document order, @nodes if @node is NULL or an empty node-set 
if @nodes doesn't contain @node</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathNodeSetAdd"></a>xmlXPathNodeSetAdd ()</h3>
+<pre class="programlisting">int        xmlXPathNodeSetAdd              (<a 
href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> cur, <br>                                  <a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> val)<br>
+</pre>
+<p>add a new <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> to an existing NodeSet</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 node set</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>val</tt></i>:</span></td>
+<td>a new <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 in case of success, and -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathNodeSetAddNs"></a>xmlXPathNodeSetAddNs ()</h3>
+<pre class="programlisting">int        xmlXPathNodeSetAddNs            (<a 
href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> cur, <br>                                  <a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br>                                        <a 
href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> ns)<br>
+</pre>
+<p>add a new namespace node to an existing NodeSet</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 node set</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>node</tt></i>:</span></td>
+<td>the hosting node</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ns</tt></i>:</span></td>
+<td>a the namespace node</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 in case of success and -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathNodeSetAddUnique"></a>xmlXPathNodeSetAddUnique ()</h3>
+<pre class="programlisting">int        xmlXPathNodeSetAddUnique        (<a 
href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> cur, <br>                                  <a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> val)<br>
+</pre>
+<p>add a new <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> to an existing NodeSet, optimized version 
when we are sure the node is not already in the set.</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 node set</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>val</tt></i>:</span></td>
+<td>a new <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>
+</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 in case of success and -1 in case of failure</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathNodeSetContains"></a>xmlXPathNodeSetContains ()</h3>
+<pre class="programlisting">int        xmlXPathNodeSetContains         (<a 
href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> cur, <br>                                  <a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> val)<br>
+</pre>
+<p>checks whether @cur contains @val</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 node-set</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>val</tt></i>:</span></td>
+<td>the node</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>true (1) if @cur contains @val, false (0) otherwise</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathNodeSetDel"></a>xmlXPathNodeSetDel ()</h3>
+<pre class="programlisting">void       xmlXPathNodeSetDel              (<a 
href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> cur, <br>                                  <a 
href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> val)<br>
+</pre>
+<p>Removes an <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> from an existing NodeSet</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 node set</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>val</tt></i>:</span></td>
+<td>an <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathNodeSetFreeNs"></a>xmlXPathNodeSetFreeNs ()</h3>
+<pre class="programlisting">void       xmlXPathNodeSetFreeNs           (<a 
href="libxml2-tree.html#xmlNsPtr">xmlNsPtr</a> ns)<br>
+</pre>
+<p>Namespace nodes in libxml don't match the XPath semantic. In a node set the namespace nodes are 
duplicated and the next pointer is set to the parent node in the XPath semantic. Check if such a node needs 
to be freed</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>ns</tt></i>:</span></td>
+<td>the XPath namespace node found in a nodeset.</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathNodeSetMerge"></a>xmlXPathNodeSetMerge ()</h3>
+<pre class="programlisting"><a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>       
xmlXPathNodeSetMerge    (<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> val1, <br>              
                           <a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> val2)<br>
+</pre>
+<p>Merges two nodesets, all nodes from @val2 are added to @val1 if @val1 is NULL, a new set is created and 
copied from @val2</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 NodeSet or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>val2</tt></i>:</span></td>
+<td>the second NodeSet</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="xmlXPathNodeSetRemove"></a>xmlXPathNodeSetRemove ()</h3>
+<pre class="programlisting">void       xmlXPathNodeSetRemove           (<a 
href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> cur, <br>                                  int 
val)<br>
+</pre>
+<p>Removes an entry from an existing NodeSet 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 node 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="xmlXPathNodeSetSort"></a>xmlXPathNodeSetSort ()</h3>
+<pre class="programlisting">void       xmlXPathNodeSetSort             (<a 
href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> set)<br>
+</pre>
+<p>Sort the node set in document order</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>set</tt></i>:</span></td>
+<td>the node set</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathNodeTrailing"></a>xmlXPathNodeTrailing ()</h3>
+<pre class="programlisting"><a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>       
xmlXPathNodeTrailing    (<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes, <br>             
                           <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br>
+</pre>
+<p>Implements the EXSLT - Sets trailing() function: node-set set:trailing (node-set, node-set) @nodes is 
sorted by document order, then #xmlXPathNodeTrailingSorted is called.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>nodes</tt></i>:</span></td>
+<td>a node-set</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>Returns</tt></i>:</span></td>
+<td>the nodes in @nodes that follow @node in document order, @nodes if @node is NULL or an empty node-set if 
@nodes doesn't contain @node</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathNodeTrailingSorted"></a>xmlXPathNodeTrailingSorted ()</h3>
+<pre class="programlisting"><a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>       
xmlXPathNodeTrailingSorted      (<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes, <br>     
                                           <a href="libxml2-tree.html#xmlNodePtr">xmlNodePtr</a> node)<br>
+</pre>
+<p>Implements the EXSLT - Sets trailing() function: node-set set:trailing (node-set, node-set)</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>nodes</tt></i>:</span></td>
+<td>a node-set, sorted by document order</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>Returns</tt></i>:</span></td>
+<td>the nodes in @nodes that follow @node in document order, @nodes if @node is NULL or an empty node-set if 
@nodes doesn't contain @node</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the XPath Parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>nargs</tt></i>:</span></td>
+<td>the number of arguments</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathNotEqualValues"></a>xmlXPathNotEqualValues ()</h3>
+<pre class="programlisting">int        xmlXPathNotEqualValues          (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)<br>
+</pre>
+<p>Implement the equal operation on XPath objects content: @arg1 == @arg2</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 XPath Parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 or 1 depending on the results of the test.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathNotFunction"></a>xmlXPathNotFunction ()</h3>
+<pre class="programlisting">void       xmlXPathNotFunction             (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>                    
               int nargs)<br>
+</pre>
+<p>Implement the not() XPath function boolean not(boolean) The not function returns true if its argument is 
false, and false otherwise.</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 XPath Parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>nargs</tt></i>:</span></td>
+<td>the number of arguments</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathNsLookup"></a>xmlXPathNsLookup ()</h3>
+<pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *       
xmlXPathNsLookup        (<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br>    
                                   const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix)<br>
+</pre>
+<p>Search in the namespace declaration array of the context for the given namespace name associated to the 
given prefix</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 XPath context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>prefix</tt></i>:</span></td>
+<td>the namespace prefix value</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the value or NULL if not found</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathNumberFunction"></a>xmlXPathNumberFunction ()</h3>
+<pre class="programlisting">void       xmlXPathNumberFunction          (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>                    
               int nargs)<br>
+</pre>
+<p>Implement the number() XPath function number number(object?)</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 XPath Parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>nargs</tt></i>:</span></td>
+<td>the number of arguments</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathParseNCName"></a>xmlXPathParseNCName ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *     xmlXPathParseNCName   
  (<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)<br>
+</pre>
+<p>parse an XML namespace non qualified name. [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>the XPath 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="xmlXPathParseName"></a>xmlXPathParseName ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *     xmlXPathParseName     
  (<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)<br>
+</pre>
+<p>parse an XML name [4] NameChar ::= Letter | Digit | '.' | '-' | '_' | ':' | CombiningChar | Extender [5] 
Name ::= (Letter | '_' | ':') (NameChar)*</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 XPath 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="xmlXPathPopBoolean"></a>xmlXPathPopBoolean ()</h3>
+<pre class="programlisting">int        xmlXPathPopBoolean              (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)<br>
+</pre>
+<p>Pops a boolean from the stack, handling conversion if needed. Check error with #xmlXPathCheckError.</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 parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the boolean</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathPopExternal"></a>xmlXPathPopExternal ()</h3>
+<pre class="programlisting">void *     xmlXPathPopExternal             (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)<br>
+</pre>
+<p>Pops an external object from the stack, handling conversion if needed. Check error with 
#xmlXPathCheckError.</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 parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the object</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathPopNodeSet"></a>xmlXPathPopNodeSet ()</h3>
+<pre class="programlisting"><a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>       
xmlXPathPopNodeSet      (<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> 
ctxt)<br>
+</pre>
+<p>Pops a node-set from the stack, handling conversion if needed. Check error with #xmlXPathCheckError.</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 parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the node-set</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathPopNumber"></a>xmlXPathPopNumber ()</h3>
+<pre class="programlisting">double     xmlXPathPopNumber               (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)<br>
+</pre>
+<p>Pops a number from the stack, handling conversion if needed. Check error with #xmlXPathCheckError.</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 parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the number</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathPopString"></a>xmlXPathPopString ()</h3>
+<pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *     xmlXPathPopString     
  (<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)<br>
+</pre>
+<p>Pops a string from the stack, handling conversion if needed. Check error with #xmlXPathCheckError.</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 parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the string</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathPositionFunction"></a>xmlXPathPositionFunction ()</h3>
+<pre class="programlisting">void       xmlXPathPositionFunction        (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>                    
               int nargs)<br>
+</pre>
+<p>Implement the position() XPath function number position() The position function returns the position of 
the context node in the context node list. The first position is 1, and so the last position will be equal to 
last().</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 XPath Parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>nargs</tt></i>:</span></td>
+<td>the number of arguments</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody><tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the XPath context</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathRegisterFunc"></a>xmlXPathRegisterFunc ()</h3>
+<pre class="programlisting">int        xmlXPathRegisterFunc            (<a 
href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br>                                
       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>                                
         <a href="libxml2-xpath.html#xmlXPathFunction">xmlXPathFunction</a> f)<br>
+</pre>
+<p>Register a new function. If @f is NULL it unregisters the function</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 XPath context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the function name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>f</tt></i>:</span></td>
+<td>the function implementation or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 in case of success, -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathRegisterFuncLookup"></a>xmlXPathRegisterFuncLookup ()</h3>
+<pre class="programlisting">void       xmlXPathRegisterFuncLookup      (<a 
href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br>                                
       <a href="libxml2-xpath.html#xmlXPathFuncLookupFunc">xmlXPathFuncLookupFunc</a> f, <br>                 
                 void * funcCtxt)<br>
+</pre>
+<p>Registers an external mechanism to do function lookup.</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 XPath context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>f</tt></i>:</span></td>
+<td>the lookup function</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>funcCtxt</tt></i>:</span></td>
+<td>the lookup data</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathRegisterFuncNS"></a>xmlXPathRegisterFuncNS ()</h3>
+<pre class="programlisting">int        xmlXPathRegisterFuncNS          (<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, <br>                            
           <a href="libxml2-xpath.html#xmlXPathFunction">xmlXPathFunction</a> f)<br>
+</pre>
+<p>Register a new function. If @f is NULL it unregisters the function</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 XPath context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the function name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ns_uri</tt></i>:</span></td>
+<td>the function namespace URI</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>f</tt></i>:</span></td>
+<td>the function implementation or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 in case of success, -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathRegisterNs"></a>xmlXPathRegisterNs ()</h3>
+<pre class="programlisting">int        xmlXPathRegisterNs              (<a 
href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br>                                
       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br>                              
         const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * ns_uri)<br>
+</pre>
+<p>Register a new namespace. If @ns_uri is NULL it unregisters the namespace</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 XPath context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>prefix</tt></i>:</span></td>
+<td>the namespace prefix cannot be NULL or empty string</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ns_uri</tt></i>:</span></td>
+<td>the namespace name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 in case of success, -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathRegisterVariable"></a>xmlXPathRegisterVariable ()</h3>
+<pre class="programlisting">int        xmlXPathRegisterVariable        (<a 
href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br>                                
       const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br>                                
         <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> value)<br>
+</pre>
+<p>Register a new variable value. If @value is NULL it unregisters the variable</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 XPath context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the variable name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>value</tt></i>:</span></td>
+<td>the variable value or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 in case of success, -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathRegisterVariableLookup"></a>xmlXPathRegisterVariableLookup ()</h3>
+<pre class="programlisting">void       xmlXPathRegisterVariableLookup  (<a 
href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br>                                
       <a href="libxml2-xpath.html#xmlXPathVariableLookupFunc">xmlXPathVariableLookupFunc</a> f, <br>         
                         void * data)<br>
+</pre>
+<p>register an external mechanism to do variable lookup</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 XPath context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>f</tt></i>:</span></td>
+<td>the lookup function</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>data</tt></i>:</span></td>
+<td>the lookup data</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathRegisterVariableNS"></a>xmlXPathRegisterVariableNS ()</h3>
+<pre class="programlisting">int        xmlXPathRegisterVariableNS      (<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, <br>                            
           <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> value)<br>
+</pre>
+<p>Register a new variable value. If @value is NULL it unregisters the variable</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 XPath context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the variable name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ns_uri</tt></i>:</span></td>
+<td>the variable namespace URI</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>value</tt></i>:</span></td>
+<td>the variable value or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>0 in case of success, -1 in case of error</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathRegisteredFuncsCleanup"></a>xmlXPathRegisteredFuncsCleanup ()</h3>
+<pre class="programlisting">void       xmlXPathRegisteredFuncsCleanup  (<a 
href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt)<br>
+</pre>
+<p>Cleanup the XPath context data associated to registered 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>the XPath context</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathRegisteredNsCleanup"></a>xmlXPathRegisteredNsCleanup ()</h3>
+<pre class="programlisting">void       xmlXPathRegisteredNsCleanup     (<a 
href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt)<br>
+</pre>
+<p>Cleanup the XPath context data associated to registered variables</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 XPath context</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathRegisteredVariablesCleanup"></a>xmlXPathRegisteredVariablesCleanup ()</h3>
+<pre class="programlisting">void       xmlXPathRegisteredVariablesCleanup      (<a 
href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt)<br>
+</pre>
+<p>Cleanup the XPath context data associated to registered variables</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 XPath context</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathRoot"></a>xmlXPathRoot ()</h3>
+<pre class="programlisting">void       xmlXPathRoot                    (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)<br>
+</pre>
+<p>Initialize the context to the root of the document</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 XPath Parser context</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathRoundFunction"></a>xmlXPathRoundFunction ()</h3>
+<pre class="programlisting">void       xmlXPathRoundFunction           (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>                    
               int nargs)<br>
+</pre>
+<p>Implement the round() XPath function number round(number) The round function returns the number that is 
closest to the argument and that is an integer. If there are two such numbers, then the one that is closest 
to positive infinity is 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>the XPath Parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>nargs</tt></i>:</span></td>
+<td>the number of arguments</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathStartsWithFunction"></a>xmlXPathStartsWithFunction ()</h3>
+<pre class="programlisting">void       xmlXPathStartsWithFunction      (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>                    
               int nargs)<br>
+</pre>
+<p>Implement the starts-with() XPath function boolean starts-with(string, string) The starts-with function 
returns true if the first argument string starts with the second argument string, and otherwise returns 
false.</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 XPath Parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>nargs</tt></i>:</span></td>
+<td>the number of arguments</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathStringEvalNumber"></a>xmlXPathStringEvalNumber ()</h3>
+<pre class="programlisting">double     xmlXPathStringEvalNumber        (const <a 
href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str)<br>
+</pre>
+<p>[30a] Float ::= Number ('e' Digits?)? [30] Number ::= Digits ('.' Digits?)? | '.' Digits [31] Digits ::= 
[0-9]+ Compile a Number in the string In complement of the Number expression, this function also handles 
negative values : '-' Number.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>str</tt></i>:</span></td>
+<td>A string to scan</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the double value.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathStringFunction"></a>xmlXPathStringFunction ()</h3>
+<pre class="programlisting">void       xmlXPathStringFunction          (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>                    
               int nargs)<br>
+</pre>
+<p>Implement the string() XPath function string string(object?) The string function converts an object to a 
string as follows: - A node-set is converted to a string by returning the value of the node in the node-set 
that is first in document order. If the node-set is empty, an empty string is returned. - A number is 
converted to a string as follows + NaN is converted to the string NaN + positive zero is converted to the 
string 0 + negative zero is converted to the string 0 + positive infinity is converted to the string Infinity 
+ negative infinity is converted to the string -Infinity + if the number is an integer, the number is 
represented in decimal form as a Number with no decimal point and no leading zeros, preceded by a minus sign 
(-) if the number is negative + otherwise, the number is represented in decimal form as a Number including a 
decimal point with at least one digit before the decimal point and at least one digit after the decimal 
point, preceded by a minus sign (-) if 
 the number is negative; there must be no leading zeros before the decimal point apart possibly from the one 
required digit immediately before the decimal point; beyond the one required digit after the decimal point 
there must be as many, but only as many, more digits as are needed to uniquely distinguish the number from 
all other IEEE 754 numeric values. - The boolean false value is converted to the string false. The boolean 
true value is converted to the string true. If the argument is omitted, it defaults to a node-set with the 
context node as its only member.</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 XPath Parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>nargs</tt></i>:</span></td>
+<td>the number of arguments</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the XPath Parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>nargs</tt></i>:</span></td>
+<td>the number of arguments</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathSubValues"></a>xmlXPathSubValues ()</h3>
+<pre class="programlisting">void       xmlXPathSubValues               (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)<br>
+</pre>
+<p>Implement the subtraction operation on XPath objects: The numeric operators convert their operands to 
numbers as if by calling the number function.</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 XPath Parser context</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathSubstringAfterFunction"></a>xmlXPathSubstringAfterFunction ()</h3>
+<pre class="programlisting">void       xmlXPathSubstringAfterFunction  (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>                    
               int nargs)<br>
+</pre>
+<p>Implement the substring-after() XPath function string substring-after(string, string) The substring-after 
function returns the substring of the first argument string that follows the first occurrence of the second 
argument string in the first argument string, or the empty stringi if the first argument string does not 
contain the second argument string. For example, substring-after("1999/04/01","/") returns 04/01, and 
substring-after("1999/04/01","19") returns 99/04/01.</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 XPath Parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>nargs</tt></i>:</span></td>
+<td>the number of arguments</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathSubstringBeforeFunction"></a>xmlXPathSubstringBeforeFunction ()</h3>
+<pre class="programlisting">void       xmlXPathSubstringBeforeFunction (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>                    
               int nargs)<br>
+</pre>
+<p>Implement the substring-before() XPath function string substring-before(string, string) The 
substring-before function returns the substring of the first argument string that precedes the first 
occurrence of the second argument string in the first argument string, or the empty string if the first 
argument string does not contain the second argument string. For example, substring-before("1999/04/01","/") 
returns 1999.</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 XPath Parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>nargs</tt></i>:</span></td>
+<td>the number of arguments</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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; t
 he 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>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the XPath Parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>nargs</tt></i>:</span></td>
+<td>the number of arguments</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathSumFunction"></a>xmlXPathSumFunction ()</h3>
+<pre class="programlisting">void       xmlXPathSumFunction             (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>                    
               int nargs)<br>
+</pre>
+<p>Implement the sum() XPath function number sum(node-set) The sum function returns the sum of the values of 
the nodes in the argument 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 XPath Parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>nargs</tt></i>:</span></td>
+<td>the number of arguments</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathTrailing"></a>xmlXPathTrailing ()</h3>
+<pre class="programlisting"><a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>       
xmlXPathTrailing        (<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes1, <br>            
                           <a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes2)<br>
+</pre>
+<p>Implements the EXSLT - Sets trailing() function: node-set set:trailing (node-set, node-set) @nodes1 and 
@nodes2 are sorted by document order, then #xmlXPathTrailingSorted is called.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>nodes1</tt></i>:</span></td>
+<td>a node-set</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>nodes2</tt></i>:</span></td>
+<td>a node-set</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the nodes in @nodes1 that follow the first node in @nodes2 in document order, @nodes1 if @nodes2 is NULL 
or empty or an empty node-set if @nodes1 doesn't contain @nodes2</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathTrailingSorted"></a>xmlXPathTrailingSorted ()</h3>
+<pre class="programlisting"><a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a>       
xmlXPathTrailingSorted  (<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes1, <br>            
                           <a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> nodes2)<br>
+</pre>
+<p>Implements the EXSLT - Sets trailing() function: node-set set:trailing (node-set, node-set)</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>nodes1</tt></i>:</span></td>
+<td>a node-set, sorted by document order</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>nodes2</tt></i>:</span></td>
+<td>a node-set, sorted by document order</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the nodes in @nodes1 that follow the first node in @nodes2 in document order, @nodes1 if @nodes2 is NULL 
or empty or an empty node-set if @nodes1 doesn't contain @nodes2</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<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>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>ctxt</tt></i>:</span></td>
+<td>the XPath Parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>nargs</tt></i>:</span></td>
+<td>the number of arguments</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathTrueFunction"></a>xmlXPathTrueFunction ()</h3>
+<pre class="programlisting">void       xmlXPathTrueFunction            (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>                    
               int nargs)<br>
+</pre>
+<p>Implement the true() XPath function boolean true()</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 XPath Parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>nargs</tt></i>:</span></td>
+<td>the number of arguments</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathValueFlipSign"></a>xmlXPathValueFlipSign ()</h3>
+<pre class="programlisting">void       xmlXPathValueFlipSign           (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)<br>
+</pre>
+<p>Implement the unary - operation on an XPath object The numeric operators convert their operands to 
numbers as if by calling the number function.</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 XPath Parser context</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>
+<p>Search in the Variable array of the context for the given variable value.</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 XPath context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the variable name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>a copy of the value or NULL if not found</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathVariableLookupNS"></a>xmlXPathVariableLookupNS ()</h3>
+<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>       
xmlXPathVariableLookupNS        (<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)<br>
+</pre>
+<p>Search in the Variable array of the context for the given variable value.</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 XPath context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>name</tt></i>:</span></td>
+<td>the variable name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ns_uri</tt></i>:</span></td>
+<td>the variable namespace URI</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the a copy of the value or NULL if not found</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathWrapCString"></a>xmlXPathWrapCString ()</h3>
+<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>       
xmlXPathWrapCString     (char * val)<br>
+</pre>
+<p>Wraps a string into an XPath object.</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 char * 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 class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathWrapExternal"></a>xmlXPathWrapExternal ()</h3>
+<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>       
xmlXPathWrapExternal    (void * val)<br>
+</pre>
+<p>Wraps the @val data into an XPath object.</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 user data</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="xmlXPathWrapNodeSet"></a>xmlXPathWrapNodeSet ()</h3>
+<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>       
xmlXPathWrapNodeSet     (<a href="libxml2-xpath.html#xmlNodeSetPtr">xmlNodeSetPtr</a> val)<br>
+</pre>
+<p>Wrap the Nodeset @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 NodePtr 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 class="refsect2" lang="en">
+<h3>
+<a name="xmlXPathWrapString"></a>xmlXPathWrapString ()</h3>
+<pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>       
xmlXPathWrapString      (<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * val)<br>
+</pre>
+<p>Wraps the @val string into an XPath object.</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 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * 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 class="refsect2" lang="en">
+<h3>
+<a name="xmlXPatherror"></a>xmlXPatherror ()</h3>
+<pre class="programlisting">void       xmlXPatherror                   (<a 
href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br>                    
               const char * file, <br>                                         int line, <br>                 
                 int no)<br>
+</pre>
+<p>Formats an error message.</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 XPath Parser context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>file</tt></i>:</span></td>
+<td>the file name</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>line</tt></i>:</span></td>
+<td>the line number</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>no</tt></i>:</span></td>
+<td>the error number</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+</div>
+</div>
+</body>
 </html>
diff --git a/doc/devhelp/libxml2-xpointer.html b/doc/devhelp/libxml2-xpointer.html
index 671039b0..7f0595f0 100644
--- a/doc/devhelp/libxml2-xpointer.html
+++ b/doc/devhelp/libxml2-xpointer.html
@@ -1,171 +1,559 @@
-<?xml version="1.0" encoding="UTF-8"?>
 <html>
-  <head>
-    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
-    <title>xpointer: API to handle XML Pointers</title>
-    <meta name="generator" content="Libxml2 devhelp stylesheet"/>
-    <link rel="start" href="index.html" title="libxml2 Reference Manual"/>
-    <link rel="up" href="general.html" title="API"/>
-    <link rel="stylesheet" href="style.css" type="text/css"/>
-    <link rel="chapter" href="general.html" title="API"/>
-  </head>
-  <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-    <table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
-      <tr valign="middle">
-        <td>
-          <a accesskey="p" href="libxml2-xpathInternals.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>
-        <th width="100%" align="center">libxml2 Reference Manual</th>
-      </tr>
-    </table>
-    <h2>
-      <span class="refentrytitle">xpointer</span>
-    </h2>
-    <p>xpointer - API to handle XML Pointers</p>
-    <p>API to handle XML Pointers Base implementation was made accordingly to W3C Candidate Recommendation 7 
June 2000</p>
-    <p>Author(s): Daniel Veillard </p>
-    <div class="refsynopsisdiv">
-      <h2>Synopsis</h2>
-      <pre class="synopsis">typedef struct _xmlLocationSet <a href="#xmlLocationSet">xmlLocationSet</a>;
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>xpointer: API to handle XML Pointers</title>
+<meta name="generator" content="Libxml2 devhelp stylesheet">
+<link rel="start" href="index.html" title="libxml2 Reference Manual">
+<link rel="up" href="general.html" title="API">
+<link rel="stylesheet" href="style.css" type="text/css">
+<link rel="chapter" href="general.html" title="API">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr 
valign="middle">
+<td><a accesskey="p" href="libxml2-xpathInternals.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>
+<th width="100%" align="center">libxml2 Reference Manual</th>
+</tr></table>
+<h2><span class="refentrytitle">xpointer</span></h2>
+<p>xpointer - API to handle XML Pointers</p>
+<p>API to handle XML Pointers Base implementation was made accordingly to W3C Candidate Recommendation 7 
June 2000</p>
+<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);
+<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);
+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);
+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);
-<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#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="#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>
-    <div class="refsect1" lang="en">
-      <h2>Details</h2>
-      <div class="refsect2" lang="en">
-        <div class="refsect2" lang="en"><h3><a name="xmlLocationSet">Structure </a>xmlLocationSet</h3><pre 
class="programlisting">struct _xmlLocationSet {
+</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="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/>
-</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/>
-</div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPtrBuildNodeList"/>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"/>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><p>Evaluate the XPath Location Path in the given context.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span 
class="term"><i><tt>str</tt></i>:</span></td><td>the XPointer expression</td></tr><tr><td><span 
class="term"><i><tt>ctx</tt></i>:</span></td><td>the XPointer context</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a 
href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> resulting from the evaluation or NULL. the 
caller has to free the object.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlXPtrEvalRangePredicate"/>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"/>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"/>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"/>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"/>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"/>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"/>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"/>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"/>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><p>Create a new XPointer context</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 XML document</td></tr><tr><td><span 
class="term"><i><tt>here</tt></i>:</span></td><td>the node that directly contains the XPointer being 
evaluated or NULL</td></tr><tr><td><span class="term"><i><tt>origin</tt></i>:</span></td><td>the element from 
which a user or program initiated traversal of the link, or NULL.</td></tr><tr><td><span 
class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a 
href="libxml2-xpath.html#xmlXPathContext">xmlXPathContext</a> just 
allocated.</td></tr></tbody></table></div></div>
-        <hr/>
-        <div class="refsect2" lang="en"><h3><a 
name="xmlXPtrNewLocationSetNodeSet"/>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"/>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"/>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"/>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"/>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"/>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"/>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"/>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"/>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"/>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>
+</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>
+<p>Evaluate the XPath Location Path in the given context.</p>
+<div class="variablelist"><table border="0">
+<col align="left">
+<tbody>
+<tr>
+<td><span class="term"><i><tt>str</tt></i>:</span></td>
+<td>the XPointer expression</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>ctx</tt></i>:</span></td>
+<td>the XPointer context</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> resulting from the evaluation 
or NULL. the caller has to free the object.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<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>
+<p>Create a new XPointer context</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 XML document</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>here</tt></i>:</span></td>
+<td>the node that directly contains the XPointer being evaluated or NULL</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>origin</tt></i>:</span></td>
+<td>the element from which a user or program initiated traversal of the link, or NULL.</td>
+</tr>
+<tr>
+<td><span class="term"><i><tt>Returns</tt></i>:</span></td>
+<td>the <a href="libxml2-xpath.html#xmlXPathContext">xmlXPathContext</a> just allocated.</td>
+</tr>
+</tbody>
+</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>
 </html>
diff --git a/doc/examples/examples.xml b/doc/examples/examples.xml
index 3b26bca3..465ea824 100644
--- a/doc/examples/examples.xml
+++ b/doc/examples/examples.xml
@@ -135,7 +135,7 @@
       <function line='103' file='tree' name='xmlFreeDoc'/>
       <function line='94' file='parser' name='xmlFreeParserCtxt'/>
       <function line='135' file='xmlmemory' name='xmlMemoryDump'/>
-      <function line='86' file='parser' name='xmlParseChunk'/>
+      <function line='80' file='parser' name='xmlParseChunk'/>
       <typedef line='45' file='tree' name='xmlParserCtxtPtr'/>
     </uses>
   </example>
@@ -164,7 +164,7 @@
       <function line='39' file='xmlreader' name='xmlTextReaderIsEmptyElement'/>
       <function line='37' file='xmlreader' name='xmlTextReaderNodeType'/>
       <typedef line='59' file='xmlreader' name='xmlTextReaderPtr'/>
-      <function line='67' file='xmlreader' name='xmlTextReaderRead'/>
+      <function line='64' file='xmlreader' name='xmlTextReaderRead'/>
     </uses>
   </example>
   <example filename='reader2.c'>
@@ -193,7 +193,7 @@
       <function line='81' file='xmlreader' name='xmlTextReaderIsValid'/>
       <function line='38' file='xmlreader' name='xmlTextReaderNodeType'/>
       <typedef line='60' file='xmlreader' name='xmlTextReaderPtr'/>
-      <function line='76' file='xmlreader' name='xmlTextReaderRead'/>
+      <function line='73' file='xmlreader' name='xmlTextReaderRead'/>
     </uses>
   </example>
   <example filename='reader3.c'>
@@ -209,12 +209,12 @@
     </includes>
     <uses>
       <function line='96' file='tree' name='xmlDocDump'/>
-      <function line='66' file='xmlreader' name='xmlFreeTextReader'/>
+      <function line='56' file='xmlreader' name='xmlFreeTextReader'/>
       <function line='38' file='xmlreader' name='xmlReaderForFile'/>
       <function line='62' file='xmlreader' name='xmlTextReaderCurrentDoc'/>
       <function line='43' file='xmlreader' name='xmlTextReaderPreservePattern'/>
       <typedef line='32' file='xmlreader' name='xmlTextReaderPtr'/>
-      <function line='52' file='xmlreader' name='xmlTextReaderRead'/>
+      <function line='50' file='xmlreader' name='xmlTextReaderRead'/>
     </uses>
   </example>
   <example filename='reader4.c'>
@@ -232,9 +232,9 @@
       <function line='104' file='xmlreader' name='xmlFreeTextReader'/>
       <function line='72' file='xmlreader' name='xmlReaderForFile'/>
       <function line='83' file='xmlreader' name='xmlReaderNewFile'/>
-      <function line='97' file='xmlreader' name='xmlTextReaderCurrentDoc'/>
+      <function line='34' file='xmlreader' name='xmlTextReaderCurrentDoc'/>
       <typedef line='54' file='xmlreader' name='xmlTextReaderPtr'/>
-      <function line='26' file='xmlreader' name='xmlTextReaderRead'/>
+      <function line='24' file='xmlreader' name='xmlTextReaderRead'/>
     </uses>
   </example>
   <example filename='testWriter.c'>
@@ -257,8 +257,8 @@
       <typedef line='1151' file='encoding' name='xmlCharEncodingHandlerPtr'/>
       <function line='901' file='tree' name='xmlDocSetRootElement'/>
       <function line='1156' file='encoding' name='xmlFindCharEncodingHandler'/>
-      <variable line='1180' file='globals' name='xmlFree'/>
-      <function line='1127' file='xmlwriter' name='xmlFreeTextWriter'/>
+      <variable line='113' file='globals' name='xmlFree'/>
+      <function line='327' file='xmlwriter' name='xmlFreeTextWriter'/>
       <variable line='1166' file='globals' name='xmlMalloc'/>
       <function line='885' file='tree' name='xmlNewDoc'/>
       <function line='894' file='tree' name='xmlNewDocNode'/>
@@ -268,17 +268,17 @@
       <function line='904' file='xmlwriter' name='xmlNewTextWriterTree'/>
       <typedef line='880' file='tree' name='xmlNodePtr'/>
       <variable line='1183' file='globals' name='xmlRealloc'/>
-      <function line='1129' file='tree' name='xmlSaveFileEnc'/>
-      <function line='1121' file='xmlwriter' name='xmlTextWriterEndDocument'/>
-      <function line='1111' file='xmlwriter' name='xmlTextWriterEndElement'/>
-      <typedef line='878' file='xmlwriter' name='xmlTextWriterPtr'/>
-      <function line='913' file='xmlwriter' name='xmlTextWriterStartDocument'/>
-      <function line='1096' file='xmlwriter' name='xmlTextWriterStartElement'/>
-      <function line='949' file='xmlwriter' name='xmlTextWriterWriteAttribute'/>
-      <function line='925' file='xmlwriter' name='xmlTextWriterWriteComment'/>
-      <function line='1103' file='xmlwriter' name='xmlTextWriterWriteElement'/>
-      <function line='959' file='xmlwriter' name='xmlTextWriterWriteFormatComment'/>
-      <function line='1073' file='xmlwriter' name='xmlTextWriterWriteFormatElement'/>
+      <function line='863' file='tree' name='xmlSaveFileEnc'/>
+      <function line='320' file='xmlwriter' name='xmlTextWriterEndDocument'/>
+      <function line='200' file='xmlwriter' name='xmlTextWriterEndElement'/>
+      <typedef line='72' file='xmlwriter' name='xmlTextWriterPtr'/>
+      <function line='85' file='xmlwriter' name='xmlTextWriterStartDocument'/>
+      <function line='94' file='xmlwriter' name='xmlTextWriterStartElement'/>
+      <function line='124' file='xmlwriter' name='xmlTextWriterWriteAttribute'/>
+      <function line='107' file='xmlwriter' name='xmlTextWriterWriteComment'/>
+      <function line='181' file='xmlwriter' name='xmlTextWriterWriteElement'/>
+      <function line='143' file='xmlwriter' name='xmlTextWriterWriteFormatComment'/>
+      <function line='162' file='xmlwriter' name='xmlTextWriterWriteFormatElement'/>
     </uses>
   </example>
   <example filename='tree1.c'>
@@ -312,14 +312,14 @@
       <include line='13'>&lt;libxml/tree.h&gt;</include>
     </includes>
     <uses>
-      <function line='77' file='tree' name='xmlAddChild'/>
+      <function line='76' file='tree' name='xmlAddChild'/>
       <function line='45' file='tree' name='xmlCreateIntSubset'/>
       <function line='40' file='tree' name='xmlDocSetRootElement'/>
-      <function line='87' file='tree' name='xmlNewChild'/>
+      <function line='51' file='tree' name='xmlNewChild'/>
       <function line='38' file='tree' name='xmlNewDoc'/>
-      <function line='73' file='tree' name='xmlNewDocNode'/>
+      <function line='39' file='tree' name='xmlNewDocNode'/>
       <function line='74' file='tree' name='xmlNewDocText'/>
-      <function line='88' file='tree' name='xmlNewProp'/>
+      <function line='65' file='tree' name='xmlNewProp'/>
       <function line='95' file='tree' name='xmlSaveFormatFileEnc'/>
     </uses>
   </example>
@@ -340,16 +340,16 @@
     <uses>
       <enum line='229' file='tree' name='XML_ELEMENT_NODE'/>
       <enum line='217' file='tree' name='XML_NAMESPACE_DECL'/>
-      <variable line='193' file='globals' name='xmlFree'/>
+      <variable line='173' file='globals' name='xmlFree'/>
       <function line='39' file='parser' name='xmlInitParser'/>
       <typedef line='206' file='tree' name='xmlNodePtr'/>
       <typedef line='218' file='tree' name='xmlNsPtr'/>
       <function line='94' file='parser' name='xmlParseFile'/>
-      <function line='180' file='xmlstring' name='xmlStrchr'/>
+      <function line='170' file='xmlstring' name='xmlStrchr'/>
       <function line='156' file='xmlstring' name='xmlStrdup'/>
       <typedef line='87' file='xpath' name='xmlXPathContextPtr'/>
       <function line='117' file='xpath' name='xmlXPathEvalExpression'/>
-      <function line='130' file='xpath' name='xmlXPathFreeContext'/>
+      <function line='111' file='xpath' name='xmlXPathFreeContext'/>
       <function line='129' file='xpath' name='xmlXPathFreeObject'/>
       <function line='101' file='xpath' name='xmlXPathNewContext'/>
       <typedef line='88' file='xpath' name='xmlXPathObjectPtr'/>
@@ -378,7 +378,7 @@
       <function line='95' file='parser' name='xmlParseFile'/>
       <typedef line='87' file='xpath' name='xmlXPathContextPtr'/>
       <function line='110' file='xpath' name='xmlXPathEvalExpression'/>
-      <function line='124' file='xpath' name='xmlXPathFreeContext'/>
+      <function line='113' file='xpath' name='xmlXPathFreeContext'/>
       <function line='123' file='xpath' name='xmlXPathFreeObject'/>
       <function line='102' file='xpath' name='xmlXPathNewContext'/>
       <typedef line='88' file='xpath' name='xmlXPathObjectPtr'/>
diff --git a/doc/examples/index.html b/doc/examples/index.html
index 3f45687d..ff7b1cd3 100644
--- a/doc/examples/index.html
+++ b/doc/examples/index.html
@@ -204,7 +204,7 @@ install</i> step or when installing the libxml2 development package:</p>
       <li> line 45: Type <a 
href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlParserCtxtPtr";>xmlParserCtxtPtr</a>
 from tree.h</li>
       <li> line 47: Type <a 
href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlDocPtr";>xmlDocPtr</a> from 
tree.h</li>
       <li> line 67: Function <a 
href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-parser.html#xmlCreatePushParserCtxt";>xmlCreatePushParserCtxt</a>
 from parser.h</li>
-      <li> line 86: Function <a 
href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-parser.html#xmlParseChunk";>xmlParseChunk</a>
 from parser.h</li>
+      <li> line 80: Function <a 
href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-parser.html#xmlParseChunk";>xmlParseChunk</a>
 from parser.h</li>
       <li> line 94: Function <a 
href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-parser.html#xmlFreeParserCtxt";>xmlFreeParserCtxt</a>
 from parser.h</li>
       <li> line 103: Function <a 
href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlFreeDoc";>xmlFreeDoc</a> from 
tree.h</li>
       <li> line 120: Macro <a 
href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlversion.html#LIBXML_TEST_VERSION";>LIBXML_TEST_VERSION</a>
 from xmlversion.h</li>
@@ -248,13 +248,13 @@ install</i> step or when installing the libxml2 development package:</p>
     <p>Uses:</p>
     <ul>
       <li> line 38: Function <a 
href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlNewDoc";>xmlNewDoc</a> from 
tree.h</li>
+      <li> line 39: Function <a 
href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlNewDocNode";>xmlNewDocNode</a> 
from tree.h</li>
       <li> line 40: Function <a 
href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlDocSetRootElement";>xmlDocSetRootElement</a>
 from tree.h</li>
       <li> line 45: Function <a 
href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlCreateIntSubset";>xmlCreateIntSubset</a>
 from tree.h</li>
-      <li> line 73: Function <a 
href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlNewDocNode";>xmlNewDocNode</a> 
from tree.h</li>
+      <li> line 51: Function <a 
href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlNewChild";>xmlNewChild</a> 
from tree.h</li>
+      <li> line 65: Function <a 
href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlNewProp";>xmlNewProp</a> from 
tree.h</li>
       <li> line 74: Function <a 
href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlNewDocText";>xmlNewDocText</a> 
from tree.h</li>
-      <li> line 77: Function <a 
href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlAddChild";>xmlAddChild</a> 
from tree.h</li>
-      <li> line 87: Function <a 
href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlNewChild";>xmlNewChild</a> 
from tree.h</li>
-      <li> line 88: Function <a 
href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlNewProp";>xmlNewProp</a> from 
tree.h</li>
+      <li> line 76: Function <a 
href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlAddChild";>xmlAddChild</a> 
from tree.h</li>
       <li> line 95: Function <a 
href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlSaveFormatFileEnc";>xmlSaveFormatFileEnc</a>
 from tree.h</li>
     </ul>
     <p>Usage:</p>
@@ -285,11 +285,11 @@ install</i> step or when installing the libxml2 development package:</p>
       <li> line 88: Type <a 
href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xpath.html#xmlXPathObjectPtr";>xmlXPathObjectPtr</a>
 from xpath.h</li>
       <li> line 94: Function <a 
href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-parser.html#xmlParseFile";>xmlParseFile</a> 
from parser.h</li>
       <li> line 101: Function <a 
href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xpath.html#xmlXPathNewContext";>xmlXPathNewContext</a>
 from xpath.h</li>
+      <li> line 111: Function <a 
href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xpath.html#xmlXPathFreeContext";>xmlXPathFreeContext</a>
 from xpath.h</li>
       <li> line 117: Function <a 
href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xpath.html#xmlXPathEvalExpression";>xmlXPathEvalExpression</a>
 from xpath.h</li>
       <li> line 129: Function <a 
href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xpath.html#xmlXPathFreeObject";>xmlXPathFreeObject</a>
 from xpath.h</li>
-      <li> line 130: Function <a 
href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xpath.html#xmlXPathFreeContext";>xmlXPathFreeContext</a>
 from xpath.h</li>
       <li> line 156: Function <a 
href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlstring.html#xmlStrdup";>xmlStrdup</a> 
from xmlstring.h</li>
-      <li> line 180: Function <a 
href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlstring.html#xmlStrchr";>xmlStrchr</a> 
from xmlstring.h</li>
+      <li> line 170: Function <a 
href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlstring.html#xmlStrchr";>xmlStrchr</a> 
from xmlstring.h</li>
       <li> line 186: Function <a 
href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xpathInternals.html#xmlXPathRegisterNs";>xmlXPathRegisterNs</a>
 from xpathInternals.h</li>
       <li> line 206: Type <a 
href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlNodePtr";>xmlNodePtr</a> from 
tree.h</li>
       <li> line 218: Type <a 
href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlNsPtr";>xmlNsPtr</a> from 
tree.h</li>
@@ -322,8 +322,8 @@ install</i> step or when installing the libxml2 development package:</p>
       <li> line 95: Function <a 
href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-parser.html#xmlParseFile";>xmlParseFile</a> 
from parser.h</li>
       <li> line 102: Function <a 
href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xpath.html#xmlXPathNewContext";>xmlXPathNewContext</a>
 from xpath.h</li>
       <li> line 110: Function <a 
href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xpath.html#xmlXPathEvalExpression";>xmlXPathEvalExpression</a>
 from xpath.h</li>
+      <li> line 113: Function <a 
href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xpath.html#xmlXPathFreeContext";>xmlXPathFreeContext</a>
 from xpath.h</li>
       <li> line 123: Function <a 
href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xpath.html#xmlXPathFreeObject";>xmlXPathFreeObject</a>
 from xpath.h</li>
-      <li> line 124: Function <a 
href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xpath.html#xmlXPathFreeContext";>xmlXPathFreeContext</a>
 from xpath.h</li>
       <li> line 127: Function <a 
href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlDocDump";>xmlDocDump</a> from 
tree.h</li>
       <li> line 162: Function <a 
href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlNodeSetContent";>xmlNodeSetContent</a>
 from tree.h</li>
     </ul>
@@ -350,7 +350,7 @@ install</i> step or when installing the libxml2 development package:</p>
       <li> line 44: Function <a 
href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlstring.html#xmlStrlen";>xmlStrlen</a> 
from xmlstring.h</li>
       <li> line 59: Type <a 
href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlreader.html#xmlTextReaderPtr";>xmlTextReaderPtr</a>
 from xmlreader.h</li>
       <li> line 62: Function <a 
href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlreader.html#xmlReaderForFile";>xmlReaderForFile</a>
 from xmlreader.h</li>
-      <li> line 67: Function <a 
href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlreader.html#xmlTextReaderRead";>xmlTextReaderRead</a>
 from xmlreader.h</li>
+      <li> line 64: Function <a 
href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlreader.html#xmlTextReaderRead";>xmlTextReaderRead</a>
 from xmlreader.h</li>
       <li> line 69: Function <a 
href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlreader.html#xmlFreeTextReader";>xmlFreeTextReader</a>
 from xmlreader.h</li>
       <li> line 89: Macro <a 
href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlversion.html#LIBXML_TEST_VERSION";>LIBXML_TEST_VERSION</a>
 from xmlversion.h</li>
       <li> line 94: Function <a 
href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-parser.html#xmlCleanupParser";>xmlCleanupParser</a>
 from parser.h</li>
@@ -378,7 +378,7 @@ install</i> step or when installing the libxml2 development package:</p>
       <li> line 45: Function <a 
href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlstring.html#xmlStrlen";>xmlStrlen</a> 
from xmlstring.h</li>
       <li> line 60: Type <a 
href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlreader.html#xmlTextReaderPtr";>xmlTextReaderPtr</a>
 from xmlreader.h</li>
       <li> line 68: Function <a 
href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlreader.html#xmlReaderForFile";>xmlReaderForFile</a>
 from xmlreader.h</li>
-      <li> line 76: Function <a 
href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlreader.html#xmlTextReaderRead";>xmlTextReaderRead</a>
 from xmlreader.h</li>
+      <li> line 73: Function <a 
href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlreader.html#xmlTextReaderRead";>xmlTextReaderRead</a>
 from xmlreader.h</li>
       <li> line 81: Function <a 
href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlreader.html#xmlTextReaderIsValid";>xmlTextReaderIsValid</a>
 from xmlreader.h</li>
       <li> line 84: Function <a 
href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlreader.html#xmlFreeTextReader";>xmlFreeTextReader</a>
 from xmlreader.h</li>
     </ul>
@@ -398,9 +398,9 @@ install</i> step or when installing the libxml2 development package:</p>
       <li> line 32: Type <a 
href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlreader.html#xmlTextReaderPtr";>xmlTextReaderPtr</a>
 from xmlreader.h</li>
       <li> line 38: Function <a 
href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlreader.html#xmlReaderForFile";>xmlReaderForFile</a>
 from xmlreader.h</li>
       <li> line 43: Function <a 
href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlreader.html#xmlTextReaderPreservePattern";>xmlTextReaderPreservePattern</a>
 from xmlreader.h</li>
-      <li> line 52: Function <a 
href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlreader.html#xmlTextReaderRead";>xmlTextReaderRead</a>
 from xmlreader.h</li>
+      <li> line 50: Function <a 
href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlreader.html#xmlTextReaderRead";>xmlTextReaderRead</a>
 from xmlreader.h</li>
+      <li> line 56: Function <a 
href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlreader.html#xmlFreeTextReader";>xmlFreeTextReader</a>
 from xmlreader.h</li>
       <li> line 62: Function <a 
href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlreader.html#xmlTextReaderCurrentDoc";>xmlTextReaderCurrentDoc</a>
 from xmlreader.h</li>
-      <li> line 66: Function <a 
href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlreader.html#xmlFreeTextReader";>xmlFreeTextReader</a>
 from xmlreader.h</li>
       <li> line 96: Function <a 
href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlDocDump";>xmlDocDump</a> from 
tree.h</li>
     </ul>
     <p>Usage:</p>
@@ -416,11 +416,11 @@ install</i> step or when installing the libxml2 development package:</p>
     </ul>
     <p>Uses:</p>
     <ul>
-      <li> line 26: Function <a 
href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlreader.html#xmlTextReaderRead";>xmlTextReaderRead</a>
 from xmlreader.h</li>
+      <li> line 24: Function <a 
href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlreader.html#xmlTextReaderRead";>xmlTextReaderRead</a>
 from xmlreader.h</li>
+      <li> line 34: Function <a 
href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlreader.html#xmlTextReaderCurrentDoc";>xmlTextReaderCurrentDoc</a>
 from xmlreader.h</li>
       <li> line 54: Type <a 
href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlreader.html#xmlTextReaderPtr";>xmlTextReaderPtr</a>
 from xmlreader.h</li>
       <li> line 72: Function <a 
href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlreader.html#xmlReaderForFile";>xmlReaderForFile</a>
 from xmlreader.h</li>
       <li> line 83: Function <a 
href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlreader.html#xmlReaderNewFile";>xmlReaderNewFile</a>
 from xmlreader.h</li>
-      <li> line 97: Function <a 
href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlreader.html#xmlTextReaderCurrentDoc";>xmlTextReaderCurrentDoc</a>
 from xmlreader.h</li>
       <li> line 104: Function <a 
href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlreader.html#xmlFreeTextReader";>xmlFreeTextReader</a>
 from xmlreader.h</li>
     </ul>
     <p>Usage:</p>
@@ -440,30 +440,30 @@ install</i> step or when installing the libxml2 development package:</p>
     </ul>
     <p>Uses:</p>
     <ul>
+      <li> line 72: Type <a 
href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlwriter.html#xmlTextWriterPtr";>xmlTextWriterPtr</a>
 from xmlwriter.h</li>
       <li> line 76: Function <a 
href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlwriter.html#xmlNewTextWriterFilename";>xmlNewTextWriterFilename</a>
 from xmlwriter.h</li>
+      <li> line 85: Function <a 
href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlwriter.html#xmlTextWriterStartDocument";>xmlTextWriterStartDocument</a>
 from xmlwriter.h</li>
+      <li> line 94: Function <a 
href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlwriter.html#xmlTextWriterStartElement";>xmlTextWriterStartElement</a>
 from xmlwriter.h</li>
+      <li> line 107: Function <a 
href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlwriter.html#xmlTextWriterWriteComment";>xmlTextWriterWriteComment</a>
 from xmlwriter.h</li>
+      <li> line 124: Function <a 
href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlwriter.html#xmlTextWriterWriteAttribute";>xmlTextWriterWriteAttribute</a>
 from xmlwriter.h</li>
+      <li> line 143: Function <a 
href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlwriter.html#xmlTextWriterWriteFormatComment";>xmlTextWriterWriteFormatComment</a>
 from xmlwriter.h</li>
+      <li> line 162: Function <a 
href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlwriter.html#xmlTextWriterWriteFormatElement";>xmlTextWriterWriteFormatElement</a>
 from xmlwriter.h</li>
+      <li> line 181: Function <a 
href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlwriter.html#xmlTextWriterWriteElement";>xmlTextWriterWriteElement</a>
 from xmlwriter.h</li>
+      <li> line 200: Function <a 
href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlwriter.html#xmlTextWriterEndElement";>xmlTextWriterEndElement</a>
 from xmlwriter.h</li>
+      <li> line 320: Function <a 
href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlwriter.html#xmlTextWriterEndDocument";>xmlTextWriterEndDocument</a>
 from xmlwriter.h</li>
+      <li> line 327: Function <a 
href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlwriter.html#xmlFreeTextWriter";>xmlFreeTextWriter</a>
 from xmlwriter.h</li>
       <li> line 341: Type <a 
href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlBufferPtr";>xmlBufferPtr</a> 
from tree.h</li>
       <li> line 347: Function <a 
href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlBufferCreate";>xmlBufferCreate</a>
 from tree.h</li>
       <li> line 355: Function <a 
href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlwriter.html#xmlNewTextWriterMemory";>xmlNewTextWriterMemory</a>
 from xmlwriter.h</li>
       <li> line 613: Function <a 
href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlBufferFree";>xmlBufferFree</a> 
from tree.h</li>
       <li> line 632: Function <a 
href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlwriter.html#xmlNewTextWriterDoc";>xmlNewTextWriterDoc</a>
 from xmlwriter.h</li>
-      <li> line 878: Type <a 
href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlwriter.html#xmlTextWriterPtr";>xmlTextWriterPtr</a>
 from xmlwriter.h</li>
+      <li> line 863: Function <a 
href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlSaveFileEnc";>xmlSaveFileEnc</a>
 from tree.h</li>
       <li> line 880: Type <a 
href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlNodePtr";>xmlNodePtr</a> from 
tree.h</li>
       <li> line 885: Macro <a 
href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-parser.html#XML_DEFAULT_VERSION";>XML_DEFAULT_VERSION</a>
 from parser.h</li>
       <li> line 885: Function <a 
href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlNewDoc";>xmlNewDoc</a> from 
tree.h</li>
       <li> line 894: Function <a 
href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlNewDocNode";>xmlNewDocNode</a> 
from tree.h</li>
       <li> line 901: Function <a 
href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlDocSetRootElement";>xmlDocSetRootElement</a>
 from tree.h</li>
       <li> line 904: Function <a 
href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlwriter.html#xmlNewTextWriterTree";>xmlNewTextWriterTree</a>
 from xmlwriter.h</li>
-      <li> line 913: Function <a 
href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlwriter.html#xmlTextWriterStartDocument";>xmlTextWriterStartDocument</a>
 from xmlwriter.h</li>
-      <li> line 925: Function <a 
href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlwriter.html#xmlTextWriterWriteComment";>xmlTextWriterWriteComment</a>
 from xmlwriter.h</li>
-      <li> line 949: Function <a 
href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlwriter.html#xmlTextWriterWriteAttribute";>xmlTextWriterWriteAttribute</a>
 from xmlwriter.h</li>
-      <li> line 959: Function <a 
href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlwriter.html#xmlTextWriterWriteFormatComment";>xmlTextWriterWriteFormatComment</a>
 from xmlwriter.h</li>
-      <li> line 1073: Function <a 
href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlwriter.html#xmlTextWriterWriteFormatElement";>xmlTextWriterWriteFormatElement</a>
 from xmlwriter.h</li>
-      <li> line 1096: Function <a 
href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlwriter.html#xmlTextWriterStartElement";>xmlTextWriterStartElement</a>
 from xmlwriter.h</li>
-      <li> line 1103: Function <a 
href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlwriter.html#xmlTextWriterWriteElement";>xmlTextWriterWriteElement</a>
 from xmlwriter.h</li>
-      <li> line 1111: Function <a 
href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlwriter.html#xmlTextWriterEndElement";>xmlTextWriterEndElement</a>
 from xmlwriter.h</li>
-      <li> line 1121: Function <a 
href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlwriter.html#xmlTextWriterEndDocument";>xmlTextWriterEndDocument</a>
 from xmlwriter.h</li>
-      <li> line 1127: Function <a 
href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-xmlwriter.html#xmlFreeTextWriter";>xmlFreeTextWriter</a>
 from xmlwriter.h</li>
-      <li> line 1129: Function <a 
href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-tree.html#xmlSaveFileEnc";>xmlSaveFileEnc</a>
 from tree.h</li>
       <li> line 1151: Type <a 
href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-encoding.html#xmlCharEncodingHandlerPtr";>xmlCharEncodingHandlerPtr</a>
 from encoding.h</li>
       <li> line 1156: Function <a 
href="https://gnome.pages.gitlab.gnome.org/libxml2/devhelp/libxml2-encoding.html#xmlFindCharEncodingHandler";>xmlFindCharEncodingHandler</a>
 from encoding.h</li>
     </ul>


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]